Major Enhancements

#440927 (Bug #19894) P4V is now shipped with a command-line utility, P4VC. Customers working from the command-line can now request P4V components individually. Install P4VC in your path ( e.g. where your p4 executable lives ). To see what components are supported, type $ p4vc help commands in the command line. p4vc runs P4V as a service. If P4V is not yet running as a service, it will bootstrap P4V. It will find it in the path or in the expected directories on Mac and Windows and it will check the actual directory where P4VC resides.

#438210 Folder Diff supports post filtering of the results on file names and folder paths. Filters can be saved and stored as named filters to preferences.

#436908 P4Sandbox is integrated in P4V. P4Sandbox enables you to create and maintain private, local repositories. P4Sandbox replaces the P4V Offline functionality. From P4V customers can set up a local Sandbox server. When opening a connection to that local server, the gateway to the remote server will show up as a mirror Stream. That mirror stream can be used to integrate new data from the remote server to your local stream, or copy up your work from the local stream to the remote server, using the mirror Stream as your gateway. To read more about P4Sandbox, see check the documentation. ( http://www.perforce.com/perforce/r12.1/manuals/p4sandbox/p4sandbox.pdf )

#412281 New stream type 'virtual' is a stream with no physical files branched to the stream. Files are pulled from, and submitted to the first, non-virtual parent stream - based on the view of the virtual stream. This can greatly reduce the number of files branched when working with streams. P4V represents virtual streams in the stream graph, and supports merging and copying using virtual streams in the merge/copy dialog.

#381577 P4V allows the user to turn off functionality not being used. This will remove unnecessary clutter, and make the overall P4V experience simpler.

#374973 (Bug #44246, #14842) Users can now set preferences for double-click behavior on various objects in P4V. File objects can be further customized based on location (i.e. in pending changelist versus in depot tree, etc). These behaviors are set in the preferences dialog, under the double-click option.

#370630 P4V lets the user redefine the shortcut key combination for every command. This allows customers to modify the existing key-stroke combinations, or add key-stroke combinations for commands that currently do not have a shortcut key defined.

Minor Enhancements

#433408 (Bug #21002) Main window and several other windows in P4V now also display workspace name in the title bar.

#429874 (Bug #44197) Submit dialog reorganized a touch. All "options" now live under their own section of the dialog which can be shown or hidden via a disclosure triangle like the other sections. Also added an option to force submit to always send the local copies of the file (-t).

#425310 (Bug #21002) Added workspace name into most window title bars in P4V when user is connected with a workspace.

#423521 (Bug #53001) Auto update filter when user selects a value from a browse window.

#423094 (Bug #49644) Allow drag and drop of a file or folder anywhere in the filter section of a tab view. This will add a new path filter or replace the existing path filter.

#421714 (Bug #51134) ** Added support for the ServerID field in the Advanced tab of the workspace dialog.

#421296 (Bug #52608) ** Warn when syncing to head with StreamAtChange workspace, and provide option to sync to either changelist.

#421223 (Bug #52592) ** Pre-fill the changelist value in the "Get Revision" dialog when using a StreamAtChange client workspace.

#420879 (Bug #52170) Added locator function for P4Sandbox. Upon clicking Connection->Configure Sandbox..., if the p4sandbox-config binary is not found in the application directory, a prompt will appear to assist in locating it.

#420871 (Bug #52392, 52591) ** Added support for StreamAtChange field in the Workspace dialog. Support new checkbox behavior for "Switch to workspace" and "Get all revisions" when editing an existing workspace form.

#418930 (Bug #51788) The merge and copy dialogs now handle virtual streams. Streams that are related by one or more virtual streams are treated the same as those having a direct relationship, so that -P is not used when constructing the merge/copy command.

#413166 (Bug #51136) ** There is support for the new populate command which branches and submits files to a new branch. It will even work without a workspace. In 2011.1 P4V had to create a temp workspace, run p4 copy, and submit. It is done now in one command. There is a a new Stream preference which tells populate to integrate delete files. This will bloat the branch but is useful at some sites for merging purposes.

#408637 (Bug #51518) Remove Filter button from the bottom of the filter pane and filter on keystroke.

