10.x release notes
This document contains all release notes for Unity Version Control major version 10.x, organized from newest to oldest.
10.0.16.6656
New
Show semantic information in CodeLens
Windows - Visual Studio 2022 plugin: Show semantic information in CodeLens This new release enhances the plugin for Visual Studio 2022 showing semantic information above every class, method or property in your Plastic SCM projects! The CodeLens annotations above every class, method or property in files controlled by Plastic SCM will show semantic information about its last change. This includes the change type, user who modified it, and change date. Keep in mind that this feature will only show up in semantic-available files (C#, C, C++) that are in a Plastic SCM Workspace. See it for yourself!
Screenshot

Screenshot

Screenshot

Screenshot
Show semantic history in CodeLens
Windows - Visual Studio 2022 plugin: Show semantic history in CodeLens This new release takes the CodeLens information in the plugin for Visual Studio 2022 a step further. When you create the Plastic SCM data point above a method, property or type, it will display a list of up to 10 of the last changes in that element. This leverages the semantic technologies in Plastic SCM, showing only changes in the file that affect the annotated element. Keep in mind that this feature will only show up in semantic-available files (C#, C, C++) that are in a Plastic SCM Workspace. Take a look here!
Screenshot
Pagination/sorting added to 'cm find' command
Command-line client: Pagination/sorting added to 'cm find' command. Every find object now complies with pagination, defining a 'limit' and an 'offset' to manage the result size and starting point. In addition, some objects (branch, changeset, label, review) will comply with 'order by' clause. Please, kindly refer to the 'cm find --help' and 'cm help showfindobjects' for further details. For instance, the following command:Displays the 10 labels starting from the 21st where I am the owner. Another example could be:cm find label "where owner='me' limit 10 offset 20"
Displays the first 10 branches I created, sorted by name in descendant order.cm find branches "where owner='me' order by branchname desc limit 10"
Added '--gitpushchunk' parameter to export Plasti…
GitSync: Added '--gitpushchunk' parameter to export Plastic repositories to Git in smaller chunks. This parameter allows to process the push operation (exporting changes from Plastic to Git) in chunks of a certain number of changesets instead of sending all the changes in one single package. This is only useful for huge repos to avoid network or package size related issues or just for debugging purposes. It uses chunks of 1000 changesets if no value is specified.cm sync myrepo@server:8087 git https://github.com/rubarax/repo.git --gitpushchunkcm sync myrepo@server:8087 git https://github.com/rubarax/repo.git --gitpushchunk=100
Bug
fixed Browse Repository view on case insensitive…
Windows - Plastic: fixed Browse Repository view on case insensitive filesystems Browsing the repository was not working correctly because we were failing to distinguish items where the name differed only in case. E.g., "FILE" and "file". This is because we were using the local filesystem path comparison rules, which on Windows meant we were doing a case insensitive comparison. We fixed it to do a case sensitive comparison.trigger environment variables are now properly se…
All clients: trigger environment variables are now properly set. For before/after update triggers, PLASTIC_INITIAL_CHANGESET and PLASTIC_FINAL_CHANGESET environment variables were swapped, considering the final changeset as the origin and vice versa when usingcm ci --updatefixed exception thrown when parsing help panel ma…
All platforms - Plastic, PlasticX, Gluon: fixed exception thrown when parsing help panel markup Malformed release note markup was causing the GUI to throw an exception when showing the help panel. We protected against that.Changed Plastic alpha version notification text
All platforms - Plastic: Changed Plastic alpha version notification text The notification text to try the new GUI has been improved.
Screenshot
Fix 'The file is being used by another process' e…
Windows - PlasticFS: Fix 'The file is being used by another process' error. We improved the ability of PlasticFS to work with antimalware software. Before, PlasticFS were unable to access some files from time to time, showing an error message like the following one:Can't open locally stored fileThere was an error opening file 'library.dll' from the local cache: The process cannot access the file 'C:\Users\john\AppData\Local\plastic4\plasticfs-storage\plasticfs-workspace-storage\plasticfs-wk-xxx\xxx\xxx' because it is being used by another process.

Screenshot
Fixed deadlock requesting branches of a deleted r…
Cloud Server: Fixed deadlock requesting branches of a deleted repo. The cloud server uses file & memory locks to handle concurrent access to the Jet files. If the file lock failed because the repository was deleted from disk, then the memory lock was acquired forever a no other thread could acquire it. This was a corner scenario since it's very uncommon to run calls against a repo that was deleted from disk.Alpha bug
fixed the recycling in the pending changes tree
All platforms - PlasticX: fixed the recycling in the pending changes tree We fixed the recycling in the tree for the pending changes view. Now, each time you refresh the view, the cell controls for the expander column in the tree are recycled instead of creating them again.Home icon now drawn on switch to branch with new…
All platforms - PlasticX: Home icon now drawn on switch to branch with new changesets We fixed the switch to branch functionality on the Branch Explorer view so that it correctly updates the Home icon in the case where changes were made on the target branch since the last time the view was refreshed.Branch explorer search didn't focus branches prop…
All platforms - PlasticX: Branch explorer search didn't focus branches properly. There was an issue in the way branches rectangles were calculated, so when you search for a branch in the Branch Explorer, and the zoom level was big, the branch was not focused properly. Now it's fixed and the search was as expected.Changed Switch workspace shortcut
All platforms - PlasticX: Changed Switch workspace shortcut The Switch workspace context menu shortcut has been changed from:- Windows & Linux: Ctrl+W to Shift+Ctrl+W
- Mac: Cmd+W to Shift+Cmd+W
Don't clear query history when using old GUI
Windows - PlasticX: Don't clear query history when using old GUI We had a compatibility issue between the classic Plastic GUI and the new PlasticX GUI (alpha): when running a query from one of the GUIs, all the query history from the other GUI was removed. Now both applications are compatible, and the query history is kept when changing between them.
Screenshot
Fixed a memory leak in pending changes view
All platforms - PlasticX: Fixed a memory leak in pending changes view. Fixed a bug that caused the memory to grow every time the Pending Changes view was refreshed.Fix missing keyboard shortcut in the main menu
macOS - PlasticX: Fix missing keyboard shortcut in the main menu Actions -> "Switch To" keyboard shortcut was missing, this is now fixed
Screenshot
Fix keyboard shortcut not working in changesets v…
All platforms - PlasticX: Fix keyboard shortcut not working in changesets view We fixed a keyboard shortcut in changesets view: when trying to diff several changesets, keyboard shortcut was not working
Screenshot
10.0.16.6621
New
New GUI Announcement
All platforms - PlasticX: New GUI Announcement You're invited to check out the new Plastic GUI - a sneak peek at the work we've been doing to continuously improve the Plastic experience for all users, regardless of experience level. The new Plastic GUI is now the default GUI for MacOS and Linux. It is also discoverable in the bottom left corner of the Windows GUI. This new GUI is cross-platform, includes a dark theme and provides better syntax highlighting. Many more improvements are coming soon, including Gluon support! Try out the new experience and switch back to the Legacy GUI at any time. To try out the new GUI simply click on the "Switch to new GUI" text near the bottom of the side panel, as shown in these screenshots: Switch to new GUI button Linux:
Screenshot

Screenshot

Screenshot

Screenshot

Screenshot
Updated the Spanish command-line help for several…
Command-line client: Updated the Spanish command-line help for several commands. We keep on updating the Spanish documentation of the command-line help. These are the commands whose Spanish documentation has been completely updated on this round:-
log -
ls -
manipulateselector -
merge -
attribute create -
attribute delete -
attribute edit -
attribute rename -
attribute set -
attribute unset -
branch create -
branch delete -
branch history -
branch rename -
branch showmain -
branch showmerges -
repository -
repository add -
repository create -
repository delete -
repository list -
repository rename -
trigger -
trigger create -
trigger delete -
trigger list
The performance of the status operation was impro…
All clients: The performance of the status operation was improved again! The overall time of the status operation is a 60% faster. This is only super-noticeable with huge workspaces (>4M of files), when the watcher is enabled and after the first status runs. Otherwise, the time spent in disk operations makes the improvement less noticeable. After all the improvements done, the status time goes from 7.1s to 2.7s! The tests were done:- using a workspace of 4011530 files, 264143 directories and 264 GB.
- in an e2-standard-8 (Google Cloud) instance with a debian-10 image and a SSD persistent disk.
Changelist info is displayed along with the contr…
Command-line client: Changelist info is displayed along with the controlled changes in status command When using --changelist options in status command, now it shows at the top of every grouped section of changes the information regarding the changelist owning these changes. The "--machinereadable status" option now works along with --changelist. For instance: considering a workspace with two files (BoxCollider.cpp, and StartGameBtn.cpp), each one added to its corresponding changelist (Physics, GUI), the following command:Will display something similar to this as far as there is a controlled change in BoxCollider.cpp file:cm status --changelist=Physics
And the following command.../main@VideogameEngine@localhost:8084 (cs:1 - head)Changelist: Physics:Every change related to physic calculations in the engineChangedStatus Size Last Modified PathChecked-out 7 bytes 4 minutes ago BoxCollider.cpp
.. will display something similar to this as far as there is a controlled change in BoxCollider.cpp file:cm status --changelist=Physics --machinereadable --fieldseparator=_ --startlineseparator=. --endlineseparator=,
.STATUS_1_VideogameEngine_localhost:8084,.CHLIST_Physics_Every change related to physic calculations in the engine,.CO_C:wkspacesVideogameEngineWKBoxCollider.cpp,
Allow creating multi-line comments
Command-line client: Allow creating multi-line comments Allows the use of the escape sequences 'n' and 'rn' to be used in checkin comments to generate line returns. Previously these would not be interpreted as escape sequences and would be included literally in the comment.Allow the '--xml=output_file' parameter in the 'c…
Command-line client: Allow the '--xml=output_file' parameter in the 'cm find' command. Before, you needed to specify '--xml --file=output_file' to print the find result to a file. Now, you can just use '--xml=output_file' like other commands do.Trunkbot auto enqueue branches when new changes i…
All platforms - DevOps: Trunkbot auto enqueue branches when new changes in dst branch. Before this version, if new changesets reach your trunk branch (i.e., '/main' branch) while a merge changeset -changes of your own branch and the trunk branch- is being built & tested, it won't be possible to merge the branch. Now you can set up your Trunkbot configuration to queue the affected branch again automatically, and hence repeating all the branch processing, including the last changes from trunk branch in the merge changeset. You can enable this feature in the mergebot configuration:
Screenshot
Bug
Improved usage with external data (archived revis…
Windows - Plastic: Improved usage with external data (archived revisions). Before, the first update run with archived revisions asked for the storage location with multiple GUI dialog windows at the same time. Moreover, this dialog was shown once per file which was annoying when you just wanted to skip downloading those files. Now, it only shows one dialog window at a time. If you enter the right storage location in the first dialog, you are not bothered with more dialogs, and everything is downloaded as expected. On the contrary, if you cancel it, you are not asked again for other revisions archived during the same operation.Plastic Drive - Error mounting this changeset
Plastic Drive - Error mounting this changeset Before, the 'Mount this changeset in Plastic Drive' option failed showing the following error message: Unable to load DLL 'dokan1.dll'. Now, Plastic Drive has been upgraded to use a newer version of Dokan, fixing the issue. You can download it from here: https://github.com/dokan-dev/dokany/releases/download/v1.4.1.1000/DokanSetup.exeAlpha new
Enterprise configuration dialog has no margins
All platforms - PlasticX: Enterprise configuration dialog has no margins Margins added to enterprise configuration dialog.Launch Gluon enabled in onboarding
All platforms - PlasticX: Launch Gluon enabled in onboarding We have enabled the Launch Gluon button in the onboarding dialogs for PlasticX. Currently it launches the official Gluon release. In the future it will launch GluonX of course!save revision enabled for History and Browse Repo…
Al platforms - PlasticX: save revision enabled for History and Browse Repository views You can now save a revision to disk from the History and Browse Repository views by selecting the context menu item.Alpha bug
Fixed miscellaneous issues in Branch Explorer vie…
All platforms, PlasticX: Fixed miscellaneous issues in Branch Explorer view.- When searching, with the "Only relevant" option enabled, the highlighted branch lost the changeset parent link draws. Now it's fixed.
- Clicking on the changeset parent link draws fired an unwanted "changeset selected" event. Now it's fixed.
- A user reported in the forum that using the "Only relevant" button moved the branch explorer away from the selection. Now it's fixed. The following rules are used to determine how to maintain the relative position:
- When navigating changesets with keys in the branch explorer, sometimes a changeset that is not visible (but it's near the clip edges) is not made visible. Now it's fixed.
- The attributes view was recalculated when clicking an object, even if it was already the selected object. Now it's fixed.
fixed diff window files panel
All platforms - PlasticX: fixed diff window files panel Diff window panel files panel was not filling the available space, this is now fixed.Fix filter not working properly in Branch Explorer
All platforms - PlasticX: Fix filter not working properly in Branch Explorer After filtering a branch in the branch explorer, if you changed to another workplace the previous filter remained in the next workplace We fixed this issue, and now the branch explorer filter works properly
Screenshot
Fixed default focus selection in some dialogs
All platforms - PlasticX: Fixed default focus selection in some dialogs When a dialog is displayed the first TextBox must be selected with proper focus.Other Options in preferences give an index out of…
All platforms - PlasticX: Other Options in preferences give an index out of range error Fixed issue caused by missing tag on client.conf. Reported on Other Options in preferences give an index out of range errorTransparent buttons issue
All platforms - PlasticX: Transparent buttons issue Fixed issue in which buttons from incoming changes notification appears transparent when hovering or clicking it.
Screenshot
fixed exception when selecting empty search result
All platforms - PlasticX: fixed exception when selecting empty search result We fixed an exception that was thrown if you clicked on an empty search result on the Workspace Explorer view.Files overlay misaligned on 4k displays
All platforms - PlasticX: Files overlay misaligned on 4k displays Fixed an issue that causes the files overlay on workspace explorer to be misaligned when the display has a to be scaled, a common case for 4k displays.
Screenshot
10.0.16.6573
New
Added a new before-merge variable for the destina…
Server: Added a new before-merge variable for the destination branch The environment variable PLASTIC_MERGE_DESTINATION_BRANCH has been added to the "before-merge" trigger. It contains the name of the destination branch for the merge.Bug
Support Okta LDAP server for authentication
Server: Support Okta LDAP server for authentication. The Plastic server didn't support an Okta LDAP server. All the user credentials (email + password) were rejected when you configure the server to use an Okta LDAP server. Now it works.
Screenshot

Screenshot
Socket error code platform-independent
All Platforms - Server: Socket error code platform-independent There were some logs writing different socket error codes depending on the platform. Now they will display the same code regardless of the platform where they were triggered from.Fixed branch creation from a deleted parent branc…
Server: Fixed branch creation from a deleted parent branch. The server could create branches using a parent branch that was previously deleted. This led to "The specified branch xxx can't be found." errors when listing the repository branches of showing the branch explorer. This code is properly protected now, and it will fail when trying to create a new branch using a parent branch that doesn't exist anymore.Alpha new
upgraded to .NET 6.0
All platforms - PlasticX: upgraded to .NET 6.0 We now build PlasticX on .NET 6.0. Previously it was built on .NET 5.0. In addition to general improvements to stability and performance, this upgrade improves a specific stability issue when applying syntax highlighting in the text editor.10.0.16.6559
Alpha new
Icons upgraded for 4k screens
All platforms - PlasticX: Icons upgraded for 4k screens Icons have been updated to better support 4k or higher resolution screensImproved the status bar UI
All platforms - PlasticX: Improved the status bar UI- Changed the status bar background color.
- Now the status bar is able to notify, info, success, warning, error, and progress messages.

Screenshot

Screenshot
- The main operations (check-in, undo, update workspace ... ) now notify an ephemeral (4 seconds) success message in the status bar when they finish successfully:

Screenshot
made version number selectable in About window
All platforms - PlasticX: made version number selectable in About window You can now select and copy the version number in the PlasticX About window.
Screenshot
Preferences dialog redesign
All platforms - PlasticX: Preferences dialog redesign The preferences dialog has been redesigned to a vertical layout as it provides a cleaner look.
Screenshot
Alpha bug
Tab navigation fixed for all app views
All platforms - PlasticX: Tab navigation fixed for all app views All app views and windows were reviewed to follow the proper order of the elements tab navigation, from top to bottom and left to right.Fixed an issue when diffing C files
macOS - PlasticX: Fixed an issue when diffing C files There was an issue that caused a 'libclang can't be loaded' error when launching a semantic diff for C language. We fixed this issue, and now the semantic diff is available for C files on macOS.10.0.16.6538
New
support environment variables in custom tool conf…
All platforms - Plastic, PlasticX: support environment variables in custom tool configuration You can now include environment variables when defining custom actions that can be launched from the context menu. See the documentation about configuring external tools.- Example:
This will create a menu item "My custom tool" under the "Open" menu of the Workspace Explorer which will open the selected path using the executable pointed to by the environment variable "PATH_TO_TOOL_EXE". You can add multiple external tools - just add a line to the config file for each one.item | My custom tool | %PATH_TO_TOOL_EXE% | @object
Unity files considered as text by default
All platforms - Plastic, Gluon: Unity files considered as text by default We added the following extensions to our list of known text extensions, and now they will be considered as text files by default:Also, the following file will be considered as a binary file by default:.anim.asmdef.asset.controller.giparams.mat.meta.mixer.overrideController.physicMaterial.playable.prefab.scenetemplate.shadergraph.shadervariants.signal.spriteatlas.unity.uss.uxml
Remember that you can override this behavior, adding your custom extensions, by modifying your filetypes.conf file.LightingData.asset
The status operation performance has been improve…
All platforms - All clients: The status operation performance has been improved by changing how the stats times are tracked (again :). This is only noticeable in super-huge workspaces (> 4M of files). The overall time of the status operation is a 10% faster, but this is only noticeable when the watcher is enabled and after the first status run. In this particular case the 'cm status' went from 6s to 5.4s.Updated the Spanish command-line help for several…
Command-line client: Updated the Spanish command-line help for several commands. We keep on updating the Spanish documentation of the command-line help. These are the commands whose Spanish documentation has been completely updated on this round:-
api -
findchanged -
findcheckouts -
findprivate -
getconfig -
getfile -
getrevision -
getstatus -
gettaskbranches -
getworkspacefrompath -
help -
history -
iostats -
issuetracker -
licenseinfo -
linktask -
listusers -
location -
lock -
lock list -
lock unlock -
wi
Improved the plasticd shell start up time
All Platforms - Server: Improved the plasticd shell start up time plasticd shell uses communication files to interact with the server. The problem came when these files became too big (> 1GB). It could take more than 10 min to connect with the server. Now, it does a smart reading starting from the end of the communication file, so it doesn't depend on the size of the file. It always takes around 1-2 seconds to connect.Bug
the server in macos was not gracefully shutting d…
macOS - Server: the server in macos was not gracefully shutting down when pressing the intro key. In other OS it was allowed to stop the server in console mode (plasticd --console) when inputing an empty command (by pressing intro with no text input) but in macos it was displaying an error detailing "Socket is not connected". Now it is fixed and working the same as in Windows and Ubuntu platforms.Ignored files are no longer processed when adding…
Visual Studio plugin: Ignored files are no longer processed when adding to source control We detected the "Add to source control" operation wasn't respecting ignored files. In addition, this operation will now perform an auto-checkin depending on the below user preference. Tools -> Options... -> Source Control -> Plastic SCM settings -> Preferences -> Other options "Checkin files and directories when adding to source control"Improved performance for status
Windows - Wwise plugin: Improved performance for status We noticed an issue in the Wwise plugin that caused 'cm shell' commands to perform poorly when their output was long (>8 KB). It's fixed now, so these long commands -particularly the 'status' command- will run as fast as if you'd run them in a terminal.Fixed localization errors during GitSync operatio…
All Platforms - GitSync: Fixed localization errors during GitSync operation. The operation could show messages that didn't make sense because it used the wrong localization keys.Removed deprecated option 'Change Source Control.…
Windows - VSPlugin: Removed deprecated option 'Change Source Control...' from File menu.Fixed the ISPC compilation in dynamic workspaces
Windows - Plasticfs: Fixed the ISPC compilation in dynamic workspaces. It seems the ISCP compiler uses the FileInfo.IndexNumber field but plasticfs didn't fill this field when returning the file FileInfo fields. Now, this field is properly assigned (it's just a reference number for the file) and ISCP can complete the build without issues.$ ispc simple.ispc -o simple.objWarning: No --target specified on command-line. Using default system target "avx2-i32x8".
Alpha new
Improve the button look and feel
All platforms, PlasticX: Improve the button look and feel. We improved the button style across the application. Now the buttons always have a border and they are lighter in the light theme. This is how they looks now:
Screenshot
UI boosts
All platforms, PlasticX: UI boosts.- Reduced the width of the pipe in the sidebar.
- Choose a better icon for sorting in the trees/lists.
- Improve scrollbar style.
- Redesign the incoming-changes notification.

Screenshot
- Improved the tooltip style reducing padding.
- Unify all dropdown controls to have the same margins.
- Convert text-based "Close" buttons to icon-based buttons in side-views.
Alpha bug
Tab navigation has been fixed for some dialogs
All platforms - PlasticX: Tab navigation has been fixed for some dialogs Tab navigation were not following the custom UI elements order in some dialogs. The custom navigation order is defined as from left to right and from top to bottom, so when users use tab key to navigate in any app dialog this order has to be followed.Fixed application of branch attributes
All platforms - PlasticX: Fixed application of branch attributes When a branch attribute was selected from the Name combobox the first default value was not loaded in Values combobox:
Screenshot
10.0.16.6505
New
Updated the help for the [code]cm archive[/code]…
Command-line client: Updated the help for thecm archive--commentcm archive-ccm archive bigfile.zip#br:/main -c="volume00"
Bug
Protected some null errors when synchronizing wit…
All Platforms - GitSync: Protected some null errors when synchronizing with git repositories.Fixed a "repository mounted twice" error during c…
All Platforms - Client: Fixed a "repository mounted twice" error during checkin. This error was only reproduced if there were multiple Xlinks pointing to the same repository in the workspace. It also only happened if before-clientcheckin triggers existed for that repo. Otherwise, it was not reproduced at all.status was not filtering properly by changelist
All Platforms - CLI: status was not filtering properly by changelist The option to group and filter controlled changes by changelists was not displaying only those changes under the changelist. Now it is fixed. Having two controlled files in your workspace (file1.txt and file2.txt), each one under a different changelist (chlist1 and chlist2). "cm status --changelists" will show something similar to the following:while "cm status --changelist=chlist1" will display something likeChanged Status Size Last Modified Path Checked-out 5 bytes 1 hour ago file1.txtChanged Status Size Last Modified Path Checked-out 7 bytes 1 hour ago file2.txt
ChangedStatus Size Last Modified PathChecked-out 5 bytes 1 hour ago file1.txt
Alpha bug
Improved exception handling
All platforms - PlasticX: Improved exception handling We detected some situations in which an exception could cause the application to crash. We fixed these scenarios to catch the errors and show them in a message box, and then continue with the application, instead of unexpectedly closing itFixed 10% CPU usage in the Attributes panel
All platforms - PlasticX: Fixed 10% CPU usage in the Attributes panel Displaying the Branch Explorer view caused Plastic X to report a constant 10% CPU usage in the Task Manager. This CPU consumption was caused by an animated progress bar placed in the Attributes panel. Although that progress bar was hidden, it continued invalidating the panel, causing that CPU consumption. Now it's fixed.Fixed an issue when creating dynamic workspaces
All platforms - PlasticX: Fixed an issue when creating dynamic workspaces When creating a workspace, if the user selected the "Create workspace from this repository..." option from the repositories view, the dynamic workspace checkbox was being ignored, and we were always creating normal workspaces. We fixed this issue, and now the checkbox works as expected
Screenshot

Screenshot
draw Home icon after switch to branch
All platforms - PlasticX: draw Home icon after switch to branch Fixed an issue where the Home icon wasn't being drawn after switching to a branch or label.
Screenshot
10.0.16.6479
New
netcore-compiled command line client for Windows!
Windows - Command line client: netcore-compiled command line client for Windows! From now on, the command line client (cmcmcm apiThe Plastic SCM API is now embedded in the CLI!
Windows - Plastic SCM API: The Plastic SCM API is now embedded in the CLI! We created a newcm apiplasticapi.execm apiAnd see more usage details at: https://www.plasticscm.com/documentation/restapi/plastic-scm-version-control-rest-api-guidecm api --help
The Checkin endpoint now supports partial workspa…
All platforms - Plastic SCM API: The Checkin endpoint now supports partial workspaces We extended the Checkin endpoint in the Plastic SCM API to support partial workspaces. You will now be able to perform checkin operations in a partial workspace using this client-side REST API. Just launch thecm apiPOST/api/v1/wkspaces/{wkName}/checkin{ "paths": ["path-to-my-file", "path-to-another-file"], "comment": "my current changes for my task"}
New endpoint to retrieve file info is now availab…
All platforms - Plastic SCM API: New endpoint to retrieve file info is now available We created a new endpoint in the Plastic SCM REST API to retrieve information from a file. You will now be able to performfileinfocm apiGET/api/v1/wkspaces/{wkName}/fileinfo/path-to-the-file-to-get-infoThe Update endpoint now supports partial workspac…
All platforms - Plastic SCM API: The Update endpoint now supports partial workspaces We extended the Update endpoint in the Plastic SCM API to support partial workspaces. You will now be able to perform update operations in a partial workspace using this client-side REST API. Just launch thecm apiPOST/api/v1/wkspaces/{wkName}/updateThe Switch endpoint now supports partial workspac…
All platforms - Plastic SCM API: The Switch endpoint now supports partial workspaces We extended the Switch endpoint in the Plastic SCM API to support partial workspaces. You will now be able to perform switch operations to branch or changeset in a partial workspace using this client-side REST API. Just launch thecm apiPOST/api/v1/wkspaces/{wkName}/switch{ "objectType": "branch", "object": "main"}
New revert endpoint for regular and partial works…
All platforms - Plastic SCM API: New revert endpoint for regular and partial workspaces We created a new Revert endpoint in the Plastic SCM API. You will now be able to perform revert operations in your workspace, partial or otherwise, using this client-side REST API. Just launch thecm apiPOST/api/v1/wkspaces/{wkName}/revert/{my_item_to_revert}{ "changeset": 28}
New partial configure endpoint for partial worksp…
All platforms - Plastic SCM API: New partial configure endpoint for partial workspaces A new Partial Configure endpoint has been added to the Plastic SCM API. Using this client-side REST API you will now be able to perform partial configure operations in your partial workspace. Just launch thecm apiPOST/api/v1/wkspaces/{wkName}/partialconfigure{ "instructions": [ { "path": "/", "action": "unload" }, { "path": "/", "action": "load" } ]}
New merge endpoint for regular workspaces
All platforms - Plastic SCM API: New merge endpoint for regular workspaces We created a new Merge endpoint in the Plastic SCM REST API. You will now be able to perform merge operations in your workspace, using this client-side REST API. This operation doesn't support conflict resolution at the moment. Just launch thecm apiPOST/api/v1/wkspaces/{wkName}/merge{ "sourceSpec": "br:/main/mybranch"}
New endpoint to undelete removed elements is now…
All platforms - Plastic SCM API: New endpoint to undelete removed elements is now available We created a new undelete endpoint in the Plastic SCM REST API. You will now be able to perform undelete operations in your workspace, using this client-side REST API. Just launch thecm apiPOST/api/v1/wkspaces/{wkName}/undelete{ "revSpec": "rev:itemid:4689#cs:23", "path": "my_file"}
New create shelve endpoint for regular workspaces
All platforms - Plastic SCM API: New create shelve endpoint for regular workspaces We created a new Create Shelve endpoint in the Plastic SCM API. You will now be able to create a new shelve from changes in your workspace, using this client-side REST API. Just launch thecm apiPOST/api/v1/wkspaces/{wkName}/shelvesets{ "comment": "my amazing shelve comment", "paths": ["path-to-my-file", "path-to-another-file"]}
New endpoint to apply shelvesets is now available
All platforms - Plastic SCM API: New endpoint to apply shelvesets is now available We created a new Apply Shelve endpoint in the Plastic SCM API. You will now be able to apply a shelve in your workspace, using this client-side REST API. Just launch thecm apiPATCH/api/v1/wkspaces/{wkName}/shelvesets/31main branch support improvements
All platforms - GitSync: main branch support improvements Nowcm sync--mainbranchcm sync REPO@SERVER git https://github.com/GITREPO.git --mainbranch=trunk
cm update now supports a machine readable format
All platforms - Client: cm update now supports a machine readable format To obtain an easily parseable output, just use the--machinereadableRemember you can override the default separators by using formatting options. You might need to double quote them depending on your shell:$ cm update --machinereadable --verbose<C:/workspace/CreatedDir><U:/workspace/UpdatedDir><D:/workspace/ModifiedDir><C:/workspace/createdfile.txt><U:/workspace/updatedfile.txt><M:/workspace/modifiedfile.txt><D:/workspace/deletedfile.txt><SAME_REV:/workspace/untouchedfile.txt> # Only in verbose mode.
$ cm update "--startlineseparator=<" "--endlineseparator=>" "--fieldseparator=:"
cm partial update now supports a machine readable…
All platforms - Client: cm partial update now supports a machine readable format To obtain an easily parseable output, just use the--machinereadableRemember you can override the default separators by using formatting options. You might need to double quote them depending on your shell:$ cm partial update --machinereadableSTAGE Plastic is updating your workspace. Wait a moment, please...STAGE Updated 0 bytes of 41.68 MB (0 of 3 files to download / 0 of 3 operations to apply) /file.txt...
$ cm partial update "--startlineseparator=[" "--endlineseparator=]" "--fieldseparator=:"[STAGE:Plastic is updating your workspace. Wait a moment, please...][STAGE:Updated 0 bytes of 41.68 MB (0 of 3 files to download / 0 of 3 operations to apply):/file.txt]...
The status operation performance has been improve…
All platforms - All clients: The status operation performance has been improved by changing how the stats times are tracked (again :). This is only noticeable in super-huge workspaces (> 4M of files). The overall time of the status operation is a 15% faster, but this is only noticeable when the watcher is enabled and after the first status run. In this case, the 'cm status' went from 7.1s to 6s.Bug
The 'cm sync' command (using ssh protocol) return…
All platforms - GitSync: The 'cm sync' command (using ssh protocol) returned a wrong exit code (0) when it couldn't connect to the Git server/provider. The command should return 1 (failed) as exit code when it failed due to any connection issue. This only affected to the ssh protocol. This could be dangerous when automating stuff because the caller was not aware that something went wrong. Now it is fixed!Fixed onboarding error in Philippines time zone
macOS - Plastic: Fixed onboarding error in Philippines time zone Previously on Macs if the time zone was set to either Quezon City or Davao City in the Philippines, an error message "Offset must be within plus or minus 14 hours" was shown when creating a workspace during on-boarding.Fixed how the server accounts for sent traffic
All platforms - Server: Fixed how the server accounts for sent traffic. If you ever open the ChannelCall server log file, you will see complete stats for the methods the clients execute on the server. In these stats, you can find the method name, how many bytes were sent and received, how much time did the writing and reading operations take… We were accounting for sent bytes (column 'sentb') wrong when sending chunks over 500KB. This is now fixed.Fixed a deadlock condition while querying a branc…
All platforms - Cloud Server: Fixed a deadlock condition while querying a branch and renaming another branch in the same repo. We had a race condition that could lead to a deadlock when the calls 'GetBranchInfoByName' & 'RenameBranch' happened at the same time in the same repo with a very specific race condition. The problem got worse because any requests that needed to access to any branch of that repo got infinitely stuck too.update operation failing with very old servers
Linux - Command line client: update operation failing with very old servers We fixed an incompatibility when issuing acm updatecmcm updateAlpha new
smoother panel closing animation
All platforms - PlasticX: smoother panel closing animation Improved the close animation for the Branch Explorer Options panel and the query views' Properties panel.Improve diff viewer editing performance
All platforms - PlasticX: Improve diff viewer editing performance. We heavily improved the diff viewer editing performance. See a demo handling a file of 133.442 lines.
Screenshot
Use Cascadia Mono as the default font for the sou…
All platforms - PlasticX: Use Cascadia Mono as the default font for the source code viewers in Windows platforms. If the font Cascadia Mono is installed on the machine, it's used as the default font for the source code viewers (diff, annotate, etc ...). Cascadia is a new, modern, monospaced font family that provides better flexibility for text editor experiences. Cascadia Mono was designed for optimal legibility and accessibility. When the font it's not available, Consolas font is used as a fallback. The following image shows the difference between Consolas and Cascadia fonts.
Screenshot
Alpha bug
fixed display of servers with underscores in the…
All platforms - PlasticX: fixed display of servers with underscores in the name In the server selector combo box in the Repositories view, underscores in server names were not being displayed. We fixed that.filter/search views after refresh
All platforms - PlasticX: filter/search views after refresh Fixed an issue where the filter or search wasn't being taken into account after refreshing the view. Now if you type a filter or search while the view is refreshing, the correct items appear when the refresh finishes. In addition, we fixed a null reference exception that was thrown when you type a filter in the diff window before it's loaded.Fixed syntax highlight tokens that were transpare…
All platforms - PlasticX: Fixed syntax highlight tokens that were transparent. Using some syntax highlight languages, such as Razor, Markdown ... displayed transparent tokens, so they were not visible. It only happened in the light theme. Now it's fixed.Greyed items on pending changes side bar
All platforms - PlasticX: Greyed items on pending changes side bar When adding a file or directory through the context menu 'Add to source control' or 'Add directory tree to source control' it was not possible to edit the selection of files or directories on the 'pending changes' side sheet. A side effect is that if a check-in is performed, then no further changes can be included or excluded from the list of pending changes unless the side sheet is closed and reopened. This issue is now fixed by allowing files or directories to be included or excluded from the 'pending changes' side sheet.
Screenshot
Fix crash creating directory with same name as ex…
All platforms - PlasticX: Fix crash creating directory with same name as existing file When trying to create a file, if the given name already exists as a directory, plastic closed unexpectedly. The same happens when trying to create a directory with a name that already exists for a file. For example, if you have a file named Readme.txt, and you create a directory named Readme.txt, it failed. We fixed this issue, and now you will see a clear error when trying to perform this operation
Screenshot
10.0.16.6443
New
cm partial ci now supports machine readable format
All platforms - Client: cm partial ci now supports machine readable format To obtain an easily parseable output, just use the--machinereadableOr alternatively:$ cm partial ci --machinereadable file.txt | program
Remember you can override the default separators by using formatting options. You might need to double-quote them depending on your shell:$ cm partial ci --machinereadable file.txt > /path/to/output.txt$ cat /path/to/output.txtCI_STARTSTAGE -STAGE - 0.00 of 13.89 MBSTAGE Multi-thread checkin - 0.00 of 13.89 MB...
$ cm partial ci --machinereadable "--startlineseparator=[" "--endlineseparator=]" "--fieldseparator=:" file.txt > /path/to/output.txt[CI_START][STAGE: - ][STAGE: - 0.00 of 13.89 MB][STAGE:Multi-thread checkin - 0.00 of 13.89 MB]
Bug
corrected pluralization of time span strings
All platforms - all clients: corrected pluralization of time span strings We changed "1 days/hours/minutes ago" to "1 day/hour/minute ago" throughout all the clients.htop application was crashing when displaying Vie…
All Platforms - Server: htop application was crashing when displaying View -> Method Stats. Now it properly displays and updates each available method call.Alpha new
enabled FileSystemWatcher for better performance…
Linux - PlasticX: enabled FileSystemWatcher for better performance finding pending changes We enabled the .NET Core FileSystemWatcher in 'PlasticX' Desktop app andcmcm statusItems search result panel is now bigger
All platforms - PlasticX: Items search result panel is now bigger We made search results panel of the items view wider, to show more of long paths, and taller, to show more items. In fact, the results panel is over 100% bigger than before!UX improvements to Query views
All platforms - PlasticX: UX improvements to Query views. We made some improvements to the views that have advanced query functionality: the changesets, branches, attributes, labels, shelvesets and code reviews views.- We changed the style of the Execute button to make it clearer.
- Pressing Enter in the query entry field now executes the query.
- Refreshing the view uses the currently query (rather than the last executed query).
File size column now right-aligned
All platforms - PlasticX: File size column now right-aligned We right-aligned the text in the file size column throughout the application. Here's how it looks:
Screenshot
launch PlasticX after auto-upgrade
Windows - PlasticX: launch PlasticX after auto-upgrade When a new version of Plastic is available, a notification panel will appear giving you the option of downloading and installing the new version. Previously, after installing the new version, the official Plastic release would be launched even if you initiated the upgrade from PlasticX. Now, PlasticX will be launched in this case.Added merge explanation view
All platforms - PlasticX: Added merge explanation view When applying a merge, now there is a "Merge diagram" button that shows the merge explanation. Here's how it looks:
Screenshot

Screenshot
textmate integration is 450% faster
All platforms - PlasticX: textmate integration is 450% faster. We reworked AvaloniaEdit's TextMate integration and now is much faster when handling mid/big files and it reduces CPU by 50% when tokenizing files.Alpha bug
Sometimes the diff viewer didn't display the firs…
All platforms - PlasticX: Sometimes the diff viewer didn't display the first difference correctly. Sometimes, when opening a differences window or a code review, the diff viewer didn't navigate to the first difference correctly. Now it's fixed.Fixed double click event on tables
All platforms - PlasticX: Fixed double click event on tables When double-clicking on a table, we were executing the double-click event even if the user didn't click on a table row. For example, if the user double-clicked on the header of the table, or in the free space at the bottom of it, the selected row would be expanded (or whatever the double-click behavior is expected on that table). This also happened with the right-click. Now this issue is fixed and the action will only be performed if the user clicked on a row of the tableFixed unexpected behavior when selecting items on…
All platforms - PlasticX: Fixed unexpected behavior when selecting items on a table When selecting an item on a table for the first time, we were not managing the table properties correctly, and this was causing issues, such as the inability to execute a shortcut over the selected item, or open the context menu with a right-click. We fixed this issue, and now the first selection of the table will work as expectedDisable "Open" button in the switcher window when…
All platforms - PlasticX: Disable "Open" button in the switcher window when needed The "Open" button in the switcher window was always enabled when the workspaces tab was selected, even when the workspaces list was empty. We fixed this issue, and now the button is only enabled when there is a workspace selected.corrected Date modified for Added items in Worksp…
All platforms - PlasticX: corrected Date modified for Added items in Workspace Explorer Added items were appearing in the Workspace Explorer with an invalid Date modified (1/1/1001) when they should have no date displayed.fixed exception opening context menu in a directo…
All platforms - PlasticX: fixed exception opening context menu in a directory's History An exception was thrown if you right-clicked in the History view for a directory. We fixed this. There is no context menu to show in this scenario.fixed text clipping on Code Review window
All platforms - PlasticX: fixed text clipping on Code Review window The text of the code review summary was being clipped by a couple of pixels at the bottom. Fixed.10.0.16.6419
New
Plastic SCM now supports new Visual Studio 2022!!!
Windows - Visual Studio Plugin: Plastic SCM now supports new Visual Studio 2022!!! Installer now shows a new plugin for Visual Studio 2022 and above. As the IDE turned 64 bits, it required a new version of our plugin, which by the way can coexist with the old one, just in case you want to keep both Visual Studio 2019 and 2022 installed in your system.
Screenshot
The Plastic SCM API is now embedded in the CLI!
macOS, Linux - Plastic SCM API: The Plastic SCM API is now embedded in the CLI! We created a newcm apiThe Jet storage backend is now faster when readin…
All platforms - Server: The Jet storage backend is now faster when reading files. We changed the way we access the Jet backend files for reading. This change decreases the time needed for just reading content, making the overall time of reading calls to the server lower.The status operation performance has been improve…
All platforms - All clients: The status operation performance has been improved by changing how the stats times are tracked. This is only noticeable in super-huge workspaces. The overall time of the status operation is a 17% faster in a workspace with 1M of directories and 5M of files.more detailed information in the relevant log and…
All platforms - server: more detailed information in the relevant log and shell's 'htop' regarding internal and Web UI method calls. Previously, every internal method call was tagged as "Internal", both for the server stats (relevant log) and shell'shtopCheckout CLI command (co) now supports --machiner…
All platforms - CLI: Checkout CLI command (co) now supports --machinereadable We added the possibility of using --machinereadable parameter to the checkout command. Now it will be possible to specify --machinereadable argument to configure special chars which will be inserted where needed: "--machinereadable" -> Outputs the result in an easy-to-parse format. "--startlineseparator" -> Used with the '--machinereadable' flag, specifies how the lines should start. "--endlineseparator" -> Used with the '--machinereadable' flag, specifies how the lines should end. "--fieldseparator" -> Used with the '--machinereadable' flag, specifies how the fields should be separated. Execution example:(Checkouts the current directory, and prints the result in a simplified, easier-to-parse format, starting the lines with the specified strings.)cm co . --machinereadable --startlineseparator=">"The selected items are about to be checked out. Please wait ...>XXXXXXXXXX Item XXXXXXXXXXXX was correctly checked outCommandResult 0
cm partial configure now supports a machine reada…
All platforms - Client: cm partial configure now supports a machine readable format To obtain an easily parseable output, just use the "--machinereadable" option:Remember you can override the default separators by using formatting options. You might need to double quote them depending on your shell:$ cm partial configure --machinereadable +/file.txtSTAGE Plastic is updating your workspace. Wait a moment, please...STAGE Calculating...STAGE Updated 0 bytes of 13.89 MB (0 of 1 files to download / 0 of 1 operations to apply)STAGE Updated 13.89 MB of 13.89 MB (0 of 1 files to download / 0 of 1 operations to apply):/file1.txt
$ cm partial configure --machinereadable "--startlineseparator=[" "--endlineseparator=]" "--fieldseparator=:" +/file.txt[STAGE:Plastic is updating your workspace. Wait a moment, please...][STAGE:Calculating...][STAGE:Updated 0 bytes of 13.89 MB (0 of 1 files to download / 0 of 1 operations to apply)][STAGE:Updated 13.89 MB of 13.89 MB (0 of 1 files to download / 0 of 1 operations to apply):/file1.txt]
Alpha new and Alpha bug release notes in help pan…
All platforms - Plastic: Alpha new and Alpha bug release notes in help panels We added two new categories to the release notes: Alpha new, and Alpha bug. They already appeared in the web (https://www.plasticscm.com/download/releasenotes), but now you will also see them in the plastic client, inside the new version notification. Check it out:
Screenshot
Bug
PLASTIC_INITIAL_CHANGESET and PLASTIC_FINAL_CHANG…
All Platforms - Command line client: PLASTIC_INITIAL_CHANGESET and PLASTIC_FINAL_CHANGESET environment variables are now properly set. For before/after update triggers, PLASTIC_INITIAL_CHANGESET and PLASTIC_FINAL_CHANGESET environment variables were swapped, considering the final changeset as the origin and vice versa. Now it is fixed.Fixed preview of unsupported image formats
Windows - Plastic, Gluon: Fixed preview of unsupported image formats There are some image formats that cannot be directly previewed or diffed inside Plastic. To diff two PSD images, for example, you need an external tool like ImageMagick to convert the images, and then perform the diff. Although you could diff these kinds of images on a separate window by clicking "Diff with previous revision", the preview that appears in the pending changes view was not working:
Screenshot

Screenshot
body method call wrongly renamed on edge case
Windows - SemanticMerge tool: body method call wrongly renamed on edge case. The problematic scenario is explained better with the following snapshot:
Screenshot
UploadDirectoryUploader.UploadUploadUploadUploadForClientTestsFixed a performance issue opening a workspace wit…
macOS - Gluon: Fixed a performance issue opening a workspace with lots of files The GUI hanged trying to open a workspace, when the root item has lots of children (>20000 items). Now it's fixed.removed linux binary from the windows installer
Windows - Installers: removed linux binary from the windows installer The windows installers erroneously included a 120 MB binary file, "linplasticx", which is only required on linux. We removed it. Enjoy the extra disk space! (Note, you can safely delete this file from your current windows client install directly should you wish to do so).Alpha new
Try our new Plastic SCM cross-platform GUI!
All platforms - PlasticX: Try our new Plastic SCM cross-platform GUI! We invite you to try our new Plastic SCM cross-platform GUI, code-named PlasticX (alpha)! This will also give you access to our new dark theme!How to get started with PlasticX (alpha) PlasticX is packaged silently with every Plastic SCM release moving forward. Download and install the latest Plastic SCM release.-
Windows: Run this command from the Windows console:
C:\Program Files\PlasticSCM5\client\winplasticx.exe -
macOS: Open a terminal and run the following command:
/Applications/PlasticSCM.app/Contents/Applications/plasticxscm.app -
Linux: Run this command from the terminal:
/opt/plasticscm5/client/linplasticx
- You can join our PlasticX forum here if you have any questions or feedback. Our dev team is actively monitoring this forum.
launch internal image diff by default
All platforms - PlasticX: launch internal image diff by default If you have the default binary diff tool configured (or have no binary diff tool configured), image diffs will launch in a new PlasticX window.Save the last used workspace
All platforms - PlasticX: Save the last used workspace. When switching the workspace from the top-left workspace selector, now the last used workspace is remembered when you close and reopen PlasticX.Support lines longer than 10.000 characters in di…
All platforms - PlasticX: Support lines longer than 10.000 characters in diff and annotate views. Prior to this fix, AvaloniaEdit (the text editor we use to display differences and annotate), didn't support displaying lines longer than 10.000 characters. We created this PR to fix it https://github.com/AvaloniaUI/AvaloniaEdit/pull/172
Screenshot
Added scroll bar to the annotate view
All platforms - PlasticX: Added scroll bar to the annotate view Before this change, the annotate view was scrollable, but the scroll bar was not visible. We changed this and now you can see a vertical scroll bar when the file is long enough
Screenshot
Added color picker control
All platforms - PlasticX: Added color picker control Added the color picker control to be able to set custom colors to branches and changesets in the branch explorer using the rules and filters panel. This is how it looks:
Screenshot
Added support for diff and code review Plastic Li…
All platforms - PlasticX: Added support for diff and code review Plastic Links Plastic Links are a great way to share content from your plastic repositories with your colleagues. You can easily share diffs, links to files and links to code reviews using Plastic Links.- What is a plastic link? A plastic link is a URL that looks something like:
- How do I open it?
- How do I create a link to share with my colleagues?

Screenshot

Screenshot
Alpha bug
The "home" icon sometimes was not drawn on a newl…
All platforms - PlasticX: The "home" icon sometimes was not drawn on a newly created branch. In certain machines under some concurrency scenarios, when creating a new branch and selecting the "Switch workspace to this branch" caused that the new branch is created but the home icon is not in the right place. Now it's fixed.Removed separator from the notification bar
All platforms - PlasticX: Removed separator from the notification bar In the bottom status bar, we sometimes show notification messages. To separate those messages we use a vertical line, which should only be visible when there is more than one message. We were always showing this line, even when there were no notifications to show:
Screenshot
Fixed hang when closing application
Linux - PlasticX: Fixed hang when closing application Sometimes when closing the workspace window in Linux, the application got frozen and it never ended. We fixed this issueFixed an error that appeared after opening and cl…
All platforms - PlasticX: Fixed an error that appeared after opening and closing the preferences window. When opening and closing the preferences window, PlasticX displayed an exception. Now it's fixed.Removed latency when toggling "Only relevant" but…
All platforms - PlasticX: Removed latency when toggling "Only relevant" button When clicking on the "Only relevant" button in the branch explorer, there was a latency that made the GUI freeze for some seconds. This was because of an operation that should be running in the background but instead was blocking the whole application. We fixed this call and now the branch explorer updates immediately Also, now after refreshing the branch explorer view, if there are new branches or changesets that match the text in the search box, they will be highlighted10.0.16.6375
New
We keep on updating the Spanish documentation of…
Command-line client: We keep on updating the Spanish documentation of the command-line help. Now, it was time for the following commands to be completely updated and match the English version of the command-line help:-
acl -
activateuser -
addignorepattern -
admin -
admin readonly -
applylocal -
archive -
attribute -
changelist -
changepassword -
changerevisiontype -
changeset -
changeset delete -
changeset editcomment -
changeset move -
checkconnection -
checkdatabase -
checkselectorsyntax -
codereview -
crypt -
deactivateuser -
diffmetrics -
fast-export -
fast-import -
fileinfo -
find -
trigger edit
Alpha new
New Workspace switcher
All platforms - PlasticX: New Workspace switcher We got a lot of user feedback telling us that the "Switch workspace..." button at the bottom of the GUI was a bit confusing. So, we've replaced it with a more useful and intuitive workspace selector. It allows you to quickly switch between your recent workspaces, open the workspaces view to create new workspaces, or open the repositories view. We also improved how we display the details of the current branch, changeset or label. Some demo:
Screenshot
Alpha bug
Fixed refreshing issue in the update report dialog
All platforms - PlasticX: Fixed refreshing issue in the update report dialog We had an issue in the table of the update report dialog, that prevented it from refreshing after clicking "Update forced" or "Retry". Now the issue is fixed, and the table gets correctly updated10.0.16.6363
Bug
Fixed column sorting for query views
macOS - Plastic: Fixed column sorting for query views Sorting columns on some views on macOS was not working as expected. This was broken in 10.0.16.6223 We fixed the issue and now all tables can be sorted without issues. These are the affected views:- Branches view
- Changesets view
- Labels view
- Shelves view
- Attributes view
- Code reviews view
Allow closing additional change requested editing…
All platforms - Client: Allow closing additional change requested editing the comment You can close a change requested in review by editing the comment of the changeset and adding the change to close (e.g.[apply-change:384d716f]Alpha new
New cross-platform GUI available!
All platforms - PlasticX: New cross-platform GUI available! Hi everyone! We are happy to announce that we are currently working on a new cross-platform GUI for Plastic SCM, code-named PlasticX! At this stage in development, we are looking for early adopters who would be willing to try the new GUI and give us some feedback. All you need to do is sign up and we will contact you with instructions on how to get started, provide feedback and report issues. SIGN UP HERE There is no commitment - you will be able to easily switch back to the GUI you are using today if needed. PlasticX is available for our developer GUI at this time. It will eventually replace the existing GUI, so this is a wonderful opportunity for you to influence the direction of Plastic SCM! The latest alpha version also provides significant macOS stability improvements that you can benefit from right away. And we are almost at feature parity! The missing features will be available in the coming weeks. You will also be able to try out our new dark theme which is now an option in the new GUI! Find some eye opening screenshots below! :-) macOS running light theme:
Screenshot

Screenshot

Screenshot

Screenshot

Screenshot

Screenshot

Screenshot

Screenshot
Show progress while saving code review comments
All platforms - PlasticX: Show progress while saving code review comments When you create a new code review comment, or modify an existing one, saving the comment may take some time (especially if you have configured a trigger to run after the operation). We weren't showing any feedback during this operation. Now we have added a progress control next to the save button, to let the user know that the comment is being saved.
Screenshot
image diff viewer completed
All platforms - PlasticX: image diff viewer completed Completed the image diff viewer with the following new modes:- Onion skin: places one image over the other, with a slider to control transparency.
- Differences: displays the differences between two images, calculated pixel by pixel.
- Swipe: overlays the two images and allows you to transition between them using a slider.
- View the differences between images of different sizes.
- Zoom with a smooth animation.
- Navigate around an image by clicking and dragging.
Improvements in the create workspace dialog
All platforms - PlasticX: Improvements in the create workspace dialog We added a checkbox in the create workspace dialog that lets you create workspaces in dynamic mode. Check it out:
Screenshot
You can learn more about dynamic workspaces here: [https://blog.plasticscm.com/2021/07/dynamic-workspaces-alpha-for-windows.html Dynamic Workspaces (alpha) for Windows: A new way to interact with version control] In addition, we added a "New" button, next to the repository label, that lets you create a new repository right from that dialog<EnableCreateDynamicWorkspace>false</EnableCreateDynamicWorkspace>
Alpha bug
Fixed null exception when navigating the items tr…
All platforms - PlasticX: Fixed null exception when navigating the items tree There was an issue when navigating the workspace explorer tree with the arrow keys: up and down keys should change the selection to the node above or below, and right and left keys should expand or collapse directories. When pressing the right key when a file is selected, we were throwing a null exception, because it couldn't be expanded. We fixed this issue10.0.16.6307
New
We're updating the Spanish version of the command…
Command-line client: We're updating the Spanish version of the command-line help. The documentation of these commands is now completely updated and match the English version of the command-line help:-
add -
annotate -
branch -
checkin -
checkout -
clone -
diff -
undo -
update
On the License configuration area, the button tha…
All platforms - WebAdmin: On the License configuration area, the button that takes you to sign up in plasticscm.com when you don't have a license in place now takes you to your licenses. Before it just took you to the sign up form.10.0.16.6280
New
Triggers no longer wait if parent process has exi…
All platforms - Plastic: Triggers no longer wait if parent process has exited and a child process is invoked. Previously, triggers that launched a child process would wait for it to exit before returning. Now they allow the child process to run in the background while the trigger returns.cm archive command help improvements
Command line client: cm archive command help improvements Added more information and examples about the required use of the externaldata.conf file when unarchiving (restoring) an archived revision. New samples:1) Archive one revision: cm archive Assets/RoofTextures/Textures/Wooden_Roof_05.png --file=/Users/ruben/archive/battle 2) See the archived revision in the specified output path: ls -al /Users/ruben/archive/battle* -rw-r--r-- 1 ruben staff 2220039 Nov 9 10:52 /Users/ruben/archive/battle-100280-167 Unarchive (restore) example: 1) Add the output archive folder to the externaldata.conf file: vi /Users/ruben/.plastic4/externaldata.conf /Users/ruben/archive 2) Unarchive the revision: cm archive Assets/RoofTextures/Textures/Wooden_Roof_05.png --restore
Updated the cm partial add documentation to inclu…
Command-line client: Updated the cm partial add documentation to include the formatting arguments. Now, thecm partial add--format--errorformatcm partial add -R * --format="ADD {0}" --errorformat="ERR {0}"
Updated the cm lock list documentation to include…
Command-line client: Updated the cm lock list documentation to include the "machine readable" arguments. Now, thecm lock list--machinereadable --startlineseparator--endlineseparator--fieldseparatorcm lock list --machinereadable --startlineseparator=">" --endlineseparator="<" --fieldseparator=","
New ThreadPool boosting system to avoid long wait…
All platforms Server: New ThreadPool boosting system to avoid long waiting requests The server allows creating new threads to attend to the requests and goes beyond the max thread limit if needed. Before this task, the boosting mechanism handles the slow requests (calls running for too long) and the too many requests waiting. Now it also handles when the request is waiting for too long. It's helpful on the following scenario: The server receives a high number of requests for a while. It's able to attend almost all of them with the current threads but not all, so the request queue starts growing little by little. The old mechanism detects it when the queue grows too much. But this new mechanism detects it much earlier, improving the server responsiveness.Bug
Fixed the Lock Rules page
All platforms - WebAdmin: Fixed the Lock Rules page The Lock Rules page in the Plastic server WebAdmin displayed an error. We fixed it, so now you can review/set the lock rules in your on-premises server again.Fixed download data operations (update) waiting f…
All platforms - Cloud: Fixed download data operations (update) waiting for other operations to complete. In the detected case, the download data calls waited for a delete data operation (like removing a changeset) to finish. This happened because we had a common throttle to limit the number of concurrent operations against the blob storage. Now, each operation type has its own throttle.10.0.16.6241
New
Parallel download for big files now available!
All platforms - client: Parallel download for big files now available! Big files are stored in blocks, and now each block can be downloaded in parallel, achieving an incredible speed up. We tested downloading a 560 MB file from Plastic Cloud using a 600mbps connection and now the speed is 2.5 times faster.cm find branch allows formatting using the branch…
All platforms - Command line client: cm find branch allows formatting using the branch guid. Previously runningcm find branch --format={guid}Client: 27% less memory during the update operati…
All platforms: Client: 27% less memory during the update operation We worked on saving memory allocations on the client core, and finally, we were able to reduce up to 27% of the total allocations during an update operation. Find some numbers here: We ran a 'cm update' to download 8GB of data and:- Before: cm allocated 636MB
- After: cm allocated only 460MB (27% less)
Archiving revisions is now available in Cloud!
All platforms - Cloud: Archiving revisions is now available in Cloud! You can reduce the size (and the costs :)) of your cloud repositories by archiving revisions to an external storage. Check the whole archive documentation here. In summary, we can simply archive one revision as follows:After executing the command, we can see the archived revision in the specified output path:cm archive Assets/RoofTextures/Textures/Wooden_Roof_05.png --file=/Users/ruben/archive/battleTotal 2.131 Mb. Comp. 2.117 MbCommand finished successfully
To unarchive the revision, firstly, we need to add the output archive folder to the externaldata.conf file:ls -al /Users/ruben/archive/battle*-rw-r--r-- 1 ruben staff 2220039 Nov 9 10:52 /Users/ruben/archive/battle-100280-167
and run the command to unarchive the revision:vi /Users/ruben/.plastic4/externaldata.conf/Users/ruben/archive
And that's all :). Now, let's answer some questions: How can I archive all the revisions bigger than 10 MB? Very easy! Just find for the revisions bigger than 10MB in the repo and pass them to the 'cm archive' command as follows:cm archive Assets/RoofTextures/Textures/Wooden_Roof_05.png --restoreTotal 2.131 Mb. Comp. 2.117 MbCommand finished successfully
Remark: the 'cm archive' command also supports pipe to receive arguments from the standard input as follows:cm archive $(cm find "revs where size > 10000000 on repository 'repo@org@cloud'" --format=rev:revid:{id}@repo@org@cloud --nototal | paste -sd " " -) --file=/external/archive
How can I archive all the revisions of the file '/arch.zip' file? Guess what? Very easy too! Just find for all the revisions of that item and pass them to the 'cm archive' command as follows:cm find "revs where size > 10000000 on repository 'repo@org@cloud'" --format=rev:revid:{id}@repo@org@cloud --nototal | cm archive - --file=/external/archive
How can I archive all the revisions except the last one loaded in br:/main? It's exactly like the previous command but adding a condition to the find to skip the revision loaded in br:/main.cm archive $(cm find "revs where itemid=$(cm ls /arch.zip --tree=br:/main@repo@org@cloud --format={itemid}) on repository 'repo@org@cloud'" --format=rev:revid:{id}@repo@org@cloud --nototal | paste -sd " " -) --file=/external/archive
The possibilities are infinite using find conditions with the ls command to resolve revision and item ids. The 'cm archive' command only needs a list of revisions that we can filter as we prefer.cm archive $(cm find "revs where itemid=$(cm ls /arch.zip --tree=br:/main@repo@org@cloud --format={itemid}) and id != $(cm ls /arch.zip --tree=br:/main@repo@org@cloud--format={revid}) on repository 'repo@org@cloud'" --nototal --format=rev:revid:{id}@repo@org@cloud | paste -sd " " -) --file=/external archive
Added alpha version to the logo
All platforms - Web UI: Added alpha version to the logo We added the "Alpha" label to the logo to show that WebUI is a pre-release early version.Bug
Fixed displayed user name on Active Directory ser…
All platforms - Plastic, Gluon: Fixed displayed user name on Active Directory servers When working with a repository on a server configured with Active Directory, if the server was not your default one, we were displaying the user ID in the Active Directory instead of the user name. This issue was fixed, and now you will always see the user name Before:
Screenshot

Screenshot
Fix help panel in repositories view
All platforms - Plastic, Gluon: Fix help panel in repositories view We had an issue with the help panel in the repositories view and cloud view: we were always showing it, even when the user checked the "Don't show again" checkbox. Now we only show it when it's neededFixed null error from the log
All platforms - Server: Fixed null error from the log The server was logging a null error when a not-used connection was finished. This error didn't have any impact apart from being logged. Now it's fixed.10.0.16.6210
New
Added SSO login method names
All platforms - Plastic, Gluon: Added SSO login method names We are getting ready to support new SSO login methods, in addition to the existing "Unity ID" and "Email". We are adapting the GUIs to render the actual method name in the SSO buttons:
Screenshot
Undo operation from outside the workspace
All platforms - CLI: Undo operation from outside the workspace. Added a new example to thecm undocm undo c:\otherworkspace\file.txt
Added configuration key for the webUI config file…
Server: Added configuration key for the webUI config files. WebUI configuration files can now be placed on a different location through a setting placed in server.conf config file. To set this custom path, add an entry to that file like the following below:And copy there the webUI config files, such as webui.secret.conf, webui.tokens.conf, webui.userid.conf, and webui.users.conf<WebUiConfigDir>/opt/plasticscm5/server/webuiconfig</WebUiConfigDir>
Bug
Fixed the parsing of the cloud tokens when they e…
All platforms - Client: Fixed the parsing of the cloud tokens when they ended with '='. This could make a replica fail with a "The auth token expired." error. This only applied to the email/password authentication and usually with short passwords. A replica operation (pull/push) could work properly for some time until it needed to renew the token because the current one had expired. Since the renew token was not properly parsed in the client side, the renew operation failed and the operation was aborted.Code review switching comments
All platforms - Web UI: Code review switching comments Fixed an issue while switching comments: if the current file was changing, it was displaying the first diff instead of displaying the selected comment.10.0.16.6179
New
Now you can specify tokens and cloud region confi…
All platforms - CLI: Now you can specify tokens and cloud region configuration for every command We added new global parameters to the CLI. They allow you to tune the configuration tokens and cloudregions files to use for command execution. So you don't need to have them configured on the machine. It's useful for integrations where there is no previous configuration. The new parameters are:- --tokenconf=[token_conf_path] - allows specifying the token file to use for the command execution.
- --cloudregionsconf=[cloud_region_conf_file] - allows specifying the cloudregion file to use for the command execution
cm repo ls --clientconf="C:\mysharedconf\client.conf" --tokensconf="C:\mysharedconf\tokens.conf" --cloudregionsconf="C:\mysharedconf\cloudregions.conf"
Change password in User/Pass auth mode is now ins…
All platforms: Change password in User/Pass auth mode is now instant. Prior to this version, changing user's password in User & Pass authentication mode required up to 5 mins to be updated in the server. From now on, changing a password is immediate. If the password is changed in the server, just open the "Preferences" > "General" window in your Plastic SCM client and enter the new password. REMARK: A credentials prompt could be shown in the Plastic SCM client under the following conditions:- Your client is configured/connected to a server in User/Password mode.
- Your client has also a persistent server profile to connect to the same server.
- Then, your password is changed in the server.
The warmup of a server under heavy load has been…
All platforms - Server: The warmup of a server under heavy load has been improved by x20 when using the UP authentication mode for groups. This is valid when using the UP authentication mode or the mixed LDAP + UP groups mode (in both, the groups are read from the groups.conf file). The bigger is the number of groups and users/groups inside these groups, the more noticeable is the performance improvement. The x20 improvement has been measured using 12000 group entries.the "plasticscm-proxy-server" is now the default…
Linux - Proxy: the "plasticscm-proxy-server" is now the default proxy package, netcore-based. We renamed the "plasticscm-proxy-server-netcore" to just "plasticscm-proxy-server", and we removed any plastic proxy compilation based on mono stack. So, to install the proxy, use this package name from now on: "plasticscm-proxy-server". REMARK: some distros (centos, opensuse, fedora) could require the removal of legacy "plasticscm-proxy-server-netcore" package before installing the new one. If so, please remove the "plasticscm-proxy-server-netcore" on your package manager before installing the new "plasticscm-proxy-server" (the legacy configuration is kept during the upgrade)Bug
Updating a workspace to the head of the branch wi…
Windows - plasticfs: Updating a workspace to the head of the branch with changes in the workspace discarded said changes. This scenario is more likely to happen when you are working on a branch with a colleague. They do a change, check it in, and then you update your workspace to grab the change. In a static workspace, you get to keep your workspace changes (both local and controlled), and even merge your changes with the incoming ones if needed! In a dynamic workspace, we were overriding your workspace changes. Not anymore, now both static and dynamic workspaces behave the same way.Fixed a bug where if you had an assigned review y…
All platforms - Web UI: Fixed a bug where if you had an assigned review you'd see an empty list when going to the code reviews page.Aesthetic fix: removed confusing warning message…
Linux - Installers: Aesthetic fix: removed confusing warning message while installing the client The package installer in the supported Linux distributions printed this message when it processed the dependency package 'plasticscm-certtools-mono4':The package post-install script pre-populates the Mono certificate store from Plastic SCM trusted domains. One of those was 'cloud.plasticscm.com', which is now deprecated. This error didn't prevent the package from completing the installation, but it could alarm users. Now the message won't appear anymore, and the package imports the certificates from the proper domain (plasticscm.com).Could not resolve host 'cloud.plasticscm.com'
Fixed 'Selector can't locate a revision for the i…
All platforms - Plastic, Gluon: Fixed 'Selector can't locate a revision for the item xxx' error when checking-in local changes (changes done outside Plastic). The problem was related to moving a controlled file into a private folder. The issue could be reproduced as follows:- Create in disk a workspace with the below file structure and check it in.
/Assets/Folder1/Assets/Folder1/Folder2/Assets/Folder1/Folder2/Folder3/Assets/Folder1/Folder2/Folder3/New Material.mat/Assets/Folder1/Folder2/Folder3/New Material.mat.meta/Assets/MoveTo
- In Windows Explorer, move the folder /Assets/Folder1/Folder2/Folder3 to /Assets/MoveTo.
- Edit the content of the file/Assets/MoveTo/Folder3/New Material.mat.meta.
- Try to checkin the current pending changes from the Plastic GUI.
Updating a workspace to the head of the branch wi…
Windows - plasticfs: Updating a workspace to the head of the branch with changes in the workspace discarded said changes. This scenario is more likely to happen when you are working on a branch with a colleague. They do a change, check it in, and then you update your workspace to grab the change. In a static workspace, you get to keep your workspace changes (both local and controlled), and even merge your changes with the incoming ones if needed! In a dynamic workspace, we were overriding your workspace changes. Not anymore, now both static and dynamic workspaces behave the same way.Fixed the following issues
All platforms - Web UI: Fixed the following issues- Not seeing the repository name in the breadcrumb navigation
- The menu not being selected when clicking on an item in a list e.g., when viewing the code review details.
Fixed the revisions displayed in the code review
macOS - Plastic: Fixed the revisions displayed in the code review Under some circumstances in the code review, when you switch between the review modes or changesets the revisions displayed for the selected file in the diff viewer were not the correct ones. We fixed it, and now you will see the correct differences.Fixed the parsing of LFS pointers that don't end…
All platforms - GitSync: Fixed the parsing of LFS pointers that don't end with '\n'. If (somehow) you have a LFS pointer in a wrong format (without the ending '\n') in your repo, now, we support it too! This link shows the specification of the LFS pointers and how every entry has to end with '\n'.Fixed image preview being stretched in code revie…
All platforms - Web UI: Fixed image preview being stretched in code reviews10.0.16.6141
New
Triggers can now run from Global Config
All platforms - Plastic: Triggers can now run from Global Config One of the challenges when you need to run client-side triggers is to deploy them. We have helped fix this problem by allowing triggers to be run from Global Config, which is a special repository that is deployed to all client workstations (or laptops :P). This way you just place your trigger in your Global Config repo, and every user will have it available. To run the trigger, we introduced a new variable @GLOBAL_CONFIG_PATH, that will point to the global config directory of the server you're using. So now you can create a trigger using a command like the following:You can learn more about triggers here: https://www.plasticscm.com/documentation/triggers/plastic-scm-version-control-triggers-guidecm trigger create before-clientcheckin "Relative trigger path" "bash @GLOBAL_CONFIG_PATH/allrepos/triggers/trigger.sh"
Bug
Fixed checking free space on database path when a…
All platforms - Server: Fixed checking free space on database path when a relative path was specified in the config. Server failed to ensure a minimal storage when jet directory was set up using a relative path in jet.conf base path. Now it is fixed.10.0.16.6112
New
Now you can specify working mode, user and passwo…
All platforms - CLI: Now you can specify working mode, user and password for every command We added new global parameters to the CLI. They allow you to fine tune the credentials that will be used to run the command. Additionally, the command will be able to run without a client.conf file if you specify the working mode and credentials. The new parameters are:- --server=[server] - override the default server defined in client.conf
- --workingmode=[mode] - specify the working mode to use. Valid values are: nameworkingmode, adworkingmode, upworkingmode or ldapworkingmode.
- --username=[username] - specify the username to use in client connections. Required for 'upworkingmode' or 'ldapworkingmode'.
- --password=[password] - specify the password to use in client connections. Required for 'upworkingmode' or 'ldapworkingmode'.
cm repo list --server=guestOrganization@cloud \--workingmode=ldapworkingmode \--username=myuser@email.com \--password=mypassword
Security upgrade on LDAP user authentication mode
All platforms - Server: Security upgrade on LDAP user authentication mode. We upgraded the LDAP authentication mode for security reasons. After upgrading the server to this version, users running Plastic SCM client versions older than 9.0.16.4272 could show an informative window asking for an application restart of the Plastic SCM client. After this restart, the client will automatically use the upgraded authentication mode. Remark: The client might also prompt a credentials window to retype user's credentials.The clients are now more resilient over unstable…
All platforms - All clients: The clients are now more resilient over unstable networks. We improved our method call retry mechanism. With these changes, the client can handle slow networks and connectivity loss in a more reliable way, reducing the number of times an operation gets abandoned because of issues when contacting the server.Copy comment GUID
All platforms - Web UI: Copy comment GUID- Added a button to copy comment's GUID in clipboard
Added support to install Plastic SCM in Debian 11
Linux: Added support to install Plastic SCM in Debian 11 Prior to this relase, installing Plastic SCM with the package manager failed due an unmet dependency to a third-party library (libicu). Now it is fixed, the dependency is met, and installing Plastic in Debian 11 is now possible.Bug
Fixed an AccessViolationException error
All platforms - Server: Fixed an AccessViolationException error The server failed with an access violation exception in very rare concurrency circumstances. It happened when the TCP connection was killed while the server was writing the response on it. Most of the time, it was totally possible end the client connection when the operation was still running without any problem. This is indeed a very common scenario that happens all the time and without major issues. But if you saw your server process gone with no reason, you could be facing this issue.10.0.16.6089
New
View History is now shown in folder background co…
Windows - Shell Extension: View History is now shown in folder background context menu View history was visible when showing the context menu of a file or folder. Now it is also shown when displaying the context menu of a folder's empty space.The 'showmethodlist' and 'htop' plasticd shell co…
All platforms - Server: The 'showmethodlist' and 'htop' plasticd shell commands show more detailed information regarding trigger execution. Now, when a server call enters the phase in which it runs a trigger, the status of the underlying connection will reflect so. This way, if the server is stuck running a trigger, you can easily debug it using the 'plasticd shell' debug tool. You can see an example here: I created abefore-mkbranchplasticd shellshowmethodlistStatus=Triggerlocalhost:8087> showmethodlistACTIVE METHOD CALLSName Request IP Time Thread Status Protocol Sec UserCreateBranch 9 127.0.0.1 00:00:03 21 Trigger Plastic None sluispTotal calls: 10 requests enqueued. 1 worker threads (0 free)
Configurable timeout for server-side triggers
All platforms - Server: Configurable timeout for server-side triggers. A timeout can now be set for server-side triggers (it is set to 2 minutes by default). You can change the timeout by adding this to theserver.confOr entirely disable the timeout:<TriggerProcessTimeoutSeconds>120</TriggerProcessTimeoutSeconds>
<TriggerProcessTimeoutSeconds>-1</TriggerProcessTimeoutSeconds>
Bug
Fixed the following issues
All platforms - Web UI: Fixed the following issues- After commenting on a code review with the whole branch selected, the comment doesn't show on the file if newly changesets were added to the branch;
- Fixed the list of comments cutting the last comment when the list scrolls;
- Disallow users to add comments on files outside code reviews;
- Fixed error popup in the desktop client when opening code reviews with conversations.
10.0.16.6064
New
Use relative date in the default changesets query
All platforms - Plastic: Use relative date in the default changesets query When using a custom query in the changesets view to filter the results, by default we were using a query like the following:This is a fixed date, that will not automatically change on future queries. We changed this to a relative query, that will produce different results depending on when it's executed:find changesets where date > '8/21/2021'
To see the updated default query you may need to delete your queries.conf file in your Plastic config folderfind changesets where date > '1 months ago'
Bug
fixed New Version Notification in Japanese
All platforms - Plastic, Gluon: fixed New Version Notification in Japanese When a new version of the client is available, the "Help Owl" will pop up a help panel to let you know and provide you with a link to download the latest version. Sadly, the Japanese Help Owl had gotten a little confused and his/her panel was incorrectly formatted. We re-educated the owl, and now the panel looks good:
Screenshot
10.0.16.6060
New
Code reviews improvements
All platforms - Web UI: Code reviews improvements- Added changesets select box to the changed files panel for easier changeset selection.
- Removed the whole branch switch from the changesets panel since it was redundant.
- Added badges for comments and conversations to easily spot how many are present.
Added LFS support for GitLab & Bitbucket when pus…
All Platforms - GitSync: Added LFS support for GitLab & Bitbucket when pushing changes over SSH. LFS was previously supported for GitLab & Bitbucket over https. However, the push operation (pushing changes from Plastic to Git) failed over SSH. Fixed.File history improvements
All platforms - Web UI: File history improvements: We removed the previous branch/label filter since it doesn't work correctly with the context of the history list and implemented individual filters for branches and types instead. We also added a button to go back to the file and individual download buttons for each entry in the history.Dockerfiles considered as txt files
All platforms - Plastic, Gluon: Dockerfiles considered as txt files Before this change, we were considering Dockerfiles as binary files by default, and users had to manually add the following line in filetypes.conf to consider them as text files: Dockerfile:txt Now they are considered as text by default10.0.16.6038
New
User reload users and groups time configurable
All platforms - Server: User reload users and groups time configurable The server reloads the needed users and groups from the authentication provider every 5 minutes. Now you can configure this time on the server.conf. Adding the setting "ReloadUsersRefreshTimeSpan" with the refresh time on the following format [d.]hh:mm:ss. For example, if you want to do the refresh every hour, you should add the following to the server.conf.<ReloadUsersRefreshTimeSpan>01:00:00</ReloadUsersRefreshTimeSpan>
Bug
Various fixes and improvements
All platforms - Web UI: Various fixes and improvements:- Repositories list: fixed breadcrumbs not showing;
- File explorer: when switching branches/labels it redirects to the root of the branch/label if the current displayed file/folder doesn’t exist;
- Code Reviews, Branch view, etc.: if the navigation is collapsed and changing the comment or trying to view the reviewers list it now expands it, before it wasn't doing anything;
- Code Reviews, Branch view, etc.: Fixed portrait images being cut;
- Code reviews: Hide changesets panel for changeset reviews;
- Improved the order of breadcrumb items so when clicking on the repository name it goes to the File explorer instead of going to the Repositories list and when clicking on the organization it goes to the Repositories list instead of going to the dashboard;
- Update login page text colors, font sizes and elements spacing;
- Removed the page content fixed width for screens above 1920px;
Fixed xlink content not being shown correctly in…
All platforms - Web UI: Fixed xlink content not being shown correctly in code reviews.10.0.16.6023
New
All the Linux client packages will now bundle a n…
Linux - Command line client: All the Linux client packages will now bundle a netcore-compiled command line client! From now on, the command line client ("cm") will be a netcore-based application, replacing the mono-based command line client, that had several stability glitches, it lacked some features (latest SSL protocols) ... but now we use the netcore-based "cm" application compiled to target Linux-x64 archs specifically. Enjoy! Find below some performance improvements: A) Update operation test: Workspace of 110K items sizing 545MB. Instance: CentOS 7 rackspace instance of 15GB I/O v1 Time downloading the full workspace ('cm update' operation) with version 10.0.16.6001 (cm mono): 310s Time downloading the full workspace ('cm update' operation) with version 10.0.16.6023 (cm mono): 256s (21% faster) B) Checkout test: Workspace of 16K items, 137MB Time performing a checkout recursive operation on the full workspace with version 10.0.16.6001 (cm mono): 5.4s Time performing a checkout recursive operation on the full workspace with version 10.0.16.6023 (cm netcore): 3.2s (68% faster)Fixed an error that sometimes caused the server t…
All Platforms - Cloud Server: Fixed an error that sometimes caused the server to fail when trying to use Google storage blobs There was a race condition present when setting authorization headers that would sometimes cause an error alike to "Error getting data of ... - Value cannot be null." This should no longer happen.10.0.16.6001
New
Code review conversations
All platforms - Web UI: Code review conversations- Added a new feature for users to create code review conversations, they are different from comments since they are not tied to a specific file change and their purpose is to shed light into the purpose of the whole code review.

