Release Notes



Aug 13 2019

All platforms – Plastic, Gluon, command line: Now update always goes to latest.

Suppose you switched your workspace to a particular changeset, then decided to update. You were stuck on that changeset, by design.

We thought (for a few years already) that if you had switched to a given changeset, why would you want to jump to latest during an update?

But then we realized it was a true UX pain. Why wouldn't you want to switch to latest?

So, we just changed the behavior. Now, when you update, you'll always go to latest in the branch, even if you were working on a given changeset or label before.


Windows - Plastic: The new Code Review system now displays questions in the comments list.

Remember, right now, you need to start with plastic --codereview to enjoy the new feature.


All platforms - Plastic: Small refactor and cleanup of the merge code to get ready for the "incoming changes" feature that will hopefully simplify working on single branch and will make all Perforce users rush to Plastic.


macOS - Plastic, Gluon: With the performance improvements we made some releases ago, we introduced a change in how the autoexpanded items in the Pending Changes (Plastic) and Checkin (Gluon) views were handled. When you refreshed the view, the only category that got expanded was the one you had an item selected in. This didn't like some users, so we reverted it - autoexpansion saving will work for less than 5000 items (whilst it won't for 5000 items or more, for performance reasons).


Windows - Plastic: The new CodeReview system supports outlining.

When a comment was placed in a line that was collapsed due to outlining, it was rendered in a wrong line. Now the comment is hidden when the line is collapsed and visible when the line is not collapsed.

We also improved the comments navigation. When navigating to a comment, we always ensure that the line that contains the comment is always expanded. Otherwise, in some scenarios a comment could be not visible.

Remember, right now, you need to start with plastic --codereview to enjoy the new feature.


Windows - SemanticMerge tool: Improved declaration matching mechanism to detect properly the conditional inclusion in the following 'merge' scenario:

Source contributor:

ifndef MY_VAR
include "MyInclude1"
include "MyInclude2"
int my_field1;
int my_field2;

Destination contributor:

ifndef MY_VAR
include "MyInclude1"

Wrong Result:

include "MyInclude1" (Moved)

Result from now on:

include "MyInclude2" (Deleted)
int my_field1; (Deleted)
int my_field2; (Deleted)


Windows - Visual Studio package: After installing .net 4.8, the Plastic SCM views were not visible in Visual Studio 2019. Now it's fixed.

.NET Framework 4.8 comes with several enhancements to support Per-Monitor V2 DPI Awareness (PMv2) and Mixed-Mode DPI hosting in both Windows Forms and Windows Presentation Foundation (WPF). Unfortunately, tool windows created in Windows Forms were not render correctly when its Per-Monitor Awareness (PMA) setting is enabled. We made changes in the code to address this issue.


Windows - Plastic: we had a bug in the new code review that resulted in some branch reviews showing an empty GUID for the branch, instead of its actual GUID. Now that's solved!


Linux - Plastic, Gluon (Cloud Edition): The preferences dialog displayed duplicated ok and cancel buttons. Now it's fixed.

Internal and public releases

The Plastic SCM development team works in short iterations delivering frequent releases.Our goal is to have at least one new release every week, with new functionalities, bug fixes and performance tweaks.

Every 'weekly' release is not published to our customers, but we like to detail each of them in the release notes so users can easily follow what we achieved on every short iteration.

The releases marked with the word "public" are the ones we do publish on the website. The ones marked as "internal" are the releases we create in-house to keep the project moving week after week.

Version numbering

Starting in Plastic SCM 4.0 the version numbering schema has been modified:

  • major.minor.compatibility.buildnumber

  • Sample: means:
    • 8 -> major release number
    • 0 -> minor release number
    • 16 -> compatibility -> all clients and servers with "16" in the compat number are compatible, even if the build number changes
    • 3333 -> internal build number