Release Notes
11.0.16.7274: Aug 04 2022
All platforms - PlasticX: Auto-refresh Sync to Cloud view after opening
In Plastic X, when selecting "Sync to Cloud" view, the view was not refreshed. Now it's automatically done, helping to improve the workflow.
All platforms - PlasticX, GluonX: Removed Plastic SCM prefix from release name
All Plastic releases have a release name, which is a song name and the artist. This name can be seen in the about window.
A few releases back we added a "Plastic SCM" prefix before this name. We removed it, so now you see just the name as before.

All platforms - PlasticX: Improved history view
We re-wrote the history view from scratch. The new history view has the following features:
* Improved the revision list layout. Now it optimizes the horizontal space. We also display the avatar for the revision creator (note that it displays the Gravatar image when the username is an email).
* Setup a new panel that allows displaying diffs/annotate for the selected revision.
* Support history for text, image, binary, and directories revisions.
* Note that in this version of the history view, we display the changeset comment for the moved and removed revisions (previously the comment was not displayed).
* We also improved the way we display the changeset comments in the details panel. Long comments are split in two chunks, and the second chunk can be expanded/collapsed.
See it in action:

And now for images:

Note that you can still use the legacy history view by setting up the following setting in the plasticgui.conf file, placed in the user config folder:
UseLegacyHistoryView=True
All platforms - PlasticX: Added Merge options
We brought back this feature from the legacy GUI to PlasticX
This feature will allow PlasticX users to define merge options for each merge:
*Merge from both contributors, or only from one side
*Automatic merge conflict, or manual merge conflict (always launch the merge tool event with 0 unsolved conflicts)
*Ignore Merge Tracking
*Advance options: ancestors


