Release Notes

Public

8.0.16.3899: Jan 24 2020

New

All platforms - Command line client: We edited the 'cm pull hydrate' example explanation. It now highlights that this command introduces the missing data for all the changesets in a branch. Also, the 'cm pull' command now includes an example of how to hydrate a changeset.

New

All platforms - Server, Command line client, Plastic, Gluon, Unity3D plugin, Proxy server: We improved how Plastic (client and server) manages memory buffers. Our new changes will prevent Plastic from getting out of resources in its pools, also improving the response times under heavy load.

New

All platforms - Gluon: The Checkin view menu has a new item: "Checkout"! It will put locally changed items under explicit version control. For instance, if you right-click a locally changed item and select "Checkout", that item will checked-out from that moment on. Private files will become Added, etc. This menu item behaves like the one with the same name in the Pending Changes view of Plastic.

Bug

Windows - Plastic: The Branch Explorer highlights search results in yellow, with the focused result in orange. Because of a bug, the focused search result was losing its orange color after a refresh. Now it's fixed.

Bug

macOS, Linux - Plastic, Gluon, Command line client: Under some circumstances, move detection did not always work on *NIX systems. We could only reproduce this issue in Virtual Machines where the guest is one of these OSs, so you probably never encountered it - rest your mind knowing that it is fixed. Now let's dive into the details:

Let's say that you have the following workspace configuration:

/fileA.txt - CONTROLLED
/fileB.txt - CONTROLLED
/fileC.txt - CONTROLLED
/fileD.txt - PRIVATE

Now you move fileA.txt to fileE.txt. We will have this scenario:

/fileA.txt - LOCALLY DELETED
/fileB.txt - CONTROLLED
/fileC.txt - CONTROLLED
/fileD.txt - PRIVATE
/fileE.txt - PRIVATE

We want to know if fileA.txt is actually fileD.txt or fileE.txt (or even neither of those), so we need to compare [A <> D] and [A <> E] to determine that. Once we determine through comparisons that A and E are the same file with different name, we have enough information to have this scenario:

/fileE.txt - LOCALLY MOVED (src: /fileA.txt)
/fileB.txt - CONTROLLED
/fileC.txt - CONTROLLED
/fileD.txt - PRIVATE

...and in an ideal world is that easy. But now imagine that we have thousands of private files. We can't compare A with those thousands of files to determine the local move operation fast enough. So, in order to reduce the number of files we need to compare against, one of the filters we apply is the timestamp of the file. And if we lose timestamp precision because of the underlying File System in any of the operations involved, move detection breaks! Now, it is fixed.

Bug

All platforms - Server: ChannelCall incorrectly printed sec:none after the first method call with SSL.

In the ChannelCall log, after a connection attended the first request, next ones printed this:

ChannelCall - conn:   340 protocol:remoting sec:none recb:  741|r

The sec:none bit was not correct because they were indeed SSL calls. Now it is fixed!

(This was NOT a security issue, just a log issue!)