Release Notes

Public

11.0.16.7696: Dec 22 2022

New

All platforms - Command-line client: the diff command allows now to see the branch changes pending to integrate

You can use the new diff option --integration (e.g.: 'cm diff br:/main/task --integration') to see the branch changes pending to be integrated into its parent branch.

See some scenarios when it's useful:

* You are working on a child branch, and you make a rebase, a merge from /main. The regular 'cm diff br:/main/task' command will show the child branch changes combined with the rebased changes. Now, with the 'cm diff br:/main/task --integration', the command will skip the rebased changes. You will see a cleaner, more focused view of the actual branch changes.

* You are working on br:/main/task and you merge it into br:/main. Then you realize that you need additional changes in the branch and make them. The 'cm diff br:/main/task --integration' command will show those additional changes that you didn't merge yet.

New

All platforms - All clients: Pending changes: "Copied" items are now listed in "added" category

A "copied" is an existing item that is copied from a source changeset into the current one where it doesn't exist. It could happen due to a merge or revert operation.

Previously the copied changes were inside the modified category:

$cm status --noheader
Pending merge links
    Cherry pick from cs:3 at /main/added_file@change_delete_tests@localhost:7777

Changed
    Status                              Size       Last Modified    Path

    Copied (new) (Cherrypick from 3)    7.95 KB    7 minutes ago    FindMerge.cs

Now they are inside the added category, as the item is a new one on the current changeset even if it already exists on the repository:

$cm status --noheader
Pending merge links
    Cherry pick from cs:3 at /main/added_file@change_delete_tests@localhost:7777

Added
    Status                              Size       Last Modified    Path

    Copied (new) (Cherrypick from 3)    7.95 KB    4 minutes ago    FindMerge.cs

New

All platforms - All clients: New "change - not loaded" conflicts for cherry-picking merge & apply shelve

The old "change - delete" conflicts were replaced by the new "change - not loaded" conflicts for the cherry-picking merge, and apply shelve, where the changed item is not deleted on the destination, it's simply not loaded.

These new conflicts give a more accurate description and actions for these types of conflicts:

* Changed file on the source that doesn't exist on the destination:

* Changed file on the source whose parent doesn't exist on the destination:

* Added file on the source whose parent doesn't exist on the destination:

New

All platforms - PlasticX, Command-Line Client: Basic Auth now working with webtriggers

Webtriggers requiring basic authentication were not supported. There was a workaround to create a script with the call (using curl for instance inside a *.bat or *.sh file) including the authentication and then wrapping that script call within a regular trigger. Now it is possible to directly use webtriggers with basic authentication instead.

For example, imagine you have a configured Jenkins with a job named "MyProject" and you would like to call Jenkins to build the project after a check-in has been successfully completed. You could create a trigger like the following:

cm trigger mk after-checkin buildJenkins "webtrigger http://user:pass@localhost:8080/job/MyProject/build" --server=localhost:8084

New

All platforms - Plastic, Gluon: Added new arguments

The following arguments were available in legacy Windows GUI. Now we added them to the new cross-platform GUI:

* --clientconf: Lets you use a custom client.conf file, instead of the one at the default location

* --branchexplorer: Opens the branch explorer view of the specified workspace

* --preferences: Opens the preferences view when Plastic starts

* --createworkspace: Opens the dialog to create a new workspace when Plastic starts

In addition, arguments used to open the legacy GUI are now passed to the new GUI when clicking the "Try new GUI" button

New

All platforms - Plastic, Gluon: Provided better description in User Profile Tab

We renamed Preferences "User Profile" tab to "DevOps User Profile" to avoid confusion with "Connection Profiles"

Also, a explanation text and additional help hyperlinks were added, improving the documentation of this tab and giving better descriptions to the users

New

macOS, Linux - Plastic: Cross-platform semantic merge tool enabled by default

From now on, in macOS and Linux, when there is a non-automatic merge conflict on a code file, the cross-platform semantic merge tool will be launched to solve the conflict. Until now, you had to manually enable it by adding a flag in the client.conf file.

On Windows the native tool is still the default one, so you need to add the flag in client.conf if you want to use the new cross-platform tool:

<EnableSemanticMergeCrossPlatform>true</EnableSemanticMergeCrossPlatform>

New

All platforms - Plastic: shelvesets can now be filtered

We've improved the shelving workflow in Plastic by adding flexibility when applying a shelveset to your workspace. Now you can pick and choose individual files from a shelveset and apply only those that you want.

Shelvesets are chosen from the Shelves view, accessed using the "Show Shelves" button on the Pending Changes view, in the usual way:

Check the files in the shelveset that you want to apply to your workspace. Unchecked files will be ignored:

Bug

All platforms - Plastic, Gluon: Page Up/Down keys navigation fixed

We've fixed in this release Page Up/Down keys navigation for all Tables and Trees

Bug

All platforms - Plastic: Fixed exception when using the semantic icons bar

When clicking on "Diff changed code..." from the semantic icons bar in a changed portion of a file, an exception was thrown. We fixed this issue and now the diff window is opened correctly

Bug

All platforms - Command-line client: Failing to create an Xlink leaves a private directory

So far, trying to create an Xlink to a non-existent item still created a a private directory in the workspace.

Now, the item is solved before the xlink command can tinker with the workspace.

Bug

All platforms - IntelliJ: IntelliJ plugin diff does not display properly

Previously to this change, diff was not displayed properly if the revision was pointing to a shelve as the internal find command was lacking shelve option. We added shelve option and parse revId correctly so the content can be downloaded and displayed.