Release Notes

Public

8.0.16.3339: Jun 28 2019

New

Windows - Plastic: SemanticMerge is now part of Plastic SCM!

Yes, you read it right: now you get the full power of SemanticMerge bundled with Plastic, no extra purchase, everything included.

It means if you are merging C#, Java, C, C++, VB.net or any other language supported by Semantic... you get the extra power of code-aware merges.

Now all the SemanticMerge power is inside PlasticSCM. Enjoy!

New

Windows - Plastic: Conflict resolution is now incredibly faster!

This is because our merge tool is now launched within the same process instead of spawning a new one, which makes it start up super fast.

For automatic file conflicts, the resolution is immediate. Before this improvement, the conflict resolution speed is normal but now it flies!

For file conflicts that require human intervention, the merge window appears also in 0 secs.

New

Windows: Gluon and Plastic. Added the edit comment operation to the diff and changeset explorer windows.

Let's see it in action!

New

Pending changes: We improved how ignore.conf rules are processed to improve the performance of the Pending Changes view refresh operation in the GUIs and the 'cm status' command.

Now, ignored directories will be entirely skipped if there aren't any ignore exclusion rules (you know, those that start with the '!' character) that might apply to a child item.

These are the rules that, if present, automatically mean that any ignored directory could have any of its child items excluded from being ignored:

* Extension rules: '!*.exe', '!*.pdb'

* "Ends with" rules: '!*.exe.config', '!*/log/results.txt'

* "Contains" rules: '!*bin*'

* Name rules: '!Debug', '!parameters', '!package.json'

Besides that, path rules such as '!/src/lib' or '!/path/to/a/very/particular/directory' will only force an ignored directory to be fully processed if that ignored directory is a parent of the excluded path.

In a nutshell, this means that no matter what your ignore rules are, if you stick to path rules (e.g !/src/lib, !/doc/api/summary) for your ignore exceptions you'll notice that calculating changes with private items runs a lot faster now.

Let's see that using an example. If you have two directories, /Library and /cfg whose contents you'd like to ignore but you want to exclude /cfg/keys_default.cfg, you'd normally write these rules:

/Library
/cfg
!/cfg/keys_default.cfg

The mere existence of the last rule (!/cfg/keys_default.cfg) caused the complete tree under /Library to be processed, even if none of its children could be excluded! Fortunately, we changed that now. The last rule, the exclusion one, will only affect items directly under /cfg. If you had some directory like /cfg/db, it won't be processed either: there aren't any rules that might exclude one of its children from being ignored.

Bug

Windows - Plastic: The diff viewer did not draw the current difference border for moved regions, when the changed lines in the moved regions were the first or the last. Now it's fixed:

Bug

GitSync / fast-export: The sync command failed with the message "The user xxxx appears as an inactive user because his/her license has been deactivated. Please activate it and then try again." when the user who launched the operation didn't exist in the repository used by the command. The same happened with the fast-export command.