Screenshot
Bug
Fixed CORS issue when loading static assets like…
Cloud - Web UI: Fixed CORS issue when loading static assets like images or filesfixed an error when viewing binary metadata
All platforms - Web UI: fixed an error when viewing binary metadataFixed an instance where an error wasn't displayed…
All platforms - Web UI: Fixed an instance where an error wasn't displayed correctly if the file was too largeFixed error when loading text files that are not…
All platforms - Web UI: Fixed error when loading text files that are not encoded in UTF8Various fixes & improvements
All platforms - Web UI: Various fixes & improvements:- Added missing support for multiple reviewers to the code review list;
- Updated code review navigation icons to match the overall icons styling;
- Replaced branch icon;
- Creating a code review now appends the branch or changeset comment to the title, to match the same behavior as the desktop client.
10.0.16.5975
New
It now supports LFS when syncing from Github Ente…
All platforms - GitSync: It now supports LFS when syncing from Github Enterprise servers, GitLab and Bitbucket! Before this, it only supported GitHub (cloud). No extra configuration is needed to take advantage of this. Just try it!Fixed the server command line option --websocketp…
All Platforms - Server: Fixed the server command line option --websocketport to use the right port. Also, the websocket port is only started when the configuration setting EnableDevOps (located in server.conf) is enabled.Fixed exception not allowing to leave TCP port un…
All platforms - Server: Fixed exception not allowing to leave TCP port unset while having a SSL port setSaving organizations.conf is now written out atom…
All Platforms - Server: Saving organizations.conf is now written out atomicallyBug
Fixed the client configuration action
macOS - IntelliJ IDEA/Rider plugin: Fixed the client configuration action The "Configure client" button in the Plastic SCM preferences panel produced an error. This happened because the plugin looked for an outdated installation path. We changed it to run /usr/local/bin/macplastic instead. Now, if you click that button, you'll see the Plastic SCM configuration window.Added more information when an attribute changed…
All platforms - Web Triggers: Added more information when an attribute changed its value Now when the value of an attribute changed its value the name of the branch or the changeset where it belongs appears at the description of the message in Slack, Discord ...10.0.16.5953
New
Authentication token was moved to sessionStorage
All platforms - Web UI: Authentication token was moved to sessionStorage This change was done to allow users to log in to multiple organizations at the same time in the same browser. The authentication token will be stored until the user closes the browser tab. Opening WebUI in a new tab will require the user to authenticate again.Bug
fixed issue where delete dialog was too big
Windows - Plastic: fixed issue where delete dialog was too big When you delete files or other objects in Plastic it helpfully lists them in the confirmation dialog so you can confirm you're deleting the correct things. However, if you tried to delete a lot of things at the same time, this would become substantially less helpful, because the OK / Cancel buttons could end up pushed down off the bottom of the screen. We fixed this by limiting the list to show at most 10 items.10.0.16.5935
New
Replicating a repository using "cm clone" will no…
All Platforms - Server: Replicating a repository using "cm clone" will no longer fail if that repository has shelvesGlobal Code Review comments
All platforms - Web UI: Global Code Review comments- Added the ability to add comments for the entire code review
- Updated the comments list to reflect which comment is assigned to a file and which one is assigned to the whole code review
- Enabled the comments panel even if there are no comments available

