Release Notes for P4VS, the Perforce Plugin for Visual Studio Version 2013.1 Introduction This document lists all user-visible changes in P4VS release 2013.1. Perforce numbers releases YYYY.R/CCCCC, e.g. 2002.2/30547. YYYY is the year; R is the release of that year; CCCCC is the bug fix change level. Each bug fix in these release notes is marked by its change number. Any build includes (1) all bug fixes of all previous releases and (2) all bug fixes of the current release up to the bug fix change level. -------------------------------------------------------------------------- Compatibility Statements Server Compatibility You can use this release of P4VS with any release of the Perforce server later than 2008.1 Platform Compatibility P4VS is certified on the following platforms: Windows Vista, 7, 8, 2008 Intel Visual Studio Compatibility P4VS supports: Visual Studio 2008, Visual Studio 2010, Visual Studio 2012 Compatibility with Previous Releases Unless otherwise stated below, the 2013.1 release of P4VS is compatible with previous releases from Perforce Software. Installation After installing (with p4vs.exe for Visual Studio 2008 or p4vs.vsix for Visual Studio 2010), confirm that P4VS is the current source control plug-in by navigating to Tools -> Options -> Source Control -> Plug-in Selection and make sure that P4VS - Perforce Plugin for Visual Studio is the selection in the drop down on that options page. In Visual Studio 2010, if the plug-in does not appear in the drop down, confirm that it is enabled by checking the list of Installed Extensions in Tools -> Extension Manager. To uninstall P4VS from Visual Studio 2008, use the Windows installer (p4vs.exe) or the Windows Control Panel. For Visual Studio 2010 and later, uninstall from within Visual Studio via Tools -> Extension Manager. Select the P4VS extension in the list of installed extensions and click the Uninstall button. Silent installation from the command line: Visual Studio 2008 \p4vs.exe /S /v/qn Visual Studio 2010 "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ VSIXInstaller.exe" /q \p4vs10.vsix Visual Studio 2012 "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ VSIXInstaller.exe" /q \p4vs11.vsix Migration from P4SCC Directions for migrating existing projects with bindings to Perforce through P4SCC can be found on the Perforce web site: http://www.perforce.com/perforce/doc.current/user/p4vs_p4scc_migration.txt P4VS User's Guide http://www.perforce.com/perforce/doc.current/manuals/p4vs/p4vs.pdf http://www.perforce.com/perforce/doc.current/manuals/p4vs/index.html Known Limitations Integration functionality is limited to merge and copy while working in a Streams workspace. Performance issues may occur when connecting to a locally hosted server and using localhost in the server field for the connection. To avoid this, use the IP address of the machine or 127.0.0.1 instead. If a 2012.1 Beta version of P4VS for Visual Studio 2008 has been installed, the Visual Studio resources cache must be cleared in order to get updated menu and icon items in a new install. To clear the cache, find and delete any instance of the file devenv.CTM. This is a hidden file, so it may be necessary to enable showing hidden files on your Windows installation. If when opening a P4VS options page, the message "An error occurred loading this property page" appears, Cancel out of the options pages and bring them up again to restore the page. If connecting to a unicode Perforce server, the Arial Unicode Microsoft font must be installed in order to properly display all unicode characters in P4VS. Opening a new project when a current solution is opened and unsaved may result in an "Error closing solution" error message if the "Save as..." prompt is canceled. The new project will not be opened. To open a new project and not save the currently opened solution, close the solution via File -> Close Solution and select "No" when prompted to save. OpenSSL This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) This product includes software and cryptographic software written by Eric Young (eay@cryptsoft.com). This product includes software written by Tim Hudson (tjh@cryptsoft.com). http://www.openssl.org/source/license.html -------------------------------------------------------------------------- Key to symbols used in change notes below. * -- requires new P4VS ** -- requires new p4d server program -------------------------------------------------------------------------- New functionality in 2013.1 #586163 (Bug #58532) * P4VS now presents a dialog when a command is taking a long time to complete, giving the user an opportunity to cancel the command. #579064 (Bug #57132, #58433) * P4VS now does solution explorer updates in the background and groups those updates in chunks of 100 files, only notifying Visual Studio to update glyphs for files that have had a status change. #560545 (Bug #61470) * P4VS dialogs now have a specific icon for pending changelists, submitted changelists, and workspaces. #559345 (Bug #53611) * Streams depots now have a different icon than local depots. #558487 (Bug #58146, #61590) * Tool Windows now keep the 10 most recent entries for filter fields (keywords, path, user, workspace, etc). #556575 (Bug #61588) * When renaming a file and selecting an existing changelist, the description for that changelist will no longer be overwritten. #556575 (Bug #53640, #57734) * Archive, remote, and spec depots are no longer shown in the solution/project browser. #555733 (Bug #55829) * The Workspace column in the Workspaces tool window is now wider by default. #552906 (Bug #48923) * ** P4VS now has extended support for P4IGNORE, allowing users to add and remove files from an ignore list and to edit an ignore list directly from the IDE. #552137 (Bug #52012) * Shelved files can now be viewed in a viewer dialog or in a tab in Visual Studio. #547711 (Bug #53853) * There is now an option to have the "New Project" location match the current workspace root. This option is on by default.. #544626 (Bug #50204, #58228) * When opening a solution or project in a Perforce depot, the tree view can now be filtered by workspace view and does not show deleted files. #542681 (Bug #50197, #59326) * "Diff Against Have Revision" is now available in the Pending Changelist dialog and Pending Changelist tool window. #541860 (Bug #53852) * Files under pending changelists now have a "Resolve..." context menu. #541118 (Bug #56534) * "Open Solution in Perforce Depot..." is now "Open Solution/Project in Perforce Depot...". #533786 (Bug #53619, #60371, #60372) * Double-clicking on an item in a list browser (users, jobs, workspaces, changelists) will now select that item and close the browser. #532064 (Bug #60324) * "Move to Another Changelist..." has been added to the solution explorer context menu and the P4VS toolbar. #529700 (Bug #53485) * When browsing for a changelist from the Diff Against dialog, the changelists are initially filtered by the file being diffed. #501642 (Bug #57444) * P4VS now has support for internationalization. -------------------------------------------------------------------------- Bugs fixed in 2013.1 #621188 (Bug #64362) * P4VS now correctly iterates through the list of files being edited to determine if they need to be checked out. #588527 (Bug #63268) * P4VS now respects the setting for "Number of changelists or jobs to fetch at a time" on initial tool window load. It would previously fetch 100 on initial load and only fetch the specified amount when the filter button was clicked. #587099 (Bug #53332) * A revert of a rename/move involving files in folders will now re-add the related file to the project underneath its original folder location rather than the project root. #586742 (Bug #63130) * P4VS will no longer attempt to add files to a changelist that differ only in case (e.g. File, file). Only one of these files can exist locally on a Windows client machine. #579169 (Bug #62679) * P4VS no longer crashes when moving all files under a project from the default pending changelist to a numbered changelist. #573523 (Bug #61951) * P4VS no longer crashes when loosing server connection. #565542 (Bug #61950, #61781) * The load and filtering of the Jobs tool window will no longer result in a crash due to a multi-threading exception. #560657 (Bug #61673) * P4VS11 now uses a P4VS11-specific icon for general dialogs. #560570 (Bug #61694) * When attaching jobs to the default changelist, the change is now saved as a numbered changelist and then the related fixes are applied. This will avoid any conflicts with change-submit triggers that may be in place. #558057 (Bug #58327) * All dialogs can be canceled with ESC and Enter will cause the same effect as an OK or YES button, unless the current focus is a textbox that accepts returns. #557034 (Bug #61238) * Depot Browser will remain visible after an invalid solution or project is attempted to be selected. #552313 (Bug #59866) * "Prompt for changelist..." preference is now correctly persisted. #551855 (Bug #56327) * P4VS now checks to see if a saved dialog position is visible. #547193 (Bug #60863) * Submitted, Accessed, and Updated times are now properly converted to show the time in local format. #547193 (Bug #61179) * History tool window and Edit Changelist dialog now respect the date preference setting. #541286 (Bug #49588) * Files are now removed when synced to revision #0. #540997 (Bug #60808) * P4MERGE now properly assigns "source" and "target" when called from P4VS. #539778 (Bug #60587) * The submit option in the submit dialog is now initialized correctly based on the submit option set in the currently connected workspace. #538750 (Bug #57063) * Date/time format parsing has been improved to better handle multiple locale formats. #538698 (Bug #56752) * An error message is now shown if Additional Actions -> Open File -> Merged is selected in the Resolve dialog and no merged file exists.. #538432 (Bug #60536) * Workspace viewmap editing is disabled if a stream root exists in the Workspace editor form. #535567 (Bug #58537) * Canceling edit of read-only file now properly cancels the edit, rather than allowing the file to be edited in memory. #535396 (Bug #58531) * Timeout error dialog is now set to be topmost. #535334 (Bug #60472) * Submit of numbered pending changelist now properly refreshes the pending changelists tool window. #535169 (Bug #54130) * The server connection lost error message now properly displays the related server address. #534620 (Bug #56616) * Revision history for Target in the Resolve dialog has been resized to better fit the window. #533858 (Bug #60375) * P4VS no longer crashes when attempting to sort File History by clicking column headers. #533786 (Bug #60374) * The Diff Against dialog will now remain visible when browsing for a workspace and clicking the OK button when no workspace has been selected. #533782 (Bug #60051) * Filter button is no longer cut off in the Workspaces tool window. #530808 (Bug #58361) * The tab traversal in the connection dialog is now in the correct order. #528761 (Bug #59545) * a non-functional [?] button has been removed from the New Workspace dialog. -------------------------------------------------------------------------- New functionality in 2012.2 #527055 (Bug #59977) * The command timeout has been increased to 30 seconds. #525100 (Bug #59040) * P4VS now contains a option for automatically adding new files to Perforce. #517704 (Bug #57444) * P4VS now supports internationalization. #507279 (Bug #50226) * Tool Window lists can now be sorted by clicking on the column headers. #503752 (Bug #49455) * Perforce commands are now clearly labeled in the Keyboard Customization preference in Visual Studio for assigning hot keys. #503030 (Bug #58028) * Double clicking on a file in the Pending Changelists tool Window will open that file in the Visual Studio editor if the file exists locally. #501411 (Bug #56779) * P4VS now supports diffing of file revisions in the History tool window via drag and drop of one revision on another. #501223 (Bug #55249) * Perforce menu items are now accessible from on the document tabs in Visual Studio. #463760 (Bug #55345) * P4VS now supports Visual Studio 2012 (version 11). -------------------------------------------------------------------------- Bugs fixed in 2012.2 #544093 (Bug #60020) * The Open Connection dialog is now correctly displayed when opening a tagged project with the "Tag project and solution files as controlled by P4VS" option set. #525095 (Bug #59398) * The Jobs tool window now clears the list of jobs when there are no jobs to display based on the keywords entered in the filter. #525095 (Bug #59344) * The Jobs tool window no longer returns an index error when filtering on a space in the Folder/file field. #521319 (Bug #59556) * Files marked for move/delete are now checked in the submit dialog along with the related move/add file when Submit... is clicked on a file in the solution explorer on a file that is marked for move/add. #519141 (Bug #59437) * The changelist description for moved files no longer contains "\n\n" text between the files names. #518697 (Bug #59339) * "Create Workspace From" menu option now correctly creates a new workspace from a template of the selected workspace in the Workspaces tool window. #517647 (Bug #59329) * Diff no longer uses the preferences saved for the merge tool. #515341 (Bug #51554) * The connection dialog now allows users to set passwords when connecting to a security level 3 server. #511709 (Bug #56279) * P4VS no longer displays an erroneous "None of the selected files could be submitted" error on "Mark for add" immediately followed by "Submit..." on a solution file. #509930 (Bug #58842, #56341) * P4VS no longer returns an "Empty string..." error on "Get Latest Revision" when the selection of solution is out of date. #509802 (Bug #57719) * P4VS no longer displays an empty resolve dialog when there are no files to resolve. #509643 (Bug #56579) * P4VS no longer incorrectly detects that a solution is not in the client root when using .p4config and p4broker. #509392 (Bug #57666) * Solution explorer glyphs are now properly refreshed after a "Mark for add" on a solution then "Revert" on a project under that solution. #509313 (Bug #50201) * "Get Revision" is no longer allowed on a nonexistent revision. #509228 (Bug #56394) * Connection dialog no longer passes an invalid user name with the commands for browsing or creating a new user. #509221 (Bug #54181) * Get Revision button in the Get Revision dialog is no longer enabled if there are no files in the file list. #509221 (Bug #54102) * Get Revision button in the Get Revision dialog is no longer enabled if there is no revision specifier in the revision specifier field. #509102 (Bug #54928) * When moving files between changelists, if a file is a move/add or move/delete, P4VS will move both files in the move/add/delete pair to help prevent future submit errors. #509099 (Bug #54971) * P4VS no longer returns an error message when canceling workspace creation of a workspace with a bad view mapping. #509097 (Bug #56539) * Browse button for workspace in the connection dialog no longer displays an error if an invalid workspace is in the workspace field. #508877 (Bug #58289) * The revert warning dialog no longer lists all files in the changelist when revert is clicked on a single file under that changelist in the Pending Changelists tool window. #508821 (Bug #58618) * P4VS no longer runs excessive fstats on project load. #508821 (Bug #58903) * P4VS no longer does excessive fstats on certain keypresses when ReSharper is installed. #507901 (Bug #55043) * the P4VS log file is now written to in the new location after it is changed in Tools -> Options -> Source Control -> Perforce- Logging. #507410 (Bug #58135) * Multiple Global Selection lines created by tag option no longer triggers Visual Studio errors. #504674 (Bug #57716) * The Copy dialog no longer disappears after clicking the Preview button. #504672 (Bug #57874) * The pending changelist dialog is now properly refreshed when a shelved file in the changelist is deleted. #504349 (Bug #54009) * Attribute resolves can now be selected in the resolve dialog regardless of whether or not the file's content resolve has been completed. #504237 (Bug #57873) * Shelved files in the pending changelist dialog are no longer shown with backslashes in their depot paths. #501950 (Bug #57733) * The Workspaces tool window no longer uses the -E flag for filtering workspaces on the "name contains:" field when connected to a server that is older than 2011.1. #500521 (Bug #58486) * P4VS now correctly saves display format for date/time. #500521 (Bug #58424) * Numerical fields in the Jobs tool window are no longer converted to date/time format. #500521 (Bug #58421) * Values in columns in the Jobs tool window no longer shift to the left when a field is empty. #500521 (Bug #56282) * Change and Status fields in the Pending Changelists tool window now display "default" for the default pending changelist rather than "new". -------------------------------------------------------------------------- New functionality in 2012.1 # 452729 * Initial release of P4VS -------------------------------------------------------------------------- Bugs fixed in 2012.1 #502802 (Bug #58238) * P4VS no longer repeatedly prompts for login when logged out of a server with an auth-check trigger in place. #501404 (Bug #58250) * P4VS no longer causes Visual Studio to become unresponsive due to a timeout during a resolve involving a manual merge. #496842 (Bug #56646) * When diffing a file under a pending changelist P4VS no longer incorrectly shows a "Files are identical" message for diffs against workspace version on local disk. #483357 (Bug #54789) * Parent stream is no longer listed as a preferred source in the Merge to Stream dialog when using a development stream with the options set to nofromparent. #483357 (Bug #54785) * Parent stream is no longer listed as a preferred source in the Copy to Stream dialog when using a release stream with the options set to nofromparent and development stream children are now listed as preferred source streams. #483081 (Bug #56653) * The prompt for checkout now has an "Apply to all" checkbox to automatically perform the same action on subsequent files. #483081 (Bug #56400) * Visual Studio no longer hangs when a Perforce operation is performed in the IDE and the server db tables are locked. #481329 (Bug #56847) * Files can now be marked for add when using a null rooted client. #480940 (Bug #55909) * Perforce menu items now have icons next to them. #479892 (Bug #56275) * Menu items have been added to allow Checkout of all in solution or project, or only Checkout of the solution or project file. #479005 (Bug #55899) * The majority of the Perforce context menu items have been placed in 4 submenus (Manage Files, Revisions, Diff, and Views). #478475 (Bug #55832) * A P4VS toolbar has been implemented with icons for the buttons. Buttons are enabled when the related action is applicable to the item in Visual Studio with focus. All buttons are enabled when a project or solution is selected. #477389 (Bug #56661) * Visual Studio no longer crashes when attempting to open a merged file from the resolve dialog when P4Merge is not installed. #477389 (Bug #56654) * There is now an option to tag project and solution files as controlled by P4VS. This option is off by default. #477389 (Bug #56030) * P4VS no longer returns an "Index was out of range" error when attempting to launch Revision Graph on a solution that is not in the depot. #477389 (Bug #52943) * The left and right arrow keys now expand and collapse changelist items in the Pending Changelists and Submitted Changelists tool windows. #476701 (Bug #56155) * There is now an option to cancel a Perforce delete in the select changelist dialog when a file has been excluded from a project. #476701 (Bug #53262) * P4VS now automatically approves project files for in memory edit to avoid automatic check out of project files on load of solution. #475993 (Bug #55539) * Connection information in the Connection dialog will override the preference to use environment settings when the Connection dialog is opened from the Visual Studio File menu. #475333 (Bug #51167) * During login, a message is passed on to the user if sso validation has failed. #474452 (Bug #56235) * Visual Studio no longer hangs when context clicking consecutive times in the Pending Changelists tool window. #472527 (Bug #56287) * Workspaces with null roots are now usable with P4VS. #472527 (Bug #56025) * The Open Connection dialog now correctly passes the entered connection information when connection options are set to "Show the Perforce Connection dialog". #470186 (Bug #56291) * Visual Studio no longer crashes when context clicking white space in the Submitted Changelists tool window. #469311 (Bug #56292) * Visual Studio no longer crashes when refreshing a job item with no connection. #467882 (Bug #56238) * Ctrl-A now selects full description text in the Pending Changelist dialog when focus is in that text box. #467493 (Bug #55792) * During connection, if the workspace root does not exist, P4VS now gives the user the option to create it. #467105 (Bug #56130) * Submit of a rename no longer fails when using the default pending changelist. #467105 (Bug #56029) * P4VS no longer returns an "Unexpected API error when attempting to launch Stream Graph on a solution that is not in the depot. #467105 (Bug #55979) * Sandbox can now be configured for a Unicode server. #467105 (Bug #55836) * The Submit button is now disabled when no files are selected in the Submit dialog. #466508 (Bug #55830) * The splitter controls on Perforce tool windows are now more visible. #465292 (Bug #54841) * The "OK" and "Cancel" buttons have been changed on several dialogs to match Windows UI standards. #464944 (Bug #56109) * When submit is invoked from the Solution Explorer only the files that were selected in the Solution Explorer are checked in the Submit dialog. #461459 (Bug #53644) * When a file is renamed or moved and the server is at version 2009.2 or later, the file is checked out automatically for the Perforce move command if it had not been checked out already. #461448 (Bug #55949) * Solution and project files can now be controlled without being checked into the depot. #460845 (Bug #55804) * P4VS no longer crashes on revert of a rename or move. #460193 (Bug #55948) * Character encoding is now set based on the current codepage on the user's system. #459513 (Bug #54086) * The "Merge binary files as text..." option in the Resolve dialog now stays checked if it is checked and the "Set as Auto Default" button is clicked. #459420 (Bug #55813) * Redundant commands are no longer run when the selected changelist in the Pending Changelists Tool Window is expanded. #459148 (Bug #55798) * Diff Against... now works correctly when set to perform the same diff operation as Diff Against Have Revision. #459148 (Bug #55267) * Redundant commands are no longer run when the selected changelist in the Pending Changelists Tool Window changes. #458874 (Bug #53627) * Check-out icon now shows on file in solution explorer when the file is automatically checked out. #458874 (Bug #55193) * Automatic check-outs no longer fail due to the solution not being registered as under Perforce source control. #457939 (Bug #54163) * The Submit dialog now has a control to select/deselect all files in the changelist. #457890 (Bug #54863) * Changelists containing files that are reverted during an unshelve operation are now properly refreshed. #457837 (Bug #55783) * P4VS no longer crashes on creation of a new project. #457686 (Bug #53295) * Tool Window filters are now populated with user and workspace values from current connection. #457561 (Bug #54628) * The fstat command is not longer run twice when operating on a file in the solution explorer. #456805 (Bug #53621) * P4VS now checks for a valid client root and notifies the user if that root path does not exist. #456736 (Bug #54190) * The History Tool Window no longer displays '-1' for File Size for deleted revisions. #456636 (Bug #54087) * Information dialogs can no longer be minimized. #456604 (Bug #53296, #54121) * Tool Window filters are now updated with user and workspace values when connection changes. #456503 (Bug #54194) * Clearing a field while editing a workspace no longer causes column data in the Workspaces Tool Window to shift over. #456382 (Bug #54174) * The Submitted Changelists Tool Window will no longer display an empty context menu on file items with no actions available. #456197 (Bug #54075) * Jobs can now be multi-selected in the Jobs Tool Window and Jobs browser. #455432 (Bug #55026) * P4VS no longer opens and closes connections to the Perforce server for each command run. --------------------------------------------------------------------------