#407626 (Bug #18596, Bug #20858) Add ability to find files by date submitted. Allow specification of multiple file name parts in find file.

#407193 (Bug #42796) There is now a preference to stop prompting to get latest revision when attempting to check out an out of date file.

#407056 (Bug #51647) There is a new Stream preference for syncing your workspace after it is switched to a new stream. The preference is off by default. The sync was automatic in 2011.1, so users who enabled the switching in 2011.1 and want to continue with the auto-sync must enable this preference.

#392377 Revamped the Preference Dialog. The categories are now driven by a list instead of being presented as tabs. This allows us to control the size of the dialog, present the preferences in smaller pages, and improves both convenience and maintenance.

#386586 (Bug #40883, Bug #40884, Bug# 49406, Bug #50417 ) Files can be now reverted even if the have revision has been purged from the depot. A new dialog has been added to warn users of this case. This runs revert with the -k flag to revert the files in the server metadata, followed by sync -f to update these files in the workspace. The existing revert warning dialog now warns about all file changes, not just edit or integrate changes. It has also been updated to allow the user to select files for revert.

#381514 (Bug #48677) The files tab in the details area for submitted changelists and labels now shows a textual list of files/revisions instead of just listing a file count.

Bug Fixes

#437866 (Bug #53656) Similar to change 435065 [below] with similar urls. Add a warning dialog to appear when a new Perforce Sandbox connection is made. This warning can be suppressed by means of Preferences->Behavior->Prompts.

#435065 (Bug #53655) Improve About dialog for p4sandbox-config utility. Include active urls for sandbox demo's and pdf.

#434995 (Bug #51461) There's some edge cases in resolve where you can try to resolve files that aren't mapped, or get removed from the local filesystem underneath Perforce. When this happens, the resolve dialog previously still allowed you to try to resolve the dead files, which resulted in a crash. Now if the resolve dialog hits that state it disables the auto-resolve button.

#434937 (Bug #50524) Preserve "Current depot or workspace tree selection" file path filter when exiting and reconnecting P4V.

#433446 (Bug #53326) Show appropriate resolve and delete options on merge/copy dialogs based on which integ engine is configured and the current target client type (stream or classic). -Rx flags are shown when the integ engine is configured to use 3 or the target client is a stream client. The -Dt and -Ds delete options are hidden when the integ engine is configured to use 3, or the target client is a stream client.

#432144 (Bug #52043) ** Fixed crash when attempting to resolve a single file opened for branch/delete resolve. Also fixed the selection count label showing up in the interactive resolve mode incorrectly.

#431381 (Bug #53291) Integrate - hide irrelevant -Rx flags when server integrate engine < 3.

#426965 (Bug #53193) Updated the interchanges logic in the merge/copy dialogs to handle virtual streams. Streams that are related by a chain of one or more virtual streams are treated the same as those having a direct relationship, so that -P is not used when constructing the interchanges command.

#423874 (Bug #53111) ** Fixed crash in stream graph where you had a callout bubble open when changing which depot you filtered on for the graph.

#423283 (Bug #52272) Fixed filter not remembering stream type from previous session bug.

#423086 (Bug #50434) Fixed empty fields when editing a Special Entry in the Mapping View. Now the fields show the current values in the dialog.

#422255 (Bug #44892) Fixes bug where performing Ctrl + actions on a selected file within a submitted changelist window would result in the file order changing.

#420816 (Bug #52763) The source stream combo box on the merge/copy dialogs only contains the list of preferred source streams for the operation initially. When the user types a valid stream name in the field outside of this list, it is then appended to the list of preferred source streams.

#420815 (Bug #52350) Fixed integration bug where trying to branch or copy a remote depot path would result in a misleading error message.

#420500 (Bug #51665) Fixed integration so bidirectional only gets enabled when the source filtering path is common to the branch source and target views.

#418492 (Bug #49775) Prevent modal Preference Editor dialog from becoming a "sheet" on Mac.

#418103 (Bug #52755) The preferred source stream list in the merge dialog includes release type child streams of the target stream with flow enabled. In the copy dialog, the list includes dev type child streams of the target stream with flow enabled.