Screenshot
404 Not Found page
All platforms - Web UI: 404 Not Found page- Updated the 404 Not Found page look & feel
- Updated various views to redirect to the 404 Not Found page if the resource doesn't exist

Screenshot
Bug
Fixed File Explorer Readme.txt preview not render…
All platforms - Web UI: Fixed File Explorer Readme.txt preview not rendering new lines10.0.16.5917
Bug
Fixed code review comments appearing and being ad…
All platforms - Web UI: Fixed code review comments appearing and being added on the wrong lineImages were not properly shown and files could no…
Cloud - Web UI: Images were not properly shown and files could not be downloaded. Fixed.Fixed error when opening a code review comment on…
All platforms - Web UI: Fixed error when opening a code review comment on a file when the whole branch is toggled on.10.0.16.5903
New
Editing changesets to retroactively link to a cod…
macOS - Plastic: Editing changesets to retroactively link to a code review will now mark the change requests referenced as done For example, lets say you are fixing issues from a code review. You solve the problem brought up in the change request b78993b but forget to include it in your comment when checking in the changes:To fix this, you can edit the comment in the properties panel, comparison view or via the command line to add the correct annotation:Fixed the issue
Previously this would do nothing but now it will mark the change request as done.[apply-change:b78993b] Fixed the issue
10.0.16.5882
New
Enabled mounting plasticfs workspaces under netwo…
Windows - Plasticfs: Enabled mounting plasticfs workspaces under network share paths Sometimes running commands under a plasticfs mount can fail with the message 'The volume does not contain a recognized file system.' This is because plasticfs by default do not use the Windows Mount Manager. In order to work around this it's now possible to create workspaces with network paths such as '\workspace\path' (or any other path in the form ' \____') which will use the Windows Mount Manager and therefore doesn't have this problem. For example, lets say you have a repository called 'Test Repo' that you want to run a python script in but keep encountering an error similar to the one above. To work around this you can create a new workspace for 'Test Repo' with the path '\test\repo' that will work for running your python script in. Creating the workspace in this way has these minor usage issues:- The 'Open in Windows Explorer' menu option (in Plastic & Gluon) doesn't open the selected folder/file. It just opens a new Windows Explorer window.
- The thumbnail preview doesn't work in Gluon.
- The workspace cannot be moved (using the 'cm workspace move' command).
Bug
Fixed UI lag after opening files
All Platforms - JetBrains IDE Plugin: Fixed UI lag after opening files We detected that some files caused the UI to freeze after opening them. This happened for files that were modified after applying a shelveset in the current workspace. The annotate operation that the IDE runs after open took a long time until it failed. We modified this so the UI doesn't get stuck anymore. The annotate operation is now safely running in the background and doesn't block any other underlying Plastic SCM operations.10.0.16.5859
New
Wake On Lan support added to clients
All platforms - All clients: Wake On Lan support added to clients. If your personal server runs on a different computer and it goes to sleep but supports WOL, the Plastic clients will send a magic Wake On Lan packet to try to wake it up. We added support for Linux, Windows and macOS, but the feature is still kinda experimental, so do not hesitate to contact us with suggestions..NET Core 'cm' is here!
macOS - Command line client: .NET Core 'cm' is here! All the macOS installers will now bundle a netcore-compiled command line client! From now on, the command line client ("cm") will be a netcore-based application, replacing the mono-based command line client, that had several stability glitches, it lacked of some features (latest SSL protocols)... but now we use the netcore-based "cm" application compiled to target macOS specifically. Enjoy! IMPORTANT REMARKS: 1- This new CLI client doesn't support issue tracker extensions yet. If you're using them, you might detect that checkins aren't logged in the configured issue tracker. We'll add support for that feature again in the future. 2- Thecm sync gitEditing changesets to retroactively link to a cod…
Windows - Plastic: Editing changesets to retroactively link to a code review will now mark the change requests referenced as done. For example, let's say you are fixing issues from a code review. You solve the problem brought up in the change request b78993b but forget to include it in your comment when checking in the changes:To fix this, you can edit the comment in the properties panel, comparison view or via the command line to add the correct annotation:Fixed the issue
Previously this would do nothing but now it will mark the change request as done.[apply-change:b78993b] Fixed the issue
Added support for FoxPro syntax highlight
Windows - Plastic: Added support for FoxPro syntax highlight. Now Plastic SCM displays syntax coloring for .prg source code files in the Diff Viewer (Windows only).The command "cm changeset edit" now correctly han…
All Platforms - Command line client: The command "cm changeset edit" now correctly handles GUIDs Previously this command only worked with changeset numbers. It now works if you refer to a changeset by its GUID. Example:cm changeset edit "89095131-895d-4173-9440-ff9ef9b2538d@project@cloud" "Changing my commit message"
Improved explanation text for directory conflicts
All platforms - Plastic: Improved explanation text for directory conflicts We add the words "Yours" and "Theirs" to the source and destination of a merge conflict to make it really clear where each conflicting change is coming from.Added the 'authtoken' command for generating auth…
All Platforms - Server: Added the 'authtoken' command for generating authentication tokens.This is useful if your Plastic SCM server is using LDAP or Active Directory authentication. In this case, we strongly encourage you to enable auth tokens for security reasons. You can enable it by editing your server.conf and add the following key:$ plasticd authtokenNEW-KEY-GENERATED
Where NEW-KEY-GENERATED will be actually the output of the 'plastic authtoken' command.<LdapTokenPrivateKey>NEW-KEY-GENERATED</LdapTokenPrivateKey>
switch to changeset
Windows - Gluon: switch to changeset This change is part of a set of changes mainly aimed at improving the workflow for Artists working in Unreal, but it is available to all users. Artists working in Unreal often run into problems because of the coupled nature of game engine code and assets. It is not clear to the Artist which changeset to work on, and if they choose incorrectly then checkins can overwrite game code. We have added a menu option to the Changesets view that allows you to switch the workspace to a specified changeset. This allows Artists to ensure their entire workspace is consistent and in the correct changeset. Here is where you'll find the new option:
Screenshot
Custom actions for Changesets
Windows - Gluon: Custom actions for Changesets You can now configure custom actions that can be launched from the Changesets view context menu. This feature has been available in Plastic for some time, and now we've made it available to Gluon users too. For more information, refer to configure external tools.- How to configure External Tools for changesets
changeset | <toolName> | <pathToExecutable> | <args>
- toolName: The name of the tool to be displayed in the context menu
- pathToExecutable: Absolute path to the targeted application
- args: The arguments to be passed to the targeted application. There are three currently supported placeholders: @object (replaced with the object name), @repository (replaced with the repository of the object) and @wkpath (replaced with the current workspace path). Please note that the replaced values might contain blank spaces, so they'll probably need to be surrounded with quotes.
This will create a menu item "Label changeset" under "External Tools" which applies the label "MyLabel" to the selected changeset. It should look like this:changeset | Label changeset | "C:/Program Files/PlasticSCM5/client/cm.exe" | label create lb:MyLabel cs:@object