Command-line client: Annotate command options update
The command to annotate files (cm annotate) was using, among others, the --ignore option, with (eol | whitespaces | "eol&whitespaces" | none) as possible values. Due to other commands are using another interface, it has been decided to homogenize them all. Now, --ignore will become --comparisonmethod and its regarding options will be (ignoreeol | ignorewhitespaces | ignoreeolandwhitespaces | recognizeall).
NOTE:
Old syntax will be deprecated, but it is still working. Therefore, scripts or other programs using this command will continue working as before. Despite of this, we encourage to update its usage to the new interface. More details in the command help.
Example: in case we want to annotate a foo.c file which has been created and checked-in on a unix system and after that some changes were done and checked-in on a Windows platform, we might want to ignore the EOL:
cm annotate foo.c --comparisonmethod=ignoreeolandwhitespaces
Command-line client: Diff command options update
The command to show differences (cm diff) was using, among others, the --ignore option, with (eol | whitespaces | "eol&whitespaces" | none) as possible values. Due to other commands are using another interface, it has been decided to homogenize them all. Now, --ignore will become --comparisonmethod and its regarding options will be (ignoreeol | ignorewhitespaces | ignoreeolandwhitespaces | recognizeall).
NOTE:
Old syntax will be deprecated, but it is still working. Therefore, scripts or other programs using this command will continue working as before. Despite of this, we encourage to update its usage to the new interface. More details in the command help.
Example: in case we want to check a foo.c file which has been created and checked-in on a unix system and after that some changes were done and checked-in on a Windows platform, we might want to ignore the EOL:
cm diff rev:foo.c#cs:1 rev:foo.c#cs:2 --comparisonmethod=ignoreeol
Command-line client: Shelveset apply command options update
The command to apply shelvesets (cm shelveset apply) was using the --comparisonmethod with (ignoreeol | ignorewhitespaces | ignoreeolwhitespaces | notignore) as possible values. Due to other commands are using another interface, it has been decided to homogenize them all. Now, "ignoreeolwhitespaces" will become "ignoreeolandwhitespaces" and "notignore" will become "recognizeall".
NOTE:
Old syntax will be deprecated, but it is still working. Therefore, scripts or other programs using this command will continue working as before. Despite of this, we encourage to update its usage to the new interface. More details in the command help.
Example: in case we want to apply a shelveset and, when comparing actual with previous contents for merging the changeset, we might want to ignore the EOL and whitespaces:
cm shelveset apply sh:2 --comparisonmethod=ignoreeolandwhitespaces
Command-line client: Diffmetrics command options update
The command to print metrics of differences between two revs (cm diffmetrics) was using, among others, the --ignore option, with (eol | whitespaces | "eol&whitespaces" | none) as possible values. Due to other commands are using another interface, it has been decided to homogenize them all. Now, --ignore will become --comparisonmethod and its regarding options will be (ignoreeol | ignorewhitespaces | ignoreeolandwhitespaces | recognizeall).
NOTE:
Old syntax will be deprecated, but it is still working. Therefore, scripts or other programs using this command will continue working as before. Despite of this, we encourage to update its usage to the new interface. More details in the command help.
Example: in case we want to see how many added, modified and deleted lines in a foo.c file and compare them with its version from a different branch, recognizing all, including EOL and whitespaces:
cm diffmetrics foo.c#cs:2 foo.c#br:/main/scm007 --comparisonmethod=recogniseall \ --format="There are {0} changed, {1} added and {2} deleted lines."
Server: Server backups no longer block read-only web calls
The web calls were not allowed while the server was running a backup. Now the web calls that are read-only calls are allowed during the backup. This applies to the web client, the web admin, and also mergebots.
Command-line client: After-checkin trigger payload: move operations were not displaying move reference information
Previously, after-checkin triggers were generating a JSON content with several variables. One of these variables is named INPUT, which contains information about the changes checked in. These changes might be one of the following: AD, CH, DE and MV, indicating the type of operation which was performed regarding one item. MV operation has a particularity, as it involves not only one file but two.
Now it has been fixed and displays both source and destination of the moved file in the proper order (src->dst).
For example, let's imaagine we have a workspace with the following controlled contents: "./foo.c" and "./FooFolder" and we perform the following operations:
cm mv ./foo.c ./fooFolder/foo2.c cm ci -c="foo belongs to fooFolder"
The INPUT variable will now display:
'INPUT':'CH \"/\" DIR#br:/main;changeset:59@rep:default@repserver:localhost:8084 CH "/fooFolder" DIR#br:/main;changeset:59@rep:default@repserver:localhost:8084 MV "/foo.c" FILE#br:/main;changeset:2@rep:default@repserver:localhost:8084->"/fooFolder/foo2.c" FILE#br:/main;changeset:2@rep:default@repserver:localhost:8084'
As you can see, there are two changes corresponding the changes in the root directory and the change in the fooFolder and a MV operation, which now details both source file and destination file of that operation, separated by a "->" operand and both displaying all the information re the change.
Therefore, for the move operation, the specification will become:
status src_item_path item_type#br:branch;changeset:cset_id@rep:rep_name@repserver:server->status dst_item_path item_type#br:branch;changeset:cset_id@rep:rep_name@repserver:server
IMPORTANT NOTE: it is possible that users already parsing this output will perceive their parsers start to fail. We are sorry for any inconvenience this might cause. We balanced different options and finally decided to give you more information for you to use, despite of it might be needed to retouch existing parsers at this moment.
Command-line client: Changelist wrongly removed by cm status with filter
cm status --changelist --controlledchanged
Running the command from above, non-persistent changelists only containing local changes are expected to be omitted from output. However, the command was actually erasing the changelist. Now, doing the same preserves the changelist intact.
All platforms - PlasticX: Fixed error in branches explorer dialog
Opening the branches explorer dialog would, in some cases, for example performing the "Merge from this changeset to ...", trigger an unexpected exception. We fixed that.
All platforms - PlasticX: Focus items list after search
In Plastic X, using the items search and selecting a search result using the "Enter" key, caused the items list to not grab the keyboard focus. Now it's fixed.

All platforms - GluonX: Fixed comments textbox losing the focus.
After doing a check-in or undo checkout operation in GluonX, a bug prevented the check-in comments textbox to preserve the keyboard focus while typing. Quite annoying. Now is fixed.
All platforms - PlasticX: Fixed exception in workspace explorer
There was an exception that was thrown sometimes while navigating through directories in the workspace explorer. This issue is now fixed
All platforms - PlasticX: Null exception closing shelves view
In PlasticX, there was a rare issue where a null exception message could appear when closing Shelves View, we fixed this issue