Release Notes

Public

8.0.16.2951: Jan 30 2019

New

Plastic SCM turns 8.0!

New year, new number. For all of you using subscriptions it will be transparent.

If you have an "unlimited license", remember to request a new license where "major version supported" is updated to 8.

As you know, we no longer release major super new versions anymore. We don't wait and package tons of new features together for a big launch. It seems the world has moved past that, and for us it is much better since it better fits the way we work.

We release a few times a week, so being subscribed to Plastic, or purchasing support+updates if you are on perpetual, means receiving a constant flow of updates.

The initial 8.0 won't be different from the latest 7.0, but in a few months 8.0 will be incredibly much evolved, week after week.

These are some of the things we are cooking:

* A brand new Unity plugin: While the current one, officially deployed by Unity, will still be there, we are working on a totally new one. Expect a more "plastic-style" UI with all the things you are used to in "Pending Changes".

* Multi-process Enterprise server: We are working at full speed right now in a greatly improved server that spawns multiple processes to increase reliability even on a single machine. This probably doesn't sound super exciting, but it will be the basis for the new upcoming Plastic Cloud infrastructure we are working on.

After these two big ones, we have plans for: Code Review (finally!), improved single-branch workflows, built-in cross-file semantic merge, and heavily focusing on usability.

New

Windows GUI: SemanticMerge understands your PHP code now ;)

This feature closes one of the most requested UserVoice features: PHP Please!.

The PHP parser is released as a beta, so we'd love to have your feedback about things that don't work for you or any other suggestion.

New

All platforms: Filter rules confirmation dialog: we unified how the "apply for all workspaces" checkbox is displayed. Each platform (windows, gtk, osx) displayed this button in different ways, depending on whether the operation could be applied or not: Some platforms didn't show the checkbox, others displayed the checkbox in a disabled state, etc.

We unified the behavior this way (example with ignored files, but applies the same for cloaked items and hidden changes):

* Plastic (all platforms): Now it is possible ignore files for all workspaces, always displays the checkbox.

* Gluon (all platforms) Ignore files for all workspaces is not possible, the checkbox is not shown.

New

DevOps: "trunk-bot" and "conflictsbot" are now able to track all configured repository's branches. To do that, just leave the "Branch prefix" field empty while configuring any of these mergebots. Nevertheless, the field description has been improved in order to explain how to configure this use case.

New

Command line tool. We have added a cool new ability to the diff command. Previously, the process for viewing the diff of a file changed within a changeset was a little convoluted, because you had to call diff once to get the revisions and call diff again to see the differences. Now you can view the differences with a single call by specifying the filename as the last parameter.

For example "cm diff br:/main@myrepo src\common\myfile.cs" will show any differences in the file "myfile.cs".

In actual fact, you only need to specify enough of the path to uniquely identify the file. See the following output for an example of this intelligent path matching in action:

c:\mcga>cm diff 4@test 6@test
C "src\client\dup.cs"
C "src\common\dup.cs"
C "src\server\net\dup.cs"
C "src\misc\net\dup.cs"

c:\mcga>cm diff 4@test 6@test dup.cs
Path 'dup.cs' not unique. Could refer to any of...
/src/client/dup.cs
/src/common/dup.cs
/src/misc/net/dup.cs
/src/server/net/dup.cs

c:\mcga>cm diff 4@test 6@test net\dup.cs
Path 'net\dup.cs' not unique. Could refer to any of...
/src/server/net/dup.cs
/src/misc/net/dup.cs

c:\mcga>cm diff 4@test 6@test server\net\dup.cs
Diff tool launched with 'server\net\dup.cs'

Bug

Find queries that used the "like '%'" condition (i.e. a catch-all clause) returned a server error if it was configured to use Jet as backend. Fixed.

Bug

Server: Using special characters, such as (# / ? :, etc. in bot/plug/bottype/plugtype names, caused the DevOps system to fail. Now, the following characters are forbidden: / : * ? " < > | #

Also in some circumstances, using blank spaces or other reserved characters caused the bots to fail when trying to communicate with the plugs. Now it's fixed.

Bug

Windows GUI: The "explain merge" diagram was unable to draw the contributor labels properly when a changeset was the base and destination of the merge at the same time. A red label with "UNKNOWN" text was displayed instead. Now it's fixed.

Bug

Filter matching: We fixed a bug that caused name-only rules to be applied to the complete directory hierarchy of every workspace item. This means that writing e.g. 'wkspaces' as a rule in your /ignore.conf file would cause every private file in all workspaces inside /home/myuser/wkspaces to be ignored.

Bug

Windows GUI: Fixed two bugs in the code review window.

* When a recently added file was commented in a revision that was not the last in the branch, the file content was displayed as empty. Now it's fixed.

* When a changed file was commented in a revision that was not the last in the branch, the action "show this revision in the left pane did nothing. Now it's fixed.