Screenshot
Bug
Release notes link not working
Plastic, Gluon - Linux: Release notes link not working The release notes link in the About window on Linux didn't open the browser when clicking it. We fixed this behaviorFixed exception restoring differences in certain…
macOS - Plastic, Mergetool: Fixed exception restoring differences in certain scenarios. In macOS, when trying to restore a difference was placed in the last line on the right editor, it failed with an "Index out of bounds" exception. Now it's fixed.Fixed low contrast texts in Windows GUI for dark…
Windows, Plastic: Fixed low contrast texts in Windows GUI for dark themes. This is just an aesthetic issue. Using some themes (montana-dark, i3), the progress panels that appeared in the bottom when performing and "Update" or "Checkin" operation contrasted bad with the background. Now it's fixed.fixed error when deleting multiple branches
Windows - Plastic: fixed error when deleting multiple branches We corrected an unexpected error when deleting multiple branches at the same time. Note, the branches were deleted correctly, but an error was produced when updating the view after the delete.Fixed problems with Jira bound to Plastic changes…
Windows - Plastic: Fixed problems with Jira bound to Plastic changesets When you link a changeset to a Jira task there was an error that showed that the specific repository wasn't found. Now this is fixed, and you can select a changeset at the branch explorer view and click on any changeset without getting this error.Fixed server issue using security triggers
All platforms - Server: Fixed server issue using security triggers. Having a security trigger configured, the server could fail and terminate when an unauthorized user tried to get info from a repository. Now, it's fixed10.0.16.5816
New
Improved Active Directory security and performance
All platforms - Client and server: Improved Active Directory security and performance Now companies using Active Directory with Plastic server and clients running on Windows will benefit from extra performance (token based security) and security (we now use the underlying Negotiate protocol). To take advantage of it:- Upgrade clients and servers to this version.
- Set LdapTokenPrivateKey in server.conf. Check how to configure this value with support.
Bug
Fixed xlink navigation on cloud
All platforms - Web UI: Fixed xlink navigation on cloudUpdate the assigned reviewers menu badge when del…
All platforms - Web UI: Update the assigned reviewers menu badge when deleting the last one10.0.16.5790
New
Image display
All platforms - Web UI: Image display- Enabled image visualization on all pages;
- Removed the size limit for images on File explorer;
- Zooming is not currently supported but will be added in the future.

