Release Notes

Public

Release 6.0.16.1688

Oct 16 2017
New

The server can now reload server.conf while running, which means authentication and many other settings can now be reloaded dynamically.

New

Now the server can change storage backend (entirely, or just individual settings) without restarting. In case key params like the database path are modified, the caches will be reloaded and all connections closed.

Bug

Fixed how sent and recv bytes were tracked in both plasticproto and remoting so that detailed checkin progress (and detailed save as added to Gluon) can show movement in slow networks.

Public

Release 6.0.16.1654

Oct 10 2017
New

Now the server watches for changes in remoting.conf and can reload the network configuration without restarts.

The server checks remoting.conf for changes every couple of seconds (checks the write time of the file previous to read its contents).

Example: suppose the server is listing on port 8087, and now you change it to work on 8088. Current active connections to 8087 won't be stopped, but new ones will be only accepted to 8088.

Remark: config reloading won't run if --port or --sslport arguments are used to launch plasticd.

New

lock.conf now is reloaded by the server if the file changes. No need to restart the server anymore to load lock rules.

Bug

Gluon configuration broken: it wasn't unable to list repositories. Fixed now.

It was a regression of a task to improve the handling of aliases introduced in 6.0.16.1533.

Public

Release 6.0.16.1644

Oct 06 2017
New

P4 sync: Now, if a Ctrl+C key combination is detected while a changeset is synced (exported or imported), the sync process will wait until the current changeset fully synced to prevent data mismatch between plastic and p4. After that, the sync process is gracefully stopped.

Remarks:

* The Ctrl+C key won't be deteced if the sync operation is run in "cm shell" mode.

* When issuing a Ctrl+C, the printed results about "changesets involved" could not match with changesets actually synced.

New

Windows GUI: Improved the pending changes autorefresh feature. Now, after the pending changes view is refreshed, we maintain all the UI state of the diff viewer (scroll position, current diff, ...), if the file did not change on disk. When the file changed on disk, we refresh the diff viewer as usual.

New

Now, merge changes can be undone without requiring the rest of the workspace changes to be undone as well. Additionally, non-merge workspace changes can be undone independently. The only current requirement is to undo all merge changes together: the undo must target either none or all of them at the same time.

Bug

Windows GUI: Pending changes view showed an error in a border case move operation without changing its contents: move an item in two steps so the final path it's the same as the original. Example:

* Having the following structure:


/

/src

/src/lib

/src/lib/foo.c

* Performing the following command line operations caused Pending Changes view showing an error:


cm move /src/lib/foo.c /src/foo.c

cm rm /src/lib

mkdir /src/lib

cm add /src/lib

cm move/src/foo.c  /src/lib/foo.c 

* After these operations, the resultant path of "foo.c" it's the same as the original one, but different parent directory ID (but same name). Now the issue has been fixed and the Pending Changes view is able to show the changes.

Bug

The cm partial ci is not printing the right changeset. Instead of the created changeset, it was printing the branch head when the checkin was done (that was the parent changeset of the created changeset). Now it's printing the right one.

Public

Release 6.0.16.1633

Oct 03 2017
New

Server network layer: modified the way in which requests handle SSL auth. Now they are enqueued to the threadpool before doing any network reading, to free the network callback as soon as possible. This should fix a weird deadlock detected on a Linux server after hours of intense work (while others with even more load go fine).

Bug

Windows: The cm diff command wasn't using the appropriate file extension when downloading temporary files. This caused the image diff to fail if a particular changeset was used in the revision spec. Fixed.

Bug

CLI: The cm diff command failed (throwing a null reference exception) when a revision was specified by ID. Fixed.

Public

Release 6.0.16.1625

Sep 28 2017
New

Plastic will now consider the external tool exit code when performing file merges. This means that a merge tool that creates the output file and then crashes will be considered as a failed merge, whereas before just creating the output file was considered as a success.

New

Mac OS GUI: Mac OS X High Sierra (10.13) is now fully supported!

Bug

WebUI: The WebUI was unable to work against a Plastic SCM server configured in LDAPWorkingMode or UPWorkingMode due to a bug in the network layer that was overriding the user credentials introduced at login with the ones loaded from the WebUI client.conf file, which, in this case, does not have any. Fixed.

Bug

Resource dictionaries were not loaded properly in the windows GUI.

Bug

Triggers: changeset information in before-chattvalue and after-chattvalue was blank. Fixed.

Bug

Sometimes an unexpected error occurred when switching from list mode to tree mode in the pending changes view (working with changeslists). Now it's fixed.

Bug

Fixed the image alignment of the diff maximize/restore buttons.

Bug

Using the plastic protocol and the SSL channel, the server memory is unexpectedly growing. The problem was a memory leak on the plastic protocol detection. Now it is 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: 5.0.44.511 means:
    • 5 -> major release number
    • 0 -> minor release number
    • 44 -> compatibility -> all clients and servers with "44" in the compat number are compatible, even if the build number changes
    • 511 -> internal build number