#415322 (Bug #52354) Fixed crash in resolve dialog when using "Select" drop-down in auto resolve mode and then having a failed to resolve files message dialog come up.

#415280 (Bug #51522) When adding new filters, scroll to the new row. When removing filters, keep the scrollbar at the current location.

#422255 (Bug #44892) Fixes bug where performing Ctrl + actions on a selected file within a submitted changelist window would result in the file order changing.

#420815 (Bug #52350) Fixed integration bug where trying to branch or copy a remote depot path would result in a misleading error message.

#420500 (Bug #51665) Fixed integration so bidirectional only gets enabled when the source filtering path is common to the branch source and target views.

#418492 (Bug #49775) Prevent modal Preference Editor dialog from becoming a "sheet" on Mac.

#418424 (Bug #35294) ** In the 2009.1 server, filelog's behavior was changed for following moves. This resulted in some weirdness in Timelapse View because annotate does not follow moves. So the data was getting intermingled weirdly. This change fixes Timelapse's filelog to not follow moves in the basic mode. If you still want moved file information, simply tell Timelapse to follow branch history (the branch/clock icon in TLV) and it will show all data.

#418113 (Bug #52593) Resolve correctly handles stepped resolves. This is when you run multiple integrates into a target file without resolving between each integrate. Previously, bad things could happen when running the merge tool against a resolve record in this situation (the content of the file may or may not end up being correct).

#418103 (Bug #52755) The preferred source stream list in the merge dialog includes release type child streams of the target stream with flow enabled. In the copy dialog, the list includes dev type child streams of the target stream with flow enabled.

#415322 (Bug #52354) Fixed crash in resolve dialog when using "Select" drop-down in auto resolve mode and then having a failed to resolve files message dialog come up.

#413995 (Bug #51172) ** %t custom tools (passes the selected stream to the tool) will now correctly show up in the context menu for stream nodes in the stream graph.

#413033 (Bug #52243) ** P4V will no longer ignore the filtering limit (be it label, revision, change, etc) when using the "Branch" command.

#412437 (Bug #49272) Fixed Ctrl-D issues when using Revision Graph window.

#412101 (Bug #43663, #47707) ** Against 12.1 or later servers, P4V will now correctly report the total number of files to be sync'd in the setup wizard, as well as when syncing multiple files/folders within P4V.

#412567 (Bug #47852) On Mac OS X 10.6 (Snow Leopard) and 10.7 (Lion), context menus did not show up when the active monitor was arranged on the Mac above the monitor hosting the global menu bar.

#412101 (Bug #43663, #47707) ** Against 12.1 or later servers, P4V will now correctly report the total number of files to be sync'd in the setup wizard, as well as when syncing multiple files/folders within P4V.

#410091 (Bug #52260, #52020, #46053) ** The Lion 'restore windows' feature for P4V, P4Merge, and P4Admin no longer kicks in, competing with the their implementation of the same feature.

#407522 (Bug #51823) Enhanced logic in merge/copy dialogs for constructing the commands when driving through the hedges.

#406153 (Bug #51437, #49875) One can now again take a workspace offline against a unicode-enabled streams server.

#402840 (Bug #51652) The description field in the small pending change dialog is now disabled when the default changelist is active..

#401113 (Bug #51536) Reduce height requirements of Resolve dialog to fit within 800 pixels.

#412567 (Bug #47852) On Mac OS X 10.6 (Snow Leopard) and 10.7 (Lion), context menus did not show up when the active monitor was arranged on the Mac above the monitor hosting the global menu bar.

#401063 (Bug #40950) When previewing integrate results, the target revision was erroneously being incremented when branching [importing] files from a remote depot.

#396373 (Bug #40452, #40431) Fixed selecting fonts problems on the Mac, also improved Preferences Dialog performance issues on the Mac.

#381608 (Bug #50637) Fixed error message that shows when deleting the current workspace.

#377580 (Bug #45547) Validate owner field when saving form in workspace dialog.

#376065 (Bug #48839) List "Current Workspace" selection in workspaces and pending and submitted changelist when user connects without workspace and then selects a workspace.