Screenshot
Bug
Fixed xlink navigation in file explorer for cloud…
All platforms - Web UI: Fixed xlink navigation in file explorer for cloud or enabled organization10.0.16.5780
Bug
Better error handling when trying to show user pr…
All platforms - Plastic: Better error handling when trying to show user profile in a cloud server When opening the user profile tab in the preferences panel, we were showing a connection error every time the user selected a cloud server. This is because cloud servers don't support user profiles, and the connection always fails. Now we handle this error, and show a proper error message when selecting a cloud server:
Screenshot
Fix file download and image display on cloud
All platforms - Web UI: Fix file download and image display on cloudFixed the following issues
All platforms - Web UI: Fixed the following issues- not being able to order lists when some data was empty;
- enabled file history details for all types of entries;
- restricting the display of the title of a code reviews to two lines for long titles (the plastic desktop client appends the branch description to the title);
- showing 0 reviewers in the code review details header if there are no reviewers added;
- when showing an alert the focus moves to it;
- allow to see the comments list when clicking on the comments button when viewing the details of a comment or have the new conversation form opened;
- closing the file explorer branch/label filter when selecting an item and preventing it from closing when clicking on the pagination.
fixed exception during check-in when console wind…
Command line client: fixed exception during check-in when console window is narrow We fixed a bug in building the animated check-in progress bar that caused an exception when the console window was too narrow to display the progress.The character '|' is allowed in the repository na…
All platforms - GitSync: The character '|' is allowed in the repository name. Before, the sync could not start if the character '|' was included in the repository name. It failed with the error "The git sync repository attribute cannot be properly parsed".10.0.16.5753
New
File history UI update
All platforms - Web UI: File history UI update- Consolidated the look & feel of the file history page.
- Extended the capabilities of search and filtering.

Screenshot
Undo operation from outside the workspace
All platforms - CLI: Undo operation from outside the workspace The undo operation of the Plastic CLI could only be performed from inside the workspace where the changes were to be applied. We changed this behavior, and now you can specify an absolute path to undo the changes in any workspace.Individual views UI refresh
All platforms - Web UI: Individual views UI refresh- Consolidated the look & feel of the branch, changeset & label details.

Screenshot


Screenshot
Add SSO working mode in clconfigureclient
All platforms - CLI: Add SSO working mode in clconfigureclient Now you can configure your Plastic client from the command line using SSO. You need to specify the user, server, and SSO token. Like this:clconfigureclient --language=en --workingmode=SSOWorkingMode --user=alvaro.berruezo@unity3d.com --server=codice@cloud --token=YOUR_TOKEN
Bug
Code review assigned to me filter now works with…
All platforms - Web UI: Code review assigned to me filter now works with multiple reviewers Previously the filter would only check the first reviewer in the list. Now, we check every user for a match.Fixed issue when obtaining user profiles
All platforms - Plastic, Gluon: Fixed issue when obtaining user profiles In the "User profile" tab inside the preferences panel, sometimes there was an issue retrieving the profile from the server: Cannot retrieve the profile from localhost:7178. Details: Error: ConnectFailure (Connection refused) We fix this issue - now we check if the server is listening before asking for the profile.Fixed the following issues
All platforms - Web UI: Fixed the following issues- Redirecting the user to the repos list if it doesn't have permissions for the current repo;
- Fixed spacing issues between file list and readme contents;
- Fixed navigation to the label diff from the labels list.
Replica progress showed weird messages
All platforms - Command line: Replica progress showed weird messages. If you ever seen a weird message like this in your replica:$cm clone codice@skullcito.codicefactory.com:9095 codice@localhost:6060 --authmode=LDAPWorkingMode --user=pablo --password=supersecretDestination repository 'codice@localhost:6060' already exists and it's empty.[#####.........................................................]- Total active users: {0} (8217)path is already used. Please unload the item (from the configuration view) and retry the operation. (0)Fetching metadata [###############...............]Pushing metadata [..............................]Introducing data [..............................][code]The "total active users thing" there.We just fixed it. We broke it during our localization effort, but it is now fixed.
Code review file list fixes
All platforms - Web UI: Code review file list fixes- Files that have been merged are now correctly displayed under the "merges" category.

Screenshot
- Changes to file system permissions are no longer hidden from the file list.
- Merge groups are now displayed and include the spec of the merge source.

Screenshot
- Refactor groups are also now displayed.
Fixed the following issues
All platforms - Web UI: Fixed the following issues- Fixed editing the title of a code review
- Clearing alerts when navigating to another url
10.0.16.5710
New
Makefiles considered as txt files
All platforms - Plastic, Gluon: Makefiles considered as txt files Before this change, we were considering Makefiles as binary files by default, and users had to manually add the following lines in filetypes.conf to consider them as text files: Makefile:txt makefile:txt Now they are considered as text by defaultThe plugin doesn't modify the .csproj anymore
Windows - Visual Studio Plugin: The plugin doesn't modify the .csproj anymore Our VS plugin used to write some properties in the project file (.csproj) to know whether the project is under Plastic version control. Now, the plugin will automatically detect whether you're using Plastic as Source control directly, without any need to use those properties.Checkin operation performance improved: 2x faster!
All platforms - Plastic, Gluon, Command line client: Checkin operation performance improved: 2x faster! We tweaked the default thread pools the checkin operation uses to upload data to the plastic server. With these new default settings, we expect the checkin operation to be 2x faster than older default settings (since we doubled these default thread pool values). We used the following setup to compare the old default values:- Hardware: bare Intel Xeon E5 1620 @3.6GHZ, 8GB RAM, 8 cores, Windows 10
- Networking: 1gbps wired network
- Plastic workspace: 20000 files, 2000 directories, 1.25GB total workspace size
- checkin the whole workspace to a plastic cloud repository by using command line:
Results:cm checkin c:/perf_workspace --timer --silent
- With old default settings, the checkin took 174 seconds.
- With new default settings, the checkin took 72 seconds (2.4x faster)
Branches list UI update
All platforms - Web UI: Branches list UI update- Consolidated the look & feel of the branches list.
- Extended the capabilities of search and filtering.

Screenshot
Fixed multiple repositories with same name in con…
All Platforms - Server: Fixed multiple repositories with same name in concurrency scenarios. If users attempted to create repositories with the same name at exactly the same time, sometimes the system would allow it. This has been fixed so you can no longer have duplicate repositories.Labels list UI update
All platforms - Web UI: Labels list UI update- Consolidated the look & feel of the labels list.
- Extended the capabilities of search and filtering.

Screenshot
Changesets list UI update
All platforms - Web UI: Changesets list UI update- Consolidated the look & feel of the changesets list.
- Extended the capabilities of search and filtering.

Screenshot
Bug
Fixed unexpected error in the branch explorer
Windows - Plastic: Fixed unexpected error in the branch explorer Sometimes, when clicking on the branch explorer before it finished launching, Plastic may throw an unexpected error. We protected this scenario and now it won't happenFixed file explorer performance issues when viewi…
All platforms - Web UI: Fixed file explorer performance issues when viewing large filesThe LDAP/auth token expired wrongly displayed
All platforms - All clients: The LDAP/auth token expired wrongly displayed. Two error messages were potentially displayed wrongly: The LDAP token expired. User: xxx The auth token expired: User: xx It happened if:- You were using Unity ID (SSO)
- And you changed your password in unity.com
- And your client.conf was pointing to your_org@cloud instead of "local" which is the default
Added warning to Code Review when item cannot be…
Windows, macOS - Plastic: Added warning to Code Review when item cannot be shown We improved the user experience for two scenarios:- A file is added, somebody makes a Code Review comment on it, and then that file is deleted in the same branch.
- A deleted file with a comment is not visible in the file list due to a filter
Code review changesets change
All platforms - Web UI: Code review changesets change Fixed a bug where, in code reviews, when changing changesets, it wasn't selecting the first file in the list.Allow checkin pending changes under an out of dat…
All platforms - Plastic, CLI: Allow checkin pending changes under an out of date Xlink The incoming changes said the message "There's nothing to download :-)" when you tried to checkin pending changes under a Xlink that was out of date. As a result, the checkin could not be completed. This happened when someone else worked directly against the repository of the Xlink and created a new changeset on it. Thus, the parent repository (the one that contains the Xlink) points to the branch head although there are new changes on the branch of the Xlink repo that needs to be merged. Now the checkin requires a merge on the Xlink. After running the merge, the checking can be completed.10.0.16.5668
New
Auto-update!
Windows - Plastic: Auto-update! Now you can update Plastic on Windows to the latest version from within the application itself. When Plastic detects that a new version is available, the help panel will display a notification telling you which version is available. On the help panel is a link to download the latest version. Here is the new version notification:
Screenshot

Screenshot

Screenshot
File annotations
All platforms - Web UI: File annotations Added support for file annotations (blame).
Screenshot
Bug
Fixed the following issues
All platforms - Web UI: Fixed the following issues- Corrected the code review reviewed button selected color
- Added missing latest changeset description to the file view
File annotations
All platforms - Web UI: File annotations- Fix annotations starting one line earlier.
- Fix failing navigation from annotations to the branch.
- Added default comment when there isn't one.
10.0.16.5664
New
The plugin doesn't modify the .sln anymore
Windows - Visual Studio Plugin: The plugin doesn't modify the .sln anymore Our VS plugin used to write some properties in the solution file (.sln) to know whether the solution has Plastic configured as version control. Now, the plugin will automatically detect whether you're using Plastic as Source control directly, without any need to use those properties.Bug
Code review semantic diff fixes
All platforms - Web UI: Code review semantic diff fixes Semantic diff has been reenabled after being fixed. You'll now be able to use semantic diff on code reviews for all supported file types.Fixed null reference opening the workspaces dialog
Windows - Visual Studio Plugin: Fixed null reference opening the workspaces dialog Using the Plastic plugin for Visual Studio, you would run into a null reference exception if you clicked the "Change current workspace" button in the "Workspace working info" panel and you don't have any workspace registered. This unlikely scenario could happen if you have a valid workspace on disk but an empty list of registered workspaces for your client in that machine.Cannot create an organization from the signup flow
All platforms - Plastic onboarding: Cannot create an organization from the signup flow Few releases back (10.0.16.5473) the possibility of creating an organization after signup got broken. Fixed.10.0.16.5642
New
Improvements to Korean translations
All platforms - All GUIs: Improvements to Korean translations We changed the translations of attribute and property based on user feedback. Thanks!Bug
Jet repository backup could misplace Jet metadata…
All platforms - Cloud Server: Jet repository backup could misplace Jet metadata files under rare conditions. This could lead to issues accessing the affected repository until an administrator manually solved the issue. This is now fixed!Can't replicate with fresh Cloud Edition
All platforms - Command line: Can't replicate with fresh Cloud Edition. We had a bug that made fresh Cloud Editions not using profiles (just using the default config) unable to replicate from its local server to cloud (or clone, pull) because the credentials were not sent correctly to the local server to connect to cloud. It only happened using command line if no replica from GUI happened first. It is fixed now.10.0.16.5622
Bug
We fixed a critical security issue in WebAdmin
All platforms - WebAdmin: We fixed a critical security issue in WebAdmin. If you're running an on-prem Enterprise server, you should update immediately to ensure the security of your Plastic installation. It fixes some security issues we found in our WebAdmin server management interface.10.0.16.5615
New
The workspace tree (plastic.wktree) file format h…
All platforms - All clients: The workspace tree (plastic.wktree) file format has been changed to read/save it in a much faster way! We have tested the new format with different workspace sizes (with 80000 and 400000 files/directories) and in different machines. The improvements are the following:- The time reading the tree is x2, x4 or even x10 times faster (depending on the machine tested).
- The time writing the tree is almost x2 times faster on average.
- Reading an workspace tree of 77000 items took 490 ms. Now, it takes 109 ms.
- Writing an workspace tree of 77000 items took 142 ms. Now, it takes 79 ms.
This format was originally published in release 10.0.16.5574 but we unpublish it because of the Unity plugin incompatibility. If you don't enable the new format, this version will revert the workspace tree to the previous format. This will allow you to use the workspace with the Unity plugin again. Some extra background about the file: The workspace tree metadata is stored in the plastic.wtree file inside the workspace metadata folder (wks/.plastic). This file is read every time use a workspace in the GUIs for first time or when running a cm command for a workspace. It is written every time we do a changes in the workspace (switch to a different branch/changeset, run an update, do a checkout, undo some changes, etc). Its size depends on the number of items loaded in the workspace, so for big workspaces the time reading (or saving it) can affect to the performance of the clients.<EnableNewWorkspaceTreeFormat>yes</EnableNewWorkspaceTreeFormat>
File Explorer README.md support
All platforms - Web UI: File Explorer README.md support Added support for README files in the File Explorer.
Screenshot
Various improvements
All platforms - Web UI: Various improvements- If there are assigned code reviews, when visiting the code review list for the first time, it shows the assigned reviews, otherwise, it shows all reviews.
- Avoiding resetting data when navigating from one list to another.
- Lowered the minimum loading transition animation
Versioned settings is now supported!
All platforms - TeamCity plugin: Versioned settings is now supported! We extended our plugin to support the Versioned settings feature in TeamCity. You can now enable it in any TeamCity project that consumes a Plastic SCM VCS root. More info about Versioned Settings here.Wildcard support in repository filtering
Plastic Triggers: Wildcard support in repository filtering. Triggers can now use wildcards to their repository filters, so they apply to either a single repository or a selected group of them. Now, when you add a repository filter to your trigger, you can specify the exact repository name or use * as a wildcard. This would affect multiple repositories that share part of the name. Examples:- For all your repositories rep:*
- For your website_intranet repository rep:website_intranet
- For all your website repositories rep:website*
Bug
prevent duplicate code reviews
All platforms - Web UI: prevent duplicate code reviewsFixed MarkAsUnresolvedButton key
All platforms - Mergetool: Fixed MarkAsUnresolvedButton key There was a missing key in one of the buttons in MergeTool, so the text wasn't being translated to the chosen localization Before:
Screenshot

Screenshot
Fixed systematic failures after a single build fa…
All platforms - Mergebot plugin for TeamCity: Fixed systematic failures after a single build failure The Mergebot plugin started failing systematically from the moment a build failed. This happened because the first thing the plugin does is to undo all changes in the build workspace. Since the mergebots use temporary shelvesets that get deleted if the build fails, the 'undo' command failed in the agent workspace. All following builds would fail to checkout their sources. We fixed that by protecting that initial 'undo' against errors.branch/changeset/label owners are no longer the c…
All platforms - Web UI: branch/changeset/label owners are no longer the current user and now show the correct ownerFixed the app not starting on Safari
All platforms - Web UI: Fixed the app not starting on SafariFix alerts not showing on some areas of the appli…
All platforms - Web UI: Fix alerts not showing on some areas of the applicationFixed sign in with email in Enterprise Edition
All platforms - Plastic, Gluon: Fixed sign in with email in Enterprise Edition When signing in to a cloud server in the Enterprise Edition of Plastic or Gluon, if using the email and password method, sometimes the sign in operation could never end, showing a progress icon forever. We fixed this, and now the operation either completes successfully or shows an errorFixed an issue related to the calculation of the…
All platforms - Server: Fixed an issue related to the calculation of the changesets to pull when it involved moved changesets. Now the pull preview doesn't show the moved changesets as pending to replicate. Previously, the pull preview ('cm pull br:/main@repoA repoB --preview') showed the moved changesets as pending to replicate (incoming changes or outgoing changes). Those changesets were proposed again and again, as the replication skip them as they were already replicated.The branch head was not properly set after moving…
All platforms - Server: The branch head was not properly set after moving a changeset that was in a 'subbranch'. Fixed.
Screenshot
Various fixes
All platforms - Web UI: Various fixes Code review details:- Hide reply text area until the reply button is pressed
- Added tooltips for conversation's icon buttons
- Fixed organization not showing in the breadcrumbs on cloud
- Default date ranged changed to last two months from last week.
Removed semantic diff on code reviews until it's…
All platforms - Web UI: Removed semantic diff on code reviews until it's fully implemented.Error when deleting private files has been fixed
All platforms - Plastic: Error when deleting private files has been fixed. There was thrown an error when trying to delete multiple private files at the same time. It was broken in prevoius version 10.0.16.5533. Now it is fixed.
Screenshot
Fixed Code reviews diffs navigation
All platforms - Web UI: Fixed Code reviews diffs navigationClear API error when refreshing the authenticatio…
All platforms - Web UI: Clear API error when refreshing the authentication tokenReversed code reviews changesets list order to ma…
All platforms - Web UI: Reversed code reviews changesets list order to match Plastic desktop10.0.16.5574
New
The workspace tree (plastic.wktree) file format h…
All platforms - All clients: The workspace tree (plastic.wktree) file format has changed to read & save it much faster! We tested the new format with different workspace sizes (with 80000 and 400000 files/directories) in different machines:- The time reading the workspace tree metadata is 2x, 4x or even 10x times faster than previous release.
- The average time writing the workspace tree metadata is up to 2x times faster than previous release.
- Reading a workspace tree of 77000 items took 490 ms. Now it takes 109 ms.
- Writing a workspace tree of 77000 items took 142 ms. Now it takes 79 ms.
plastic.wktreeplastic.wktree$YOUR_WORKSPACE/.plasticFile Explorer README.md support
All platforms - Web UI: File Explorer README.md support Added support for README files in the File Explorer.
Screenshot
Various improvements
All platforms - Web UI: Various improvements- If there are assigned code reviews, when visiting the code review list for the first time, it shows the assigned reviews, otherwise, it shows all reviews.
- Avoiding resetting data when navigating from one list to another.
- Lowered the minimum loading transition animation
Versioned settings is now supported!
All platforms - TeamCity plugin: Versioned settings is now supported! We extended our plugin to support the Versioned settings feature in TeamCity. You can now enable it in any TeamCity project that consumes a Plastic SCM VCS root. More info about Versioned Settings here.Bug
prevent duplicate code reviews
All platforms - Web UI: prevent duplicate code reviewsFixed MarkAsUnresolvedButton key
All platforms - Mergetool: Fixed MarkAsUnresolvedButton key There was a missing key in one of the buttons in the MergeTool, so the text wasn't being translated to the chosen localization Before:
Screenshot

Screenshot
10.0.16.5533
New
Loading states
All platforms - Web UI: Loading states All the new views like the repository list, file explorer and code review have new loading states to avoid displaying wrong states before the content is loaded.
Screenshot
confirm deletion messages for labels and branches…
All Platforms - Plastic: confirm deletion messages for labels and branches have been improved! Now when trying to delete one or multiple labels/branches from both the Branch Explorer and the Labels/Branches View, a more specific message about what you are about to delete is shown. Check the following screenshots for labels: Windows
Screenshot

Screenshot

Screenshot

Screenshot

Screenshot
Bug
fixed xlinks in file explorer
All platforms - Web UI: fixed xlinks in file explorer Clicking an xlink in the file explorer no longer causes an error to occur and instead correctly displays the file or directory selected.Repository list now correctly shows when a reposi…
All platforms - Web UI: Repository list now correctly shows when a repository was last updated instead of the name of the creator The last modified is calculated from the date of the most recent changeset for a repository. This'll help you quickly determine which repositories are active and whether there has been changes since you last looked.
Screenshot
Code Review: Fixed switching changesets not chang…
All platforms - Web UI: Code Review: Fixed switching changesets not changing the changeset dateFix File Explorer not showing files when organiza…
All platforms - Web UI: Fix File Explorer not showing files when organization and repository have the same name10.0.16.5508
New
encoding set to UFT-8
All platforms - Command line client: encoding set to UFT-8 We now automatically set the console input and output encoding to UTF-8 so that East Asian languages can be displayed correctly. Note: you must select a font containing glyphs for your language for the output to display correctly.The max number of worker threads is now limited t…
All platforms - Server: The max number of worker threads is now limited to MaxWorkerThreads * 10. This value can be defined in the server.conf file.The default value used is the number of processors * 4 (when the value is not defined in the server.conf).<MaxWorkerThreads>64</MaxWorkerThreads>
File explorer UI refresh
All platforms - Web UI: File explorer UI refresh Refreshed the UI of the main File Explorer list. Individual file/history views will be refreshed in the next update.
Screenshot
File Explorer updates
All platforms - Web UI: File Explorer updates On the roadmap to unify the design we updated the following in the File Explorer section:- Updated the File View design and fixed page double scroll
- Tweaked the File History design, a full update is pending
- Set the file name as the default ordering for the File list, folders and xlinks are grouped and take priority

Screenshot
Bug
Code review list comment count fix
All platforms - Web UI: Code review list comment count fix The comment count is now correctly displayed for each code review in the code review list.Fixed Enterprise Edition onboarding when using a…
All platforms - Gluon: Fixed Enterprise Edition onboarding when using a Cloud server. When connecting to a Cloud server from the Enterprise Edition Gluon onboarding, there was an error that prevented the user from listing the repositories in the server. We fixed this issue, and now you can connect to any kind of server from the onboardingClient calls could get stuck in the server side w…
All platforms - Cloud Server: Client calls could get stuck in the server side while other (and unrelated) organization was loading its users. Fixed. The cloud servers use a lock to handle the security of each organization. The problem was that the load of the organization's users were done inside this common lock, so if the users loading for one organization was very slow, other organizations were hit by this. Now, the loading of the organization users is done outside this lock. We suffered issues in the US East region due to this issue from 2021-May-14 to 2021-May-16 leading to tons of calls stuck due to this.10.0.16.5459
New
Code review list redesign
All platforms - Web UI: Code review list redesign We've just launched the redesign of the code review list and we are working hard towards refreshing all the other pages soon!
Screenshot
Breadcrumb navigation
All platforms - Web UI: Breadcrumb navigation- Added repositories top menu item & removed the link from the logo
- Added breadcrumb navigation to Code reviews section and File explorer

Bug
The new .net core server could reject all connect…
Server - All platforms: The new .net core server could reject all connections if remoting.conf exists This is not a very common situation, and probably only hit us during testing, but if you start one of the new .net core based servers and by mistake an old remoting.conf was there (instead of network.conf) then all the socket settings are set to zero, including timeouts, so connections were established but the server would drop them immediately. Client would see something like:>cm repo list localhost:8085Error: Unable to negotiate connection with server localhost:8085. Most likely the server does not support the new Plastic Protocol. Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.
repositories tree view fix
Windows - Plastic: repositories tree view fix The error "an item with the same key has already been added" was displayed when creating and deleting repeatedly repositories with the same name. Now you are allowed to see your repo list without any difference in your preferred view, list or tree view.fix scrolling issues
All platforms - Web UI: fix scrolling issues Navigating diffs in code reviews is now a more consistent and enjoyable experience. Scrolling upwards with a touchpad in a diff no longer stalls and navigating to a comment in a code review doesn't scroll past the line in the diff.Fixed the following issues
All platforms - Web UI: Fixed the following issues- Ordered code review list by date instead of title
- Fixed broken code review date
- Fixed navigating submodules
10.0.16.5432
New
plastic links now functional!
macOS - Plastic, Gluon: plastic links now functional! Plastic Links are a great way to share content from your plastic repositories with your colleagues. You can easily share diffs, links to files and links to code reviews using Plastic Links. This feature first came to Windows, and is now available on mac!- What is a plastic link? A plastic link is a URL that looks something like:
plastic://myorg.cloud/repos/toolsrepo/changesets/50/diff
- How do I open it?
- How do I create a link to share with my colleagues?

Screenshot

Screenshot
Changed the Privacy statement text for Plastic to…
All platforms - Plastic, Unity Plugin: Changed the Privacy statement text for Plastic to reflect Unity's privacy statement.Added the "Turn off Plastic SCM" feature, with wh…
All platforms - Plastic, Unity Plugin: Added the "Turn off Plastic SCM" feature, with which you can disconnect your project from version control.SSO credentials dialog now is cancellable
macOS - Plastic, Gluon: SSO credentials dialog now is cancellable When you are trying to perform an operation on a cloud server and are not authenticated, the credentials are asked through a modal dialog. This dialog was not cancellable, so if you wanted to return to the application you had to enter some credentials. Now we added the possibility to close this dialog by pressing the Escape key.Bug
Fix "Invalid session token" error
All platforms - Plastic: Fix "Invalid session token" error When using SSO, if the current token has expired, Plastic renews it automatically. For some API calls, this renewal was not taking effect until the application was restarted, resulting in an "Invalid session token", even though the token was already renewed. We fixed this error and now the new token is used as soon as it is renewed.Fixed exception when closing code review too quic…
Windows - Plastic: Fixed exception when closing code review too quickly If you close a code review before it finishes loading, you may get an unexpected exception. We fixed this issue, and now you can close it as soon as it appears on the screenstability improvements
macOS - Plastic, Gluon: stability improvements We corrected a potential source of exceptions in the diff window and code review window. Hopefully you'll find Plastic on mac more stable going forward.further stability improvements on mac
macOS - Plastic, Gluon: further stability improvements on mac We found and fixed a potential source of crashes in the Pending changes view and the semantic diff outline caused by trying to display a dialog when it was not possible.10.0.16.5397
New
All the windows installers will now bundle a netc…
Windows - Server: All the windows installers will now bundle a netcore-compiled plastic server! We moved all windows installers to netcore flavor on the server side. This is a step forward on move all our products to .Net Core stack on all supported OS, for the sake of stability, security and performance. Remarks:- SQL-based backends support will end up with netcore installers. Just super-fast 'Plastic Jet' backend will be the way to go.
- The installer & binaries size of netcore server increased compared to net framework server, but we will address this soon.
Reduced the number super-slow downloads (> 10s) f…
All platforms - Cloud Server: Reduced the number super-slow downloads (> 10s) from cloud regions. The cloud servers use a local cache to reuse the data downloaded from the blob storage. The process of calculating the data to clean from this cache was very slow. So, this could hit the performance of the calls that downloaded data from the cloud servers (update, merge, diff, etc) while this calculation was completed. This time was greatly optimized from 30 s to 0.2 s, so client calls are not hit anymore by this calculation. It only affected to the EU West & US East regions (since they are the ones with biggest usage) around 6-8 times per day.Improve calculate merge performance
All platform - Server: Improve calculate merge performance We greatly improve the time to calculate a merge that involves several deleted files on both contributors. For example, we reduce from 273s to 1.5s the time to calculate a reported merge case with over 50 thousand deleted files on both contributors. The incoming changes also takes advantage of this improvement.potential deadlock on git server feature fixed
All platforms - Server: potential deadlock on git server feature fixed. The plastic server is able to act as a git server (More info here). It could happen that performing agit pushCannot create label in a cloud org repo
All platforms - Eclipse: Cannot create label in a cloud org repo. The eclipse plugin is throwing anInvalid changeset specmyrep@awesomeOrg@cloudpotential deadlock on git clone using http basic…
Linux - GitServer: potential deadlock on git clone using http basic auth fixed. We detected in some distros that using git server feature with http protocol and basic auth enabled on netcore server could cause a potential deadlock issuing a git clone from a plastic repo. Now it's fixed. Example of the command that got stuck:git clone http://user:pass@plastic_server:5555/my_repo /home/user/git/my_repo
Plastic 10 About image
All platforms - Plastic, Gluon: Plastic 10 About image To celebrate version 10 of Plastic, we updated the About dialog with a new design. Check it out:
Screenshot

Screenshot

Screenshot
Code Reviews overall performance fixes
All platforms - Web UI: Code Reviews overall performance fixes.Use the same SSO credentials for different organi…
All platforms - Plastic, Gluon: Use the same SSO credentials for different organizations If you use the same credentials for more than one organization, now you just need to sign in to one of them. When trying to access the other organizations, Plastic will try to reuse the already existing credentials, so you don't need to authenticate againRepositories list redesign
All platforms - Web UI: Repositories list redesign We've just launched the redesign of repositories list. We are still working and adding features on it, so, more to come in the following weeks.
Screenshot
Bug
Fixed UI freezing when loading previews for big i…
All platforms - Gluon: Fixed UI freezing when loading previews for big images Sometimes when selecting big images (> 10MB) in the workspace explorer or checkin changes views, calculating the preview made the GUI freeze for some seconds. Now there is a warning before showing the preview that allows you to manually choose whether to calculate it or not. When selecting to show the preview, now the GUI doesn't freeze anymore.
Screenshot
fixed cm when language forced to English in confi…
All platforms - Command line client: fixed cm when language forced to English in config file In a recent release we made it possible to force Plastic to run in English on non-English systems, by setting an arbitrary value (like "en_force") as the Language in client.conf. Unfortunately, this broke cm, because it would complain about the invalid language. We fixed this.Fixed issue when creating a distributed workspace
macOS, Linux - Plastic: Fixed issue when creating a distributed workspace During the onboarding, when choosing to work distributed and selecting a repository from the "Browse" menu, Plastic was always showing an error: "The selected repository must be a cloud repository", even after selecting a cloud repositoryFixed an issue with Code Reviews where new commen…
All platforms - Web UI: Fixed an issue with Code Reviews where new comment line highlighting and icon were disappearing after opening the dialog to add a new comment.Repositories & Code reviews fixes
All platforms - Web UI: Repositories & Code reviews fixes- Ordering repositories is now case insensitive
- Increased repositories list limit from 10 to 20 items
- Automatically focus on a reply or new conversation text area when changing conversations or adding a new one
- Preventing file change if the current comment revision didn’t change
- Fix not setting the changeset id when creating a comment
- For single editor fix scrolling to the first comment
Fixed certificate validation issue
Windows - Installers: Fixed certificate validation issue. We had to unpublish release 10.0.16.5362 since the signing certificate we use to sign the installers was suddenly revoked. The certificate has been renewed, and installers are now properly signed with a valid certificate.10.0.16.5362
New
Improve calculate merge performance
All platforms - Server: Improve calculate merge performance We greatly improve the time to calculate a merge that involves several deleted files on both contributors. For example, we reduce from 273s to 1.5s the time to calculate a reported merge case with over 50 thousand deleted files on both contributors. The incoming changes also takes advantage of this improvement.potential deadlock on git server feature fixed
All platforms - Server: potential deadlock on git server feature fixed. The plastic server is able to act as a git server (More info here). It could happen that performing agit pushCannot create label in a cloud org repo
All platforms - Eclipse: Cannot create label in a cloud org repo. The eclipse plugin is throwing anInvalid changeset specmyrep@awesomeOrg@cloudpotential deadlock on git clone using http basic…
Linux - GitServer: potential deadlock on git clone using http basic auth fixed. We detected in some distros that using git server feature with http protocol and basic auth enabled on netcore server could cause a potential deadlock issuing a git clone from a plastic repo. Now it's fixed. Example of the command that got stuck:git clone http://user:pass@plastic_server:5555/my_repo /home/user/git/my_repo
Plastic 10 About image
All platforms - Plastic, Gluon: Plastic 10 About image To celebrate version 10 of Plastic, we updated the About dialog with a new design. Check it out:
Screenshot

Screenshot

Screenshot
Bug
Fixed UI freezing when loading previews for big i…
All platforms - Gluon: Fixed UI freezing when loading previews for big images Sometimes when selecting big images (> 10MB) in the workspace explorer or checkin changes views, calculating the preview made the GUI freeze for some seconds. Now there is a warning before showing the preview that allows you to manually choose whether to calculate it or not. When selecting to show the preview, now the GUI doesn't freeze anymore.
Screenshot
fixed cm when language forced to English in confi…
All platforms - Command line client: fixed cm when language forced to English in config file In a recent release we made it possible to force Plastic to run in English on non-English systems, by setting an arbitrary value (like "en_force") as the Language in client.conf. Unfortunately, this broke cm, because it would complain about the invalid language. We fixed this.Fixed issue when creating a distributed workspace
macOS, Linux - Plastic: Fixed issue when creating a distributed workspace During the onboarding, when choosing to work distributed and selecting a repository from the "Browse" menu, Plastic was always showing an error: "The selected repository must be a cloud repository", even after selecting a cloud repository10.0.16.5344
Bug
allow reopening of active comment
All Platforms - WebUI: allow reopening of active comment We've fixed an issue where toggling the conversation details panel closed prevented a user from clicking the active comment's icon in the diff panel and reopening the details panel.invalid code reviews now redirect to 404 page
All Platforms - WebUI: invalid code reviews now redirect to 404 page Previously an invalid code review id would lead to a blank page. We've now added a 404 redirect for these invalid ids to ensure a consistent experience.resolved issue where long running merge processes…
All platforms - Plastic: resolved issue where long running merge processes could accumulate on the server The Plastic client checks the server for incoming changes every minute. This can trigger the server to calculate a merge. If this calculation took longer than a minute, the calculation would be triggered again and these processes could accumulate, pointlessly using server resources. We fix this by ensuring that the calculation will not be requested if another calculation is already in progress.Fixed several issues in the initial Sign in/Sign…
Windows - Plastic: Fixed several issues in the initial Sign in/Sign up screen for high-dpi screens. The initial screen for both Cloud Edition and Enterprise Edition had several issues when they were displayed in high-dpi screens. Some elements were hidden under the Welcome onboarding process: '''Sign Up Panel''' After:
Screenshot

Screenshot

Screenshot

Screenshot

Screenshot

Screenshot
10.0.16.5338
New
Plasticlinks for code reviews are here!
Windows - Plastic: Plasticlinks for code reviews are here! We heard you and now you can copy and share code reviews with your mates. Check the new link format:plastic://local/repos/codice/code-reviews/522857

Screenshot
The new and improved Code Review experience is he…
All Platforms - WebUI: The new and improved Code Review experience is here! We reworked the section in order to achieve base parity with the desktop experience and make it responsive and functional on all modern portable devices. Desktop experience:
Screenshot

Screenshot
Creating a Code Review dialog removal
All platforms - Web UI: Creating a Code Review dialog removal When clicking on the "Create Review" button, in the Branches and Changesets lists pages, it doesn't require filling a popup dialog form anymore. The title is pre-generated, and the reviewer is set to the current logged in user.Filter Code Reviews by Date Range
All platforms - Web UI: Filter Code Reviews by Date Range When viewing the list of code reviews, one can now filter them by a date range. By default, the filter will be for the last month, but seeing the full list is just a click away with our handy date picker.10.0.16.5328
New
Plastic 10 is out!
All platforms: Plastic 10 is out! Plastic turns 10! It has been almost fifteen years since Plastic was initially released and we celebrate it upgrading to an iconic number: 10. == What was released during last year == These are the key features added to Plastic during the last year:- cloud2. The new Cloud system, visibly faster, more scalable and with more features like triggers, shelves, move changesets from branches and more. We released it back in July 2020.
- Code review for macOS. The code review system landed in macOS, another step towards feature parity across platforms.
- New Unity Plugin. In August 2020, together with the announcement of the acquisition by Unity, we announced a shiny new Unity Plugin that did not stop evolving since. A much better experience for creators, and it is just the beginning.
- Improved Perforce synchronization. Bi-directional sync with Perforce is now multi-branch and expands to Linux and macOS. A huge step ahead for teams willing to migrate out of P4.
- Unity ID OAuth support. Added support to secured, two-factor authentication with Unity ID.
- Added localization for Chinese, Japanese and Korean. We owed this to our great users in Asia. Now Plastic looks native in these languages and our commitment to keep improving and expanding to other areas like documentation stays.
- Security configuration added to Linux and macOS. Now the users of these platforms no longer need to rely on the command line to set permissions.
- We greatly improved image diff.
- Upgraded Linux and macOS servers to run .net core builds. This improves speed and stability and opens a brighter future for cross-platform Plastic.
- Plastic links for Windows. An awesome way to share links to specific changesets and files.
- Whitelist restrictions in servers, both on-premises and cloud.
- Added Incoming Changes support for Linux, a great way to deal with conflicts when working on single branch.
- Added GitSync UI support to Linux and macOS!
- Added Git LFS support when syncing repos from GitHub.
- Greatly improved code review for webUI.
- Improved Single Sign On support, adding more providers like Google and Okta.
- Plastic links on macOS and Linux.
- Reduce cloud repo sizes.
- Plastic links on macOS and Linux.
- Improvements in how we handle locks.
- Tons of usability improvements.
- Lots of new great features for the Unity Plugin.
- More code review improvements.
- Auto-upgrade…
Installers with .NET Core on server component are…
Windows - Server: Installers with .NET Core on server component are now available! We're about to replace all our windows installers so they will bundle a netcore-compiled server component, replacing the net framework compiled server. But there will be a transitory time frame where both flavors on Windows installers will live together. The recommended flavor is now the netcore server. Remarks:- SQL-based backends support will end up with netcore installers. Just super-fast 'Plastic Jet' backend will be the way to go.
- The installer & binaries size of netcore server increased compared to net framework server, but we will address this soon.
- The default installer proposed to download in plasticscm.com site is still the net framework server.
Bug
Fixed file conflict not detected by the incoming…
All platforms - Server: Fixed file conflict not detected by the incoming changes. The incoming changes feature didn't detect a specific type of file conflict: someone else modified a file in the branch head, while you moved it and checked it out in your workspace. It was wrongly detected as a file that just needs to update. Additionally, Plastic didn't apply the change when you updated your workspace, to avoid overriding your local change. The incoming changes view showed the files modified in the branch head as pending, again and again. Now the file conflict is show and its content is merged during the update. Let's see a case:- Setup workspaces wk1 and wk2. Ensure both are up to date, they point to the same branch and contain the file '/foo.c'
- In wk2, edit /foo.c and move /foo.c to /bar.c (don't check it in)
- In wk1, edit /foo.c and checkin
- In wk2, show the incoming changes view and click to update it. -> Item /foo.c appeared as a file that just needs to update. Now it is fixed, and appears as a file conflict.
Fixed wrong source path for a pending move after…
All platforms - Plastic, Gluon, Command line client: Fixed wrong source path for a pending move after applying the incoming changes. The incoming changes view left a wrong source path for a pending moved item. This happened when you exchanged the path of 2 items and both appear as pending moves when you apply the incoming changes. Let's see a case:- Setup two workspaces, wk1 and wk2. Ensure they're up to date, loading the same branch with the following content:
/lic.txt/doc.txt/readme.txt
- In wk 2, exchange doc and lic files:
mv /doc.txt /lic_tmp.txtmv /lic.txt /doc.txtmv /lic_tmp.txt /lic.txt
- In wk1, edit /readme.txt and checkin the change
- In wk2, apply the incoming changes. After applying the changes, the two pending moves are still there but:
** After this fix, the second one has the right source path:Moved lic.txt -> doc.txtMoved doc.txt.tmp-833fe88e -> lic.txt
Moved lic.txt -> doc.txtMoved doc.txt -> lic.txt
Fixed generic error message while applying incomi…
All platforms - Plastic, Gluon, Command line client: Fixed generic error message while applying incoming changes. The incoming changes view showed an error message ("An error occurred processing your request") if you updated the workspace in a scenario like the following one:- Setup two workspaces, wk1 and wk2. Ensure they're up to date, loading the same branch with the following content:
/doc/doc/admin-manual.txt/guides/guides/user-manual.txt/readme.txt
- In wk 2, unify both folders:
mv /doc/admin-manual.txt /guides/admin-manual.txtmv /doc /doc_tmpmv /guides /docrm /doc_tmp
- In wk1, edit /readme.txt and check it in.
- In wk2, apply the incoming changes. Before these changes, the operation failed and displayed the error: "An error occurred processing your request". Now it's fixed.