5.x release notes for 2015
Review the 2015 release notes for version 5 of Unity Version Control.
Read time 100 minutesLast updated 6 days ago
This page contains the Unity Version Control 5.x releases published in 2015, organized from newest to oldest. For other years, refer to 5.x release notes.
5.4.16.717
New
MergeTool Windows
MergeTool Windows: MergeTool (xmerge!) gets a new look to get ready for 2016! We have improved the overall look and feel of the tool.
Now conflicts are clearly highlighted, conflict navigation buttons change color depending on the status and in general everything looks much better. The same tool, but lots of small details changed here and there to make it better than ever.
MergeTool Mac OS
MergeTool Mac OS: Mac Mergetool is out! The native mergetool for Mac (Cocoa based) has been released! No need to continue using an external tool to deal with manual merges on Mac, you can finally switch to the familiar Plastic merge style. It is the first release of the tool and there are still things to improve, but it is already usable.
The Mac MergeTool is bundled together with Mac Plastic SCM installer package, and the GUI allows to choose the new MacMergeTool as the default tool in the preferences dialog (which will be the default option on fresh installations indeed).
While the new tool is fully functional, there are some small remarks and limitations to keep in mind:
-
Xmerge (tracking moved code feature) is still not available.
-
Line numbers and Syntax hightlight not available yet.
-
No shortcuts for conflicts navigation yet.
-
Some options are still missing: you can't change the comparison method or encoding. The comparison method is set to 'recognize all' by default, which means it won't ignore EOLs & whitespaces.
-
Failed to merge files with a single byte encoding that has non-ASCII characters (System.Text.DecoderFallbackException). The workaround for this issue is setting the file encoding to UTF-8. (This issue also affects to Linux GTK MergeTool).
These limitations will be addressed in new upcoming releases.
Windows GUI
Windows GUI: New Christmas greetings 'About' dialog
5.4.16.712
New
TeamCity plugin
TeamCity plugin: Automatic checkout on agent is now supported
REMARK: Path-mapping checkout rules (e.g. ) are not currently supported!
+:mypath => mypath/is/now/mappedLinux GUI (GTK) and Mac OS GUI
Linux GUI (GTK) and Mac OS GUI: Requesting encrypted data from cloud server will now prompt the user to enter the encryption key (if there is no previously configured encryption key for that server).
Eclipse plugin
Eclipse plugin: Implemented a new diff view in eclipse. This view is displayed after executing the following actions:
From branch explorer:
-
right click + diff changeset (or double click in a changeset)
-
right click + diff branch (or double click in a branch)
-
select two changesets -> right click -> Diff selected changesets
From Eclipse package explorer (Note that, if the selected resource in Package Explorer is a single file resource, the 'Compare with' option just show single file differences. Otherwise, the 'Compare with' option will show selected and children resources).
-
right click on resource -> Compare with -> Previous version. This option compares the working changeset with the previous one.
-
right click on resource -> Compare with -> Changeset... This option compares the working changeset with the selected one.
-
right click on resource -> Compare with -> Label... This option compares the working changeset with the changeset the label belongs to.
IMPORTANT REMARK: The diff view view doesn't show pending changes on workspace. It just compare two server trees. In order to see changes in workspace, use the 'Pending changes' view instead.
Bug
Gluon
Gluon: The cloud encryption password was not requested to the user when the Gluon UI was started in configuration mode (first run or using the '--configure' argument). Fixed.
5.4.16.711
New
Command Line Interface
Command Line Interface: input was not being read when was started and fed from a Qt process, due to an incompatibility between Qt libraries and .NET >= 4.0. This incompatibility has been addressed in this release.
cm shellcmGluon CLI (cm partial)
Gluon CLI (cm partial): The option available for certain commands (such as , and ) has been improved to support missing items and other path-related issues.
--ignorefailedconfigurecheckoutaddBug
Linux GUI (GTK) MergeTool
Linux GUI (GTK) MergeTool: Removed lines in the result textbox are now read-only lines (they cannot be edited as they only indicate a removed line as a result of a conflict resolution). Before this fix, there were some inconsistences when editing the result textbox and there were removed lines in the edited text.
Installers
Installers: Fixed some strings in Spanish language that were wrongly displayed due to an encoding issue.
Server Database Administration tool
Server Database Administration tool: (a.k.a. 'admintool.exe') The tool was overriding certain configuration parameters when exiting the tool, which in turn caused the server wasn't unable to start. Fixed.
5.4.16.710
New
Eclipse plugin
Eclipse plugin: The 'Pending changes' view now allows to launch file diffs when double-clicking an item.
Remark: Deleted items don't show differences.
REST API
REST API: Two new endpoints have been implemented to address possible URI ambiguities:
a) -> It retrieves the revision metadata of located in the last changeset of branch
/api/v1/repos/:repname/branches/:branchname/contents?item=:itempathitempathbranchname@repname(This endpoind extends the already existent endpoint to retreive revision metadata: )
/api/v1/repos/:repname/branches/:branchname/contents/:itempathb) -> It retrieves the revision history of located in the last changeset of branch
/api/v1/repos/:repname/branches/:branchname/history?item=:itempathitempathbranchname@repname(This endpoind extends the already existent endpoint to retreive revision history: )
/api/v1/repos/:repname/branches/:branchname/history/:itempathBranch naming
Branch naming: The name of a new branch with any leading/trailing whitespaces will be trimmed before creating it.
Command Line Interface
Command Line Interface: command now accepts new output format parameters: , and
cm diff{date}{owner}{srcfsprotection}Windows GUI and Gluon
Windows GUI and Gluon: The 'Open in Windows Explorer' menu option was opening folders using the '/root' switch. This prevented Windows Explorer navigation to parent folders of the selected item. Fixed.
Bug
Windows GUI
Windows GUI: SemanticSCM: An 'index was out of range' error was thrown when clicking the 'skip format changes' button and there were format changes in the file declaration. Fixed.
Windows GUI
Windows GUI: 'New branch' dialog: The 'Switch workspace to this branch' checkbox was disabled while the issue tracker query was still running. Fixed.
Windows GUI
Windows GUI: Sorting by size in the 'Pending changes' view was not working as expected. Fixed.
Linux GUI (GTK) and Mac OS GUI
Linux GUI (GTK) and Mac OS GUI: Reloading the 'Pending changes' view did not refresh the diff/contents panel. Fixed.
JIRA Issue tracker extension
JIRA Issue tracker extension: 'Resolved' bugs were not showing up on the 'Branches view' and 'Branch explorer' view. Fixed.
Command Line Interface
Command Line Interface: command was showing a cryptic error message when a changeset without a parent changeset (e.g. cs:0) was selected for diff. Fixed.
cm diffCommand Line Interface
Command Line Interface: command was always using the repository of the current workspace for branch diffs, instead of parsing the branch spec. Fixed.
cm diffTriggers
Triggers: The settings were wrongly removed from the client configuration when the Plastic SCM GUI was restarted. Fixed.
TriggerVariablesInstallers
Installers: Fixed some typos in the installer's text fields
REMARK: Some strings in Spanish are still wrongly displayed due to an encoding issue, which will be fixed in the next Plastic SCM release.
Server configuration tool
Server configuration tool: During the upgrade of the Plastic SCM server, the license could be wrongly overridden. Fixed.
Server configuration tool
Server configuration tool: The tool wasn't loading & saving the configuration parameters properly (such as server ports and user authentication mode). Fixed.
IMPORTANT REMARK: The Database Administration tool (a.k.a. 'admintool.exe') is still affected by this issue. It could lead to miss some server configuration parameters, so its usage is not recommended until the next Plastic SCM release.
5.4.16.707
New
Linux native Merge Tool available in preview mode
Linux native Merge Tool available in preview mode: The new Linux native 3-way mergetool (a.k.a. 'gtkmergetool') is available and it is installed as the default tool on new installations. For existing installations remember to go to preferences and choose the "default" merge tool to use the new software.
While the new tool is fully functional there are some small remarks and limitations to keep in mind. They do not prevent users to start testing the new tool and providing feedback though:
-
The tool doesn't remember the size yet. It always shows up with the same size regardless of the last one you set. It will be fixed on the next release.
-
Xmerge is still not available. We'll be adding these soon. Remember, we refer to the technology capable of tracking moved code based on a text-based similarity algorithms.
Linux GUI (GTK) and Mac OS GUI
Linux GUI (GTK) and Mac OS GUI: New context menu options on the 'Branch Explorer' view have been added. Now it is possible to navigate to the branch's base changeset, and changesets allow navigating to their parent changeset.
Gluon GUI and Windows GUI
Gluon GUI and Windows GUI: Image preview has been greatly improved. Now, thumbnails are created in higher quality, and the preview panel can be resized to better see the picture details. Also, small icons are displayed at its real size, instead of zoomed.
Gluon
Gluon: Selected item in checkin view is preserved (if possible) after refresh, checkin and undo operations. Also, after deleting an item in the checkin view, its parent or a suitable item is selected.
Usability improvement
Usability improvement: when you do your first push or push to Plastic Cloud and need to configure encryption settings, the replica is retried after entering the password instead of failing and letting the user do the retry.
JIRA extension
JIRA extension: The checkin data log in JIRA will now show a warning message if the communication with the issue tracker system detects an error.
Unity plugin
Unity plugin: the 'Gluon mode' configuration parameter is now an optional parameter. By default, the 'Gluon mode' parameter is set to 'false'.
Mac OS Installer
Mac OS Installer: Added application shorcut to , so it can be launched from any working directory.
clconfigureclient/usr/local/binMac OS Command Line Interface
Mac OS Command Line Interface: The command line client application can now be run in Mac OS El Capitan. Prior to this version, the application was not calculating properly the working directory used for relative paths arguments.
cmcmWindows GUI
Windows GUI: Added shortcuts to navigate first/previous/next/last file in diff and code review dialogs.
-
Ctrl + Shift + '-' : Go to the first file.
-
Ctrl + Shift + '+' : Go to the last file.
-
Ctrl + '-' : Go to the previous file.
-
Ctrl + '+' : Go to the next file.
Command Line Client
Command Line Client: command: lightweight tags (using the 'reset' + 'from' keywords) are now supported.
cm fast-importAll GUI clients
All GUI clients: 'Size' columns now appear aligned to the right on all Plastic SCM GUIs.
Bug
Linux GUI (GTK)
Linux GUI (GTK): Excluding branches in the sync view was taking an unacceptable amount of time when a large number of branches (more than 50) were selected. Fixed.
Gluon
Gluon: private read-only items couldn't be deleted. An error 'Access to the path is denied' was thrown. Fixed.
Gluon
Gluon: The 'Esc' key was not cancelling the 'undo changes' operation in the confirmation dialog. Now it's fixed.
Windows Merge Tool
Windows Merge Tool: In some circumstances, the regions of the contributors in the result textbox are not correctly updated when the result is edited. Fixed.
Also, the removed lines in the result textbox (which are drawn with crossed lines), were not correctly updated when the user was editing the result (these lines should be read-only indeed). Fixed.
Server configuration tools
Server configuration tools: The and applications were unable to retrieve licensing info on auto-renewal setup. Fixed.
configureserveradmintoolAlso, the user authentication method wizard was not properly disabling unallowed auth modes for non-enterprise licenses. Fixed.
5.4.16.704
New
Command Line Interface
Command Line Interface: The and the (gluon CLI) commands now accept a new parameter: . This new parameter allows to skip items that cannot be added without rejecting the whole add operation.
cm addcm partial add--ignorefailedREMARK: If a directory cannot be added, none of its inner items will be added either.
Server
Server: Security checks for 'Branch Explorer' view and command (used also by all views in the GUIs) have been greatly improved with Plastic Cloud in mind, but it will be a big plus for regular servers too.
cm findBug
Linux GUI (GTK)
Linux GUI (GTK): Fixed several error messages that were dumped on the console:
- Gtk-CRITICAL **: IA__gtk_widget_add_accelerator: assertion `GTK_IS_ACCEL_GROUP (accel_group)' failed- Gtk-CRITICAL **: IA__gtk_text_layout_get_iter_location: assertion `GTK_IS_TEXT_LAYOUT (layout)' failed- Gtk-CRITICAL **: _gtk_accel_group_attach: assertion 'g_slist_find (accel_group->acceleratables, object) == NULL' failed
Mergetool (Windows)
Mergetool (Windows): When the user clicked on the Windows's 'X' button to close the dialog, the Mergetool didn't ask the user for saving changes. Now it's fixed.
Command Line Interface
Command Line Interface: The command used with option was incorrectly listing all repos even when it was not needed. It caused a perf impact under heavy load. Fixed.
cm findon repository5.4.16.701
New
Linux GUI (GTK)
Linux GUI (GTK): Improved 'Diff' window performance when there are a large number of rows. Loading, sorting and filtering now perform faster.
Linux GUI (GTK)
Linux GUI (GTK): 'Diff' window: The 'Filesystem permission changes' category has been added to the 'Diff' categories.
Linux GUI (GTK)
Linux GUI (GTK): Changed the mouse wheel behavior in 'Branch Explorer' view. Now, the Linux GUI has the same bahavior as the Windows GUI:
-
"Mouse wheel" -> horizontal scroll.
-
"Ctrl + mouse wheel" -> zoom.
-
"Shift + mouse wheel" -> vertical scroll.
Linux GUI (GTK) and Mac OS GUI
Linux GUI (GTK) and Mac OS GUI: New 'Options' button added to the embedded 'Diff' views. New supported actions are the following:
-
change the comparison method (Ignore EOL's, whitespaces or recognize all).
-
manually set the target character encoding for each side.
-
manually set the syntax highlight (Linux GTK GUI only).
SSL channel
SSL channel: The way to accept and install SSL certificates on the Plastic server from the client side has been improved (works only for admins):
1- Now the client side accept certificate options will be available on the server: add to the store and accept without installing.
2- When a certificate is already installed on the client (manually or by a previous client execution), no user intervention will be needed to accept it on the server.
3- A concurrency issue has been fixed: the same server certificate accepted by different clients concurrently.
Cloud Server
Cloud Server: several core improvements to increase performance in security checks when the database is on a separate server. It will also help regular setups with separate server. A full refactor of the security caches was done. Queries of branches and labels should be noticeable much faster (security check on the test env went down from 500ms to only 32ms).
Bug
Windows GUI
Windows GUI: SemanticSCM: Fixed an error when the files cannot be parsed. Now, an informative message is shown and the text-based differences are automatically calculated.
Linux GUI (GTK) and Mac OS GUI
Linux GUI (GTK) and Mac OS GUI: Opening the 'Items' view when the remote server is not reachable (or invalid credentials were set) resulted in a large number of dialogs being displayed (one dialog per different item revision's branch). Fixed. Now, only a dialog per different repository will be displayed.
Linux GUI (GTK)
Linux GUI (GTK): The filter was causing inconsistencies in the visualization when the 'Pending changes' view was showing more than one category (changed, added, moved, deleted, ...). Fixed.
Bamboo plugin
Bamboo plugin: Setting up several external agents on the same machine lead to duplicate workspace names. This has been fixed by appending a random UUID to each workspace name.
Server
Server: Pushing data to Cloud Server (or an encrypted server) without encryption settings failed to ask for the password and raised an error. It is fixed now and it correctly asks for credentials.
Windows GUI
Windows GUI: The 'Item' -> 'Diff' -> 'Diff revisions' dialog was failing with an 'Incorrect object specification' error when typing a changeset number instead of selecting it on the item history dialog. Fixed. Now, the changeset number is not editable and the user must select the changeset from the list of available changesets in the history.
5.4.16.700
New
FIPS support
FIPS support: Plastic SCM can now be configured to work on FIPS compliant environments. Once set to work in FIPS mode, both client and server will use only Windows Platform FIPS validated cryptographic algorithms.
To configure FIPS, add the following line to your and files:
server.confclient.conf<FIPSCompliant>true</FIPSCompliant>
Consider the following restrictions:
-
At this point, the server won't start in a FIPS machine until it is configured in FIPS mode. The server log will say "LicenseReader - There was an error reading the license: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.". Once the server is configured in FIPS mode, it will be able to start normally.
-
The server won't start in a FIPS machine with an SSL channel unless there is the PFX certificate filein the Plastic SCM server installation folder to use SSL. The server log will say "WARN Channel - Failed to autocreate sha256 self-signed certificate (file:
ssl-certificate.pfx)."C:\Program Files\PlasticSCM5\server\ssl-certificate.pfx -
To use User/Password authentication mode in a FIPS machine, it is necessary to configure the server in FIPS mode before adding users. Otherwise, when clicking OK in the "New Plastic SCM user" dialog, an error message box will appear: "This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.".
-
Not compatible with other clients/servers that are not FIPS compliant.
-
Not compatible with the cloud server
-
Encrypted replication is not available.
Windows GUI
Windows GUI: SemanticSCM: Built-in semantic diff now includes a new 'reformat' option. The new toggle button in the semantic options panel reformats the code before diffing it, so the format-only changes can be ignored.
Windows GUI
Windows GUI: Added 'Diff' key shortcut to the following views:
Shift + Ctrl + D-
Diff two selected changesets on the 'Branch Explorer' view.
-
Diff two selected changesets on the 'Changesets' view.
-
Diff two selected items on the 'Items' view
-
Diff two selected revisions on the 'History' view.
-
Diff selected revisions with another revision on the 'History' view.
-
Diff selected branch with another branch on the 'Branch Explorer' view.
-
Diff selected branch with another branch on the 'Branches' view.
Bug
Mac GUI
Mac GUI: The 'Diff' viewer was not available in Mac OS X 10.11 (El Capitan). Fixed.
Mac GUI
Mac GUI: 'Branch Explorer' view: If a merge link was hovered over a changeset, the user was unable to select the changeset. Now it's fixed.
Gluon
Gluon: On the changesets view, double-clicking on a group header caused a null reference exception. Fixed.
Gluon
Gluon: On the changesets view, double-clicking on the column header panel was wrongly triggering the double-click action on the currently selected row. Fixed.
Linux GUI (GTK)
Linux GUI (GTK): The pending changes view was not automatically scrolling to the first difference when switching among files. Fixed.
Windows GUI
Windows GUI: SemanticSCM: In some scenarios, the differences were not correctly painted for C language files. Fixed.
Windows GUI
Windows GUI: Ampersand ('&') character was not properly encoded on several views (Changesets, Branches, Labels, Blog News...). Fixed.
Server
Server: User Management tool (): Fixed typo in a warning message asking the user to restart the server to apply changes made by the tool.
umtoolUnity plugin
Unity plugin: A 'null reference' error was thrown when there are private files that match with an 'exclusive checkout' (a.k.a. 'locking') rule. Fixed.
5.4.16.699
New
Mac GUI
Mac GUI: A new native, side-by-side 'diff' viewer is out! The 'diff' viewer has been added to the 'diff branch/changeset' window and to the 'Pending changes' view. It shows differences for changed files and the contents for added, deleted and moved files. The new diff works also for xlinks, directories and binary metadata.
This is an initial release, so there are a list of limitations to consider:
-
Some options are still missing: it is not possible to change the comparison method, syntax highlight or encoding. The comparison method is set to 'recognize all' by default, which means it won't ignore EOLs & whitespaces.
-
Partial Xdiff support: it already detects moved fragments, but there are no buttons to navigate to the moved code or show the 'sub-diff' of the fragments yet.
REMARKS: This feature is not working in Mac OS 'El Capitan' yet.
Command Line Interface
Command Line Interface: Now on windows works correctly with command line diffs.
cm diffCustom diff tools can be configured as follows:
diff.exe "@sourcefile" "@destinationfile"
And get a correct text diff from CLI. All commands can now be configured as follows:
/window diff.exe "@sourcefile" "@destinationfile"
Where "" flag is the default, no need to set it.
/windowAnd "" flag is the old default, it doesn't allow a window to be created, good for GUI tools.
/nowindowLinux GUI (GTK)
Linux GUI (GTK): Performance: Improve 'Pending changes' view performance when there are a large number of rows. Loading, sorting and filtering time has been improved significantly.
Linux GUI (GTK)
Linux GUI (GTK): A message bar has been added in the embedded diff viewer in order to show the noticeable messages for the user.
Gluon
Gluon: The 'Apply configuration' operation now shows a report if something goes wrong loading or unloading files (just like the 'update' operation does).
Issue tracker extensions
Issue tracker extensions: Settings can now be customized per repository. Different specific settings for the same issue tracker can be adjusted to work with different Plastic SCM repositories.
To get further info about issue tracker global configuration, please visit this link.
Jenkins plugin
Jenkins plugin: Added build parameters support
Jenkins allows to define certain build parameters)
Plastic SCM is now able to use those parameters. Example:
- Imagine that there are two build parameters in a project:
branchname: default value (/main)
repositoryname: default value (default)
- These parameters can now be used in Plastic SCM selector using . In this case you could write a selector as follows:
%parameter_name%
repository '%repositoryname%' path "/" smartbranch '%branchname%'
REMARKS: When using parametrized builds, the 'PollSCM' feature may not work as expected, because Jenkins performs the polling with the 'LAST USED' workspace, so maybe the selector is not pointing to the expected branch. When using parametrized builds, we recommend setting up two Jenkins projects:
-
One for the parametrized build
-
Another one to perform the poll with a non-parametrized, static selector.
Bug
Jenkins plugin
Jenkins plugin: When a changeset was a result of a merge, Jenkins was not able to properly present modified elements in 'Changes' chapter. Now it's fixed.
Windows GUI
Windows GUI: After checking out a file in the 'items' view, the status column was not properly updated. Fixed.
Windows Installer
Windows Installer: Fixed several aesthetic issues in 'server-only' installer.
5.4.16.698
New
Linux GUI (GTK)
Linux GUI (GTK): Embedded 'diff' viewers are now capable of showing directory contents, directory filesystem protection changes, binary files metadata diffs and showing diffs of moved/changed files.
Eclipse plugin
Eclipse plugin: New actions implemented in 'Compare With' menu
-
'Compare with' -> 'Previous revision': Compares the local version with previous version on repository.
-
'Compare with' -> 'Changeset...' : Compares the local version with the version loaded by selected changeset
-
'Compare with' -> 'Label... ' :Compares the local version with the version loaded by selected label
Eclipse plugin
Eclipse plugin: Support for Eclipse-registered comparators when showing diffs has been implemented.
Bug
Linux GUI (GTK) and MAC GUI
Linux GUI (GTK) and MAC GUI: In the query views, when there are elements from different servers with same id and repository id, the selection after any operation is not correct. Fixed.
Linux GUI (GTK)
Linux GUI (GTK): A 'null reference' error was thrown sometimes when closing the main window when it was opened from 'workspace switcher' window. Fixed.
Server
Server: The Admin Tool database migration had issues copying between SQLServer CE and SQLite. Fixed.
Windows GUI and Windows Installer
Windows GUI and Windows Installer: Several aesthetical issues have been fixed. Also, fixed alignment in 'XMerge' information dialog.
5.4.16.696
New
Eclipse plugin
Eclipse plugin: A new 'Team -> Label workspace' action has been implemented. With this new action, the user can select several projects and label all workspace contents belonging to these projects.
REST API
REST API: All workspace-locking operations have been protected against simultaneous requests.
Bug
Linux GUI (GTK)
Linux GUI (GTK): The 'diff' viewer was showing an error when clicking on a changed file. Fixed.
Linux GUI (GTK)
Linux GUI (GTK): Several fixes have been performed in the embedded 'diff' viewer:
-
A 'null reference' error was thrown when diffing files with no differences (same contents in left & right revision). Fixed.
-
'Pending changes' view: when selecting a file with no differences, the diff viewer was painting the differences from a previously selected changed file. Fixed.
-
Poor performance when diffing a branch or changeset and navigating across the affected files with cursor keys. Fixed.
Branch names containing the '$' character weren't…
Branch names containing the '$' character weren't properly handled when renaming them, causing the rename operation to display a 'branch not found' error message. Fixed.
Mergetool for Windows
Mergetool for Windows: In some circumstances, an 'out of range' error is shown when the text of a contributor is restored for a selected conflict. Fixed.
5.4.16.695
New
Mergetool for Windows
Mergetool for Windows: New version of including a greatly improved text editor.
mergetool.exeXmerge (a.k.a. mergetool.exe) now includes a text editor with tons of improvements such as better syntax highlight and more languages supported, options to show tabs and spaces and column guidelines.
Editor also supports Undo and code completion!
JIRA issue tracker extension
JIRA issue tracker extension: JIRA Extension now supports the JIRA REST API
Checkout this URL to get info about configuring the JIRA Extension.
JIRA issue tracker extension
JIRA issue tracker extension: Changeset Guid is now available in the 'checkin log' of JIRA extension. The Guid is written in the Plastic SCM custom field.
Find below an example of the logged data:
Date: 9/10/2015 12:25:25 PMChangeset 4424@default@localhost:8084 by dhernandezChangeset guid: 5372daf7-f740-4d05-b9d2-a30823907bb2Branch: /main/scm029Comments: Rename csproj filesItems: Changeset 4424@default M /client2008.csproj -> /client2010.csproj M /server2008.csproj.-> /server2010.csproj
Mac OS installer
Mac OS installer: macplastic installer is now compatible with Mac OS 'El Capitan'.
Command Line Interface
Command Line Interface: The application bundled with macplastic installer didn't have the required libraries to run command properly. Fixed.
cmcm syncUser/Password management tool GUI
User/Password management tool GUI: The lists of users, groups and group members are now alphabetically sorted. The groups are shown before the users.
Windows GUI
Windows GUI: 'Permissions' dialogs: The list of users and groups, and the list of permissions are now alphabetically sorted.
Bug
Windows GUI
Windows GUI: 'Permissions' dialogs: Fixed an issue which prevented setting the owner of a repository when there weren't secured paths defined.
Windows GUI
Windows GUI: 'Permissions' dialogs: Fixed an issue with the 'permissions' panel's scroll which prevented to show the last permission in the list when other permission was clicked.
Windows GUI
Windows GUI: Several aesthetical improvements when the language is set to 'Spanish'.
Windows GUI and Visual Studio plugin
Windows GUI and Visual Studio plugin: The 'Diff with previous' menu option didn't warn about possible unsaved changes on the right revision. Fixed.
Mergetool
Mergetool: The result file could miss a 'new line' character when there was a non-automatic conflict affecting to the last line of the contributor files and the last line of these contributor wasn't an empty line. Fixed.
Linux GUI (GTK)
Linux GUI (GTK): The pending changes's diff viewer was displaying an error message when showing the contents of an ignored file. Fixed.
5.4.16.694
New
Windows Explorer Integration
Windows Explorer Integration: The Windows Explorer Integration (a.k.a. 'Plastic SCM Shell Extension') is available to be installed again.
Encryption config is requested only once instead…
Encryption config is requested only once instead of once per file. Suppose there are 100 files to be downloaded from a server with encryption activated, the config dialog shows up but 'cancel' button is clicked: before it kept asking once per file. Now it only asks once per operation (once per update, for instance).
Windows GUI
Windows GUI: SemanticSCM: Usability improvements for moved code blocks in diff viewers: Now it is possible to align the affected moved blocks of each contributor so that the differences can be detected easily.
Windows GUI
Windows GUI: A new option to diff two selected files has been added to the 'Items 'view. To use it, just select two files in the view, right click and then (Directories can also be selected to launch diff's).
Diff -> Diff selected itemsThe diff can only be shown for non-private files/directories in the current workspace, and can't be applied to directories inside xlinks pointing to different repositories between them.
Windows GUI
Windows GUI: Custom shortcuts can now be specified for the defined 'Open with' applications ( ).
Preferences -> Custom "Open with..."Remarks:
-
Valid shortcut values are the shortcut enumeration values defined in the .NET Documentation.
-
Take into account that you can define some values that can override the existing predefined shortcuts.
Windows GUI
Windows GUI: A 'comments' textbox has been added to the 'create shelve' dialog. The 'comments' textbox is automatically set to the current text value of 'checkin comments' textbox.
Also, when applying a shelve to a workspace, the shelve comment is automatically appended to the current 'checkin comments' textbox.
Linux GUI (GTK)
Linux GUI (GTK): The provided GTK# binaries have been updated to version 2.12.29. This will prevent the following error message to be displayed on console:
Error: (gtkplastic:15873): GLib-CRITICAL **: Source ID <number> was not found when attempting to remove it
Linux GUI (GTK)
Linux GUI (GTK): Embedded diff viewer: Header labels are now text fields in order to select and copy text. Also, the look & feel of the comments in the diff viewer has been reviewed.
Linux GUI (GTK)
Linux GUI (GTK): 'Ctrl+F' accelerator key has been implemented, enabling finding an item in the 'Items' view and in the 'Branch explorer' view.
Bug
Workspace-relative patterns of global 'cloaked.co…
Workspace-relative patterns of global 'cloaked.conf', 'ignore.conf', etc. files (e.g. ) were not being properly matched. Fixed.
/src/libWindows GUI
Windows GUI: The 'Extended information' panel (that can be shown in branches, changesets, labels, and shelves views) was not properly updated when the view was refreshed. To update the displayed info, it was necessary to select a different item before.
But now this is not required anymore, and the displayed info is properly refreshed for the selected item after the view is refreshed.
Windows GUI
Windows GUI: If the 'Extended information' panel of the 'Branches' view is shown after selecting a branch, the 'Issue tracker' info was not displayed. Fixed.
Linux GUI (GTK)
Linux GUI (GTK): Several improvements
Several improvements have been made:
-
The scroll is not properly restored in some views after performing certain operations. Fixed.
-
The columns of some views didn't have a default width, causing, for example, the comments column grow to adapt to the longest. Fixed.
-
Fixed an error trying to diff a branch/changeset from a repository different than the default one.
-
The 'update forced' button in the update report dialog is cut. Fixed.
-
The directory conflict resolution panel was wrongly restored to the original location after moving it and clicking on a directory conflict. Fixed.
-
The application name will be now 'gtkplastic'.
Linux GUI (GTK)
Linux GUI (GTK): Fixed unexpected behavior pressing the 'Del' key in the checkin comments textbox or in the filter textboxes of some views.
Linux GUI (GTK)
Linux GUI (GTK): Selecting multiple incoming/outgoing branches (more than 100 branches) in the sync view, or right-clicking on them to display the context menu was downgrading the application performance, even freezing the application. Fixed.
FMOD plugin
FMOD plugin: Closing the commit dialog was causing all changes to be reverted without a warning message. Fixed.
FMOD plugin
FMOD plugin: The 'revert' action was not refreshing the FMOD project layout. Fixed.
5.4.16.693
New
Gluon
Gluon: Now, the checkout operation skips the item that cannot acquire the exclusive checkout. Similarly, the checkin operation now also skips locally changed items that cannot acquire exclusive checkout.
Gluon
Gluon: Command Line Interface ( command): Now, locally changed items in conflict with commited server changes can be discarded using the option . When this option is set, the checkin operation will discard the changes in conflict and will finish the operation without them.
cm partial-–ignorefailed(Before, locally changed items in conflict with the server changes caused the checkin operation to fail and be rolled back).
Windows GUI
Windows GUI: Improved highlight colors for search results in 'Branch explorer' view. Changed some default colors used for the filters and conditional format rules.
Windows GUI
Windows GUI: Autocomments for checkin operation are now auto-refreshed with the new branch name and datetime when switching from a branch to another branch.
Merge operation
Merge operation: Now, file conflicts could be resolved with 'Preserve workspace changes' and 'Preserve source changes' options even when no merge tools are defined for those conflicting files.
Replication
Replication: Now, the replication operation will fail at the beginning of the operation if the remote server uses encryption and the local server has not been properly configured to work with remote server's encryption. (Previously, the replication operation failed after 'processing metadata' step).
Bug
Windows Installer
Windows Installer: SemanticSCM: The Plastic SCM Windows Installer did not include the necessary YamlDotNet libraries to allow external parser interaction. Fixed.
Windows Installer
Windows Installer: Reviewed .NET Framework dependencies for Plastic SCM Windows Installer. The server component and some other components (such as SCC plugin and Office plugins) requires .NET Framework 3.5 (CLR 2.0 version), which is not enabled by default in Windows 8 and Windows 10.
The installer will ask for the .NET Framework 3.5 if any of these components are selected to be installed.
Moreover, fixed the 'vsixpackager.exe' application, which is used to install the Visual Studio Package component, so the installer won't require .NET Framework 3.5 if this component is selected to be installed.
Windows GUI
Windows GUI: several fixes on theme configuration have been performed (changed some colors in 'Pending changes' view and 'Diff' viewers).
5.4.16.692
New
Linux GUI (GTK)
Linux GUI (GTK): A 'diff' viewer has been added in the 'Pending changes' view. It shows differences for changed files and the content for added, deleted and moved files.
Bug
Linux GUI (GTK)
Linux GUI (GTK): Message dialogs were not showing the text message when it contains some special chars (e.g: , ). Fixed.
<>Linux GUI (GTK)
Linux GUI (GTK): Message dialogs were appearing behind the main window sometimes. Fixed.
Linux GUI (GTK)
Linux GUI (GTK): In some circumstances, a 'collection was modified' exception is thrown in the items view. Fixed.
Linux GUI (GTK)
Linux GUI (GTK): Fixed several error messages which were dumped on the console:
Gtk-CRITICAL **: gtk_list_store_get_path: assertion 'iter->stamp == GTK_LIST_STORE (tree_model)->stamp' failed
GdkPixbuf-CRITICAL **: gdk_pixbuf_composite: assertion `dest_x >= 0 && dest_x + dest_width <= dest->width' failed
Gtk-CRITICAL **: gtk_tree_model_sort_get_path: assertion 'tree_model_sort->stamp == iter->stamp' failed
Gtk-CRITICAL **: IA__gtk_tree_selection_select_path: assertion 'path != NULL' failed
Gtk-WARNING **: Failed to set text from markup due to error parsing markup
Gtk-CRITICAL **: gtk_tree_model_sort_iter_nth_child: assertion 'VALID_ITER (parent, tree_model_sort)' failed
Gtk-CRITICAL **: gtk_tree_model_sort_get_value: assertion 'VALID_ITER (iter, tree_model_sort)' failed
GLib-GObject-CRITICAL **: g_value_unset: assertion 'G_IS_VALUE (value)' failed
Gtk-CRITICAL **: gtk_tree_model_sort_get_path: assertion 'tree_model_sort->stamp == iter->stamp' failed
Gtk-CRITICAL **: IA__gtk_tree_selection_select_path: assertion 'path != NULL' failed
Gtk-CRITICAL **: gtk_tree_store_get_value: assertion 'VALID_ITER (iter, tree_store)' failed
GLib-GObject-CRITICAL **: g_value_unset: assertion 'G_IS_VALUE (value)' failed
5.4.16.691
New
Windows GUI
Windows GUI: Now it is possible to save changes using keyboard shortcut in editable 'diff' viewers.
Ctrl + SREST API
REST API: Added 'revision history' feature. Please have a look at the API documentation for further information.
Command Line Interface
Command Line Interface: Improved command help output for and commands.
lreplwkWindows GUI
Windows GUI: SemanticSCM: Built-in semantic diff in the cset/branch diff has a new 'skip format changes' option. It's a toggle button that allows to ignore indentation and EOL changes when the semantic differences are calculated.
Gluon
Gluon: Workspace Explorer view: some item icons from the 'Workspace Explorer' view were changed. Locked items are now displayed with a different icon and color.
Gluon
Gluon: Checkin operation: Now it is possible to finish a checkin operation submitting non-conflicting local changes and discarding local changes in conflict with server changes (which are reported by the checkin operation).
Previously, when any local change was in conflict with server changes, the entire checkin operation was cancelled.
Server
Server: Now the client is able to work against an encrypted server. Previously only replication operations could be performed against an encrypted server.
The client will decrypt the data during the download operation and encrypt them on the checkin operation.
The encryption is configured on the same way than on the servers working against an encrypted server.
The encryption is configured using the 'cryptedservers.conf' file. This file contains server - encryption file pairs. The encryption/decryption is performed when uploading/downloading data and the targeted server is included in 'cryptedservers.conf' file.
'cryptedservers.conf' file example:
delta:8085 delta.keymorgan:8084 mrg.key
The encryption file contains the encryption method and password (see example below).
- :
delta.key
AES128 |SoC|ictrT7pgBSRDJ1m7nOlj96NTl0I23jI7T6K6ADf5X3ry0sDe0InYkOdmyLcpdnX5PzoD5yCphkw=
- :
mrg.key
AES128 cleanpassword
Supported encryption methods are: AES128, AES192 and AES256. Password can be either plain text or cyphered as any other password in Plastic SCM (using the cm crypt command).
Issue trackers
Issue trackers: Polarion: Included the new issue tracker plugin for Polarion ALM. This way, 'Branch explorer', 'Changesets' and 'Branches' views are now able to display issue tracking information from Polarion.
The new issue tracker extension for Polarion can be configured through 'Preferences' > 'Issue Tracking' dialog.
Linux GUI & Mac GUI
Linux GUI & Mac GUI: The checkin results are now logged into the issue tracker's tasks if an issue tracker extension is properly configured.
Server
Server: Windows installer: Now, the default backend for new Plastic SCM Server installations will be set to SQLite (instead of SQLServer CE).
Remember that SQLite 3.8 was already supported by Plastic SCM Server, including WAL (Write-Ahead Logging). WAL enables SQLite backend users to avoid locking when multiple threads try to read simultaneously from the database.
Windows GUI
Windows GUI: 'Diff with previous revision' is now the default action to execute when double-clicking a revision in the 'History' view.
Bug
Security
Security: Fixed an 'unhandled exception' error when trying to set an ACL for a revision identifier (it's not supported to set acl's for revisions, but the command was failing after showing an informative message).
All application icons were wrongly (blurry) displ…
All application icons were wrongly (blurry) displayed in the Windows task manager. Now they are correctly displayed.
GitSync
GitSync: Pushing changes to GitHub resulted in a 'Stream terminated early' error, even if all changes were correctly pushed. Fixed.
Server
Server: The server applications 'umtoolgui' and 'admintool' had an incorrect layout in high DPI screens. The issue is now fixed, and these applications are correcly displayed.
Windows GUI
Windows GUI: SemanticSCM: Fix a "null reference" error when the files cannot be parsed. Now, a message is shown and the text-based differences are calculated automatically.
Windows GUI
Windows GUI: SemanticSCM: The Microsoft C Runtime 2013 dependencies, which are required by the C language parser, were missing. Fixed. Now, they are included in the client installer.
Windows GUI
Windows GUI: Comments were not properly refreshed on the 'Items', 'Branches', 'Changesets' and 'Shelves' views after editing and saving them. This issue has been fixed.
Windows GUI
Windows GUI: Working with I3 (old school theme), all scrollable views did not scroll using the mouse wheel. The scrollbar did scroll, but the content didn't. Not it's fixed.
Windows GUI
Windows GUI: The action bars in the diff viewer were not drawed after changing from semantic differences to textual differences. Now it's fixed.
TeamCity plugin
TeamCity plugin: The plugin failed to poll changesets after a Plastic SCM server address/port change or a repository rename. This issue was partially fixed in version 5.4.16.680, but was still failing in some configurations. Now it's fully fixed.
Linux GUI (GTK GUI)
Linux GUI (GTK GUI): The side-by-side diff viewer's dependencies were missing. Fixed. Now they are included in the client's '.zip binaries' installer.
Linux GUI (GTK GUI)
Linux GUI (GTK GUI): Category titles in the 'Diff' window and 'Pending changes' view were not properly refreshed after applying a filter. Fixed.
Linux GUI (GTK GUI)
Linux GUI (GTK GUI): The 'Diff' window was displaying incorrect category icons for merged revisions. Fixed.
'Revert-to' operation
'Revert-to' operation: When reverting to a revision that was previously reverted, an error was thrown. Fixed. Now it is possible to revert to a revision several times without undoing changes between revert operations.
5.4.16.689
New
Linux GUI (GTK GUI)
Linux GUI (GTK GUI): A new native, gtk-based side-by-side diff viewer is out!
The new built-in diff has been added to the 'diff branch/changeset' window.
The new diff works for changed files and the contents for added, deleted and moved files.
This is an initial release, so there are a list of limitations to consider:
-
Right now you can't directly diff moved files under the "moved" group. We will add it later. In the meantime, go to the same file under "changed" to see the diffs.
-
There are no diffs for xlinks, directories and binary meta-data yet.
-
Some options are still missing: you can't change the comparison method, syntax highlight or encoding. The comparison method is set to "recognize all" by default, which means it won't ignore EOLs & whitespaces.
-
Partial Xdiff support: it already detects moved fragments, but there are no buttons yet to navigate to the moved code or show the "sub-diff" of the fragments.
Windows GUI
Windows GUI: SemanticSCM: Added support for external language parsers. Follow these steps to configure a custom parser:
-
Open or create the 'externalparsers.conf' file located in your Plastic SCM configuration directory (usually)
C:\Users\<your_user_name>\AppData\Local\plastic4 -
Add a line to set the parser's executable path for each file extension, as follows:
.pas=C:\MyParsers\pas2yaml.exe
2.1. Make sure there's no white space between the file extension and the '=' character.
- Once Plastic SCM is started, all files having the defined extensions will be semantically parsed in all diff viewers.
Windows GUI
Windows GUI: Branch Explorer: Replication sources can now be hidden from the options panel in the 'Branch Explorer' view.
To do that, open the 'options' panel and press the 'close' button on the replication sources you want to hide.
To show them again, just select 'Show excluded replication sources' option and the excluded sources will be shown on their original position.
To remove them from the 'excluded' list, press the 'add' button.
Replication operation
Replication operation: Improvements on the replication progress on Windows:
-
Metadata transfer (after fetching data) now has progress.
-
Improved localization of the messages during the replica.
-
Data transfer on Windows get progress in MB (size).
-
Cancel improved on Windows. It can't lock the GUI now.
Bug
Sync View
Sync View: "Cancel" operation has been fixed. Now you can press 'cancel' button and the GUI won't look "hanged up" anymore. In fact it wasn't a server thing, just a GUI thing: the cancel button was disabled and everything looked "hanged up" while it really wasn't.
Also improved the status retrieval during replica to make it more responsive for very quick to push/pull branches.
Improved texts on the sync dialog so now you know if you're pushing or pulling and from/to where.
A "grey panel" was displayed when loading big sync view config files. It is now gone.
Windows GUI
Windows GUI: Branch explorer: 'Display options' -> 'Enter visibility/relayout mode'. The explanatory text was not line-wrapped, so the text was not visible. Now it's fixed.
Users management server tool
Users management server tool: application crashed when 'users.conf' file was corrupt. Now, an error dialog will appear showing a descriptive error message.
umtoolguiUsers management server tool
Users management server tool: application crashed when it was launched without root privileges on linux. Fixed.
umtoolgui5.4.16.688
New
Multi-level submodule support
Multi-level submodule support
Now a full hierarchy of submodules can be added. It is possible to have repositories as follow:
default/codicedefault/codice/plasticscmdefault/codice/plasticscm/windowsguidefault/codice/semanticmerge
Before only 1 level of submodules was allowed, but now a full hierarchy can be created, which is useful when a certain namespace policy must be enforced.
All the submodules inside a given repository are stored inside the same database as the repository, actually using different table name prefixes or schemas in the case of SQL Server.
Remarks:
-
A submodule can't be moved to a different repo. It stays on the repo where it was created.
-
A submodule can be moved "inside" a different submodule and submodule hierarchies can be freely modified just applying repository rename operations. It means you can start with
default/codicedefault/codice/plasticscmdefault/codice/plasticscm/windowsgui
And transform the hierarchy as follows:
default/codicedefault/codice/plasticscmdefault/codice/windowsgui
And even rename "codice" to "plastic-code" and then:
default/plastic-codedefault/plastic-code/plasticscmdefault/plastic-code/windowsgui
-
When you delete a submodule, you delete all the submodules inside it! Remember that delete doesn't really remove the submodule, it stays on the database and it is just unlinked from Plastic (as happens with repositories).
-
A submodule inherits permissions from its parent submodule. When you move a submodule, the permissions from the new parent will be applied.
GTK/Mac GUIs
GTK/Mac GUIs: 'Open' and 'Open with...' context menu options are now available in the 'Pending changes' view.
Gluon
Gluon: Usability improvements. When deleting an item from the workspace explorer, the the nearest sibling is focused (instead of the root item as it was done before).
Gluon
Gluon: Usability improvements. When typing text in the comments textbox, the focus is preserved even if the 'checkin' view is being refreshed.
Bug
Gluon
Gluon: If the workspace is configured with the 'Compare file contents instead of timestamp when determining changed status' setting, the 'workspace explorer view' was showing an error when it was refreshed and a file was delete in the workspace. Fixed.
Windows GUI
Windows GUI: Several fixes have been made on the GUI theme configuration (wrong colors on dialogs and buttons).
Installer
Installer: The windows installer did not optimize assemblies (NGEN) in some OS, such as Windows 10 or some Windows 8.1. Now it's fixed.
The assemblies are optimized during the installation process in background.
Remark: The assembly optimization will only be executed if the installation is run with elevated (administrator) privileges. So we recommend to install Plastic SCM with elevated privileges to enforce optimizing its executable files.
5.4.16.687
New
GTK GUI
GTK GUI: The diff window now includes a filter textbox
Annotate
Annotate: Little improvement in 'Annotate' view. The column for 'Show whether line was changed in a merge' preference now shows 'Merged' string for affected lines.
Bug
JIRA integration
JIRA integration: The Branch Prefix configuration parameter was being ignored when working in the 'Branch per task' mode. Fixed.
Triggers
Triggers: The 'merge-to' operation was not firing the server checkin triggers. Fixed.
Visual Studio integration
Visual Studio integration: The Visual Studio Package (>=VS2010) did not track moved and renamed files properly. Fixed.
5.4.16.686
New
Gluon
Gluon: when sorting the workspace contents by status, folder and files are not mixed anymore.
Gluon
Gluon: changeset differences can now be launched by double-clicking on a changeset in the changesets view.
Windows GUI
Windows GUI: The issue tracker integration icons on the Windows GUI have been updated.
Windows GUI
Windows GUI: 'Attributes' tab icons in 'Branch Explorer' options panel were updated. Some GUI improvements were also performed.
GTK/Mac GUIs
GTK/Mac GUIs: If the server auth mode is 'Active Directory' working mode, the client configuration wizard will automatically set the client auth mode to a compatible 'LDAP' working mode to connect to the 'Active Directory' server. User and password texboxes will be shown to fill in the user's LDAP credentials.
REMARK: Remember to start the Plastic SCM server with a valid Active Directory user account.
GTK/Mac GUIs
GTK/Mac GUIs: Added 'diff selected changesets' context menu option when 2 different changesets are selected either in the 'Changesets' view or in the 'Branch Explorer' view.
GTK/Mac GUIs
GTK/Mac GUIs: Added 'diff selected revisions' context menu option when 2 different revisions are selected in the 'History' view.
GTK/Mac GUIs
GTK/Mac GUIs: Added a new "Diff workspace contents" context menu option to added/deleted items on the Pending Changes View.
GTK GUI
GTK GUI: Accelerator keys have been implemented for major context menu options (same as in Windows GUI).
Command line client
Command line client: Improved format string for and commands.
lreplwkNow, descriptive names like or can be used instead of numbers in the format string. Improved default output format for this commands. Check the commands help for more info.
{repname}{wkname}Command line client
Command line client: The command now prints current directory relative paths by default, instead of workspace root relative paths.
cm statusNevertheless, workspace root relative paths still can be printed by specifying the (or ) flag.
--wrp----wkrootrelativepathsAlso, full paths can be also printed by specifying the (or )
--fp--fullpathsRemarks:
-
command will still print workspace root relative paths by default. The
cm status --xml(or--fp) will print absolute paths instead.--fullpaths -
Theand
cm status --machinereadablecommands will remain unchanged, and they will print absolute paths (as they are commonly used for automation purpouses).cm status --short
Command line client
Command line client: The command now prints workspace root relative paths by default, instead of full workspace paths.
cm diffNevertheless, full workspace paths still can be printed by specifying the (or ) flag.
--fp--fullpathsCommand line client
Command line client: The command now prints workspace root relative paths by default, instead of full workspace paths.
cm logNevertheless, full workspace paths still can be printed by specifying the (or ) flag.
--fp--fullpathsRepository paths can be forcibly printed if the flag is specified. This flag will override the flag.
--repositorypaths--fpServer
Server: The 's command syntax has been modified modified. The new syntax is
umtoolchangeuserpasswordumtool changeuserpassword username newpassword newpasswordNow, to reset a user password on the UP configuration mode is not necesary to provide the old user password, since the command is executed by an admin user. However, you will need to repeat the new password in the command arguments.
The has changed its alias to .
changeuserpasswordpasswdFinally, the command can now be run in interactive mode if you don't provide any arguments.
Linux
Linux: Added Debian 8.1 compatibility. Please have a look at the linux package installation instructions.
Bug
Linux
Linux: The client didn't accept a ssl server certificate when replicating against a ssl remote server. It only happened in Linux. Fixed.
GitSync
GitSync: When a Git commit contains a directory reference from an old commit (different than the parent commit), its content could be wrongly deleted during the synchronization process. Fixed
Windows GUI
Windows GUI: Some aesthetical improvements have been done on the Preferences tab in the 'Options' dialog.
Windows GUI
Windows GUI: Fixed an usability issue in the annotate view. The metadata textbox (the left one) scrolled right automatically after clicking when the line was long.
5.4.16.685
New
Gluon
Gluon: The Gluon views can now be refreshed by pressing key.
F5Issue trackers
Issue trackers: The 'Create branch' dialog is now able to list all pending issues assigned to a user with JIRA 'multiple projects' working mode.
Please check this link out for further info about JIRA multi-project configuration in Plastic SCM.
Eclipse plugin
Eclipse plugin: Now it's possible to checkin files from different workspaces from the package explorer.
Eclipse plugin
Eclipse plugin: Improved the single branch development pattern in the Eclipse plugin. When checking in files, if other users performed changes in the same branch, the Eclipse plugin tries to perform an automatic 'update merge'. If user intervention is required to solve merge conflicts, the merge dialog is shown.
Server Installers
Server Installers: SQLite backend configuration: The built-in server's database backend config file (db.conf) is now configured to enable the WAL (Write-Ahead Logging) feature.
WAL enables SQLite backend users to avoid locking when multiple threads try to read simultaneously from the database. SQLite is the default database backend on Linux/Mac installations and optional on Windows.
GTK & Mac GUIs
GTK & Mac GUIs: 'diff branch/changeset' window can now be launched by double-clicking them in the 'Branch Explorer' view.
Windows GUI
Windows GUI: The 'Branch Explorer' view background colors are now customized with the selected theme.
Windows GUI
Windows GUI: The 'Analyze differences' feature in the 'diff branch/changeset' window are now calculated using only text files (ignoring binary files).
Bug
Windows GUI
Windows GUI: 'diff branch/changeset' window: The 'current difference' index was incorrectly updated when navigating forward or backwards. Fixed.
Windows GUI
Windows GUI: A 'null reference' exception was thrown when browsing the repository on a given changeset or branch, and there is a xlink pointing to a repository that doesn't exist. Fixed.
Windows GUI
Windows GUI: Fixed an error when the GUI was trying to connect to a server using SSL with a not valid certificate host.
Command Line Interface
Command Line Interface: command was not showing the user name properly in LDAP and AD authentication modes. Fixed.
cm listtriggers5.4.16.684
New
Windows GUI
Windows GUI: Analyze Refactors – to help you diff refactored code that has been moved between different files. It is only available for Windows.
Diff a branch or a changeset and you will see a new "Analyze Refactors" button. Click on it and it will parse your C#, Vb.net, C or Java code to detect refactors.
This way you can easily diff a method that was moved between two files as a result of a class being split. Plastic will locate the two versions of the method, on different files!, and you'll be able to easily diff it.
This is what we call multi-file semantic diff and it is another step ahead towards Semantic Version Control.
Server autodiscovery has been improved. Now there…
Server autodiscovery has been improved. Now there are more chances to find active servers on LAN or WiFi networking.
Tube
Tube: Now the control connections retry after 500ms, then 1 sec, 5 secs and up to 60secs. Try to react faster if a short network cut happens.
Triggers
Triggers: New 'change attribute value' server side trigger implemented. The trigger type is .
chattvalueThis kind of triggers will be launched when the value of an attribute applied to a certain object changes, and they can be fired both before and after attribute value is changed.
Find below examples of how both 'before' and 'after' triggers can be created:
chattvaluecm mktrigger before-chattvalue before-chattvalue-trigger-name "c:\triggers\check-before-chattvalue.exe"
cm mktrigger after-chattvalue after-chattvalue-trigger-name "c:\triggers\check-after-chattvalue.exe"
When a trigger is fired, the follwing info will be available reading from the standard input:
chattvalue-
'before chattvalue' format:
object_spec attribute:"att_name" value:"att_value" -
'after chattvalue' format:
object_spec attribute:"att_name" oldvalue:"old_att_value" newvalue:"new_att_value"
Examples:
-
'before chattvalue' :
br:/main/task985 attribute:"STATUS" value:"OK" -
'after chattvalue' :
lb:BL145 attribute:"RELEASED" oldvalue:"FALSE" newvalue:"TRUE"
The following environment variables are also available to be used during the trigger execution:
PLASTIC_USERPLASTIC_CLIENTMACHINEPLASTIC_SERVERPLASTIC_REPOSITORY_NAMEPLASTIC_ATTRIBUTE_NAME
REMARKS: To take advantage of this new kind of triggers, both Plastic SCM client and server should be upgraded to this version.
GTK & Mac GUIs
GTK & Mac GUIs: The 'diff' window now supports showing the contents of added and deleted files.
Installers
Installers: client .zip installers now sets a+x permissions to application launcher scripts
Bug
Mac OS server package
Mac OS server package: There was an error when configuring MySQL as database backend: "codepage 1252 not supported". Fixed.
5.4.16.683
New
Windows GUI
Windows GUI: SemanticSCM Outline: Added support for mouse wheel. Also improved the look and feel for the available themes.
Windows GUI
Windows GUI: SemanticSCM: When a declaration has been moved and renamed, the adornment for the moved difference is not drawn in the visual diff. Fixed.
Code review triggers
Code review triggers: The SEID now is resolved to a user name and stored in the variable.
PLASTIC_REVIEW_ASSIGNEEBug
Visual Studio plugin
Visual Studio plugin: Fixed a when showing the differences of a file from the Solution Explorer's 'Checkin' dialog in Visual Studio.
NullReferenceExceptionUnity 3D plugin
Unity 3D plugin: Fixed an error when showing the differences of a changeset/branch from the 'Branch Explorer' dialog in Unity 3D plugin.
Merge Tool
Merge Tool: Conflict's position were not properly updated when resolving a previous non-automatic conflict. Fixed.
5.4.16.682
New
REST API
REST API: Now, Plastic SCM Windows installer contains a REST API listener, named .
plasticapi.exeThe RESP API listener it's a Plactic SCM client API, which is in a beta phase. We're still developing more features that will be included in further releases.
To get more info about the REST API, please contact support at: 'support@codicesoftware.com'
Command Line Interface
Command Line Interface: Added a '--ignorefailed' parameter to the command. This parameter will enable the command to ignore any configuration errors detected during its execution.
cm partial configureThis parameter may be useful when loading/unloading workspace items without a previous check whether the items are present or not.
Windows GUI
Windows GUI: Added a new text box on the 'branch creation' dialog to filter 'pending tasks' list on 'From task' mode.
Bug
Windows GUI applications layout was incorrect in…
Windows GUI applications layout was incorrect in high DPI screens. Fixed.
(GUI applications such as 'Plastic SCM GUI client', 'Gluon', 'Mergetool', 'Binmergetool' and client/server configuration wizards).
Windows GUI
Windows GUI: When moving the mouse cursor over the vertical splitter in the 'Diff' viewer, the cursor becames a hand icon, and it won't change back to the default cursor icon anymore. Fixed.
TeamCity plugin
TeamCity plugin: Fixed a bug in TeamCity plugin. Now the plugin can reuse the same workspace for all VCS configuration when the parameter 'Workspace directory' is filled.
5.4.16.681
New
codeBeamer Extension
codeBeamer Extension: The new codeBeamer issue tracker extension is now included in Plastic SCM. To enable this new integration, go to 'Preferences' -> 'Issue Tracking' dialog in Plastic SCM GUI client.
Windows GUI
Windows GUI: The diff view now shows an info message when an encoding change is detected.
Windows GUI
Windows GUI: Creating branches from issue tracker information is now available for all supported extensions: BugZilla, Mantis, FogBugz, Rally, VersionOne, Trac and Axosoft.
However, we regret to inform you that the 'Mark task as open in issue tracker' option won't be available for VersionOne.
Plastic SCM release names are now song names. A l…
Plastic SCM release names are now song names. A link to the Spotify song can be found in the 'About' dialog.
Windows GUI
Windows GUI: Syntax highlight and Semantic diff are now enabled in the 'method history' feature.
Windows GUI
Windows GUI: Semantic diff now shows the changes in the comments for the .NET languages (C# and Visual Basic).
Windows GUI
Windows GUI: Fixed an error when closing the 'checkin pending changes' dialog when no checkin comment is provided. Previously, if the dialog was closed using the close button, the checkin was still performed. Now, when closing the dialog, the checkin operation is cancelled.
Windows GUI
Windows GUI: The Plastic SCM theme for Windows can now be changed from the 'Preferences' dialog. To change the theme, go to 'Preferences' -> 'Theme'. Two new themes (Montana and Montana Dark) are now included within the Plastic SCM installer.
The theme can be also changed by using the option from the command line.
--theme=themenameCurrent avaliable theme names are: 'i3', 'windowsnative', 'montana' and 'montana-dark'.
Several improvements in the differences calculation
Several improvements in the differences calculation have been done:
-
Calculate xdiff moved regions inside semantic changed declarations
-
Calculate moved regions inside other xdiff moved regions (recursively)
All this info was previously available but not directly shown in the 'diff' textboxes. You needed to use the xdiff buttons to diff the contents.
In the case of moved regions inside other moved regions you ended up with several windows opened.
Bug
Merge Tool
Merge Tool: The encoding is not taken into account when the result file is saved. Fixed.
Windows GUI
Windows GUI: Diff control: Update the textboxes info correctly when changing the syntax hightlight. Before, the adornments (semantic and xdiff buttons) and the outlining mode got lost.
In addition, enable or disable the outlining menus depending on its availability.
5.4.16.680
New
Windows GUI
Windows GUI: the 'Mount this changeset in Plastic Drive' changeset context menu option is now visible by default in both the 'Changesets' and 'Branch explorer' views.
'Plastic Drive' is a virtual drive for Windows to mount changesets and be able to browse using regular tools like Visual Studio.
GTK/Mac GUIs
GTK/Mac GUIs: Avoid showing tons of error messages when the views are rendered and the credentials are not valid.
Bug
JIRA extension
JIRA extension: The client wasn't updating the custom JIRA field when the issue tracker working mode was set to "Task on branch". Fixed.
The TeamCity plugin failed to poll changesets aft…
The TeamCity plugin failed to poll changesets after a PlasticSCM server address/port change or a repository rename.
Diff control
Diff control: The options button remained disabled when switching between text and semantic diffs. Fixed.
configureserver was broken on Linux due to a wron…
configureserver was broken on Linux due to a wrong dependency with WPF. Fixed.
Mac server
Mac server: The new installer was wiping out all user configuration and repository data on upgrade. Fixed.
5.4.16.679
New
Windows GUI
Windows GUI: The diff view (branch, cset) now adds Semantic Outline as part of the Semantic Version Control initiative.
Once you enter in semantic mode, an outline of the changes is displayed, highlighting the changes on methods, classes, attributes and so on. Clicking on an element on the outline highlights the corresponding declaration on the right side of the diff view.
Windows GUI
Windows GUI: A new feature has been added in the Semantic version control initiative: the 'Visual Diff'. It shows the semantic differences for a file in a visual mode.
The feature provides three different display modes: hiding unchanged declarations, showing them or grouping them.
Windows GUI
Windows GUI: Improvements on the semantic diff navigation. When you clicked a difference the navigation panel wasn't updated for the moves. The same happened for adornments. Both are now working fine.
Bug
Windows GUI
Windows GUI: The annotate lines didn't match the textbox lines when collapsing nodes. Now it is fixed and the annotated lines are correctly collapsed.
Windows GUI
Windows GUI: Semantic diffing wasn't correctly matching methods under certain circumstances. Sometimes a method was marked as renamed and matched to the wrong one. It has been fixed so these sort of issues shouldn't happen now.
Pending changes view
Pending changes view: Fixed an error calculating pending changes when setting the similarity level to 0% to match locally moved items. Fixed.
(The error happened having several files manually moved into a private directory and at least one of moved items has also several content changes).
5.4.16.677
New
Initial release of the Semantic version control i…
Initial release of the Semantic version control initiative.
Now the Windows GUI includes built-in semantic diffing for C#, VB.net and Java. Each time you diff a branch, a changeset or a file from "pending changes" you'll have the option to switch to semantic mode.
The new diff with semantic capabilities is able to:
-
Match methods (declarations of any type in fact) to calculate the diffs. You moved a method down? No problem!
-
Decorate the side by side text diff with symbols (A- added, D- deleted, C- changed, M- moved, R- renamed) to better understand the changes.
-
Ignore code format changes such as indentation and EOL changes. Suppose you just split a method call in several lines without other changes – the diff will be ignored by default.
Important remark: This new feature forces the Plastic SCM GUI to depend on .NET 4.5.1 and higher.
Windows GUI
Windows GUI: A workspace can now be activated by double-clicking on it on the 'Workspaces' view.
5.4.16.676
New
Windows GUI
Windows GUI: Look and feel of Plastic SCM Windows GUI adapted to Windows 10.
GTK GUI
GTK GUI: 'Sync replication' view has been implemented and it is fully functional.
The 'find branches' performance has been improved…
The 'find branches' performance has been improved. Now it's about 20 times faster for a large number of branches.
Bug
Installer
Installer: Upgrading from versions less than 5.4.16.672 (with Windows Explorer integration installed) to upper versions failed with an error message. There was a compatibility issue that has been fixed.
5.4.16.675
New
CLI
CLI: The command now accepts branch specs for its --tree parameter. These branch specs will need to begin with the usual 'br:' prefix to tell them from changeset specs, e.g.:
cm lscm ls /code --tree=br:/main/scm13596@myrep@denver:7070
CLI
CLI: The command now accepts server paths, no longer requiring a workspace. A new revision spec format is required for that matter:
cm history[rev:]serverpath:{path}#(cs:{cset_id}|br:{br_name}|lb:{label_name})[@{repname}[@{host}:{port}]]
These are some valid examples:
serverpath:/src/lib/foo.c#br:/main/fix-1.3/task135@codebase@secure:8088
rev:serverpath:/src/main/bar.c#cs:9371@codebase // If default server is secure:8088
serverpath:/doc/readme.md#lb:BL035 // If executed inside a workspace whose server is codebase@secure:8088
Additionally, other commands (such as or ) benefit from this new kind of revision specs.
cm catcm diffExamples:
cm cat serverpath:/src/lib/foo.c#br:/main/task5591@otherrepo
cm diff serverpath:/src/lib/foo.c#cs:135@mainrepo serverpath:/src/lib/foo.c#cs:351@mainrepo
CLI
CLI: the command has modified its syntax. Calling this command without arguments will produce the same output as before: the list of locked items in the default (current workspace/client.conf) server.
cm listlocksNow it is possible to target different servers using the new parameter.
--server=address:portFinally, the command now accepts a list of revision specifications from which Plastic SCM will display a line for each associated item detailing the lock information, if their associated items are actually locked in their servers.
cm listlocksThe parameter will override the spec servers.
--serverThis is the new command syntax:
cm listlocks [revspec [revspec ...]] [--server=address:port] [--onlycurrentuser] [--onlycurrentworkspace]
Examples:
cm listlocks
cm listlocks --onlycurrentworkspace
cm listlocks --server=myserver:9090 --onlycurrentuser
cm listlocks revid:93152@codebase@mainserver:9095
cm listlocks itemid:1115#cs:611@extensions
cm listlocks serverpath:/src/foo.c#br:/main@game@gameserver:8084 serverpath:/doc/readme.md#br:/main@doc@docserver:9090 --onlycurrentuser
Windows GUI
Windows GUI: New features in the textbox editor are now available, such as:
-
Enable the edition for the added and moved files.
-
Enable the edition when the revision on the right side (destination) is on disk for the 'diff branch/changeset', 'changeset explorer' and 'code review' windows.
Bug
Merge
Merge: On certain complex structure refactors (with several directories moved, causing cycles, reusing paths, etc.), the differences could omit some deleted items. As a result, the merge operation could fail when a file that is inside an omitted deleted directory is changed on the other contributor. Fixed.
5.4.16.674
New
Windows GUI
Windows GUI: This release includes several improvements in text editors, described below with more detail.
These improvements cause the minimum .NET framework required to run Plastic SCM GUI is .NET 4.0 or higher.
Windows GUI
Windows GUI: Textbox editor usability has been greatly improved. New features have been implemented, such as:
-
Undo/Redo stack.
-
Intellisense (DotNet, javascript and python).
-
Smart editing: match braces and parenthesis.
Windows GUI
Windows GUI: Configurable .NET namespaces for intellisense. By default, intellisense for .NET languages only references 'mscorlib' assemblies, and the following namespaces:
-
System
-
System.Core
-
System.Xml
The user can customize the loaded namespaces for intellisense, creating a configuration file:
<plastic_config>/syntaxhighlight/dotnetlanguage.conf
Example:
# type a list of namespaces to be available in the intellipromptSystem.Collections.GenericSytem.IO
Windows GUI
Windows GUI: New features in the textbox editor are now available, such as:
-
Convert tabs to whitespaces
-
Configure tab width (4 or 8 chars)
-
Show margin line (none, 60, 80, 100, 120 or 140 columns)
Windows GUI
Windows GUI: Outlining support in the diff viewers. The outlining actions are the following:
-
Collapse regions without diffs: Collapse all regions except those that have differences.
-
Collapse to definitions: Collapse all implementation nodes (such as 'methods', 'comments' and 'properties') as Visual Studio does.
-
Expand all: Expand all nodes.
The new actions are available from the 'options' menu and from the context menu of each textbox showed in the diff viewer.
Windows GUI
Windows GUI: Differences calculation performance has been gratly improved. The improvements are very noticeable when calculating differences of big files (60-70% faster).
Windows GUI
Windows GUI: Syntax highlight support in the diff viewers. Supported languages:
-
(Plain text)
-
C#
-
Visual Basic
-
Python v2.x
-
Python v3.x
-
JavaScript
-
JSON
-
XML
-
Batch file
-
C
-
C++
-
CSS
-
HTML
-
INI file
-
Assembly
-
Java
-
Lua
-
Markdown
-
MSIL
-
Pascal
-
Perl
-
PHP
-
PowerShell
-
RTF
-
Ruby
-
SQL
-
VBScript
-
XAML
The language is automatically selected based on the file extension. The user can customize the language extensions, creating a configuration file:
<plastic_config>/syntaxhighlight/languages.conf
Example:
#syntax language definition by file extension.js:JavaScript.custom:XML.txt:Plain text
Windows GUI
Windows GUI: XDiff functionality integrated in the diff viewer: The moved fragments now highlight the inner differences.
Visual Studio integration
Visual Studio integration: The Visual Studio Package now supports Visual Studio 2015.
Bug
Mergetool
Mergetool: Conflicts counters were wrongly displayed when clicking on 'previous manual conflict' button and manual conflict count was zero. Fixed.
Web UI
Web UI: Repository progress charts on the dashboard will no longer appear as 'unavailable' if their data are available but not up-to-date.
5.4.16.671
New
Command Line Interface
Command Line Interface: A new parameter for the command is now available: parameter. If present, the command will print a list of the performed actions at the end of its execution.
cm partial update--reportIssue tracker extensions
Issue tracker extensions: The issue tracker extension system has been completely refurbished.
You'll note that custom-made issue tracker extensions referencing the previous extensioncommon.dll library will no longer work.
Please feel free to contact us at our forum if you developed your own issue tracker extension and need some hints to adapt your code to the new interface structure.
Windows GUI
Windows GUI: The 'Create Branch' dialog has been completely refurbished. It offers users the possibility to select a pending task from the configured issue tracker (displayed as a list) to automatically fill in the branch name and comment text fields. Additionally, a request can be sent to the issue tracker to mark the selected task as 'open' if it wasn't before.
However, only JIRA is supporting this functionality at this moment. New issue tracker compatibility will be implemented in the upcoming releases.
JIRA extension
JIRA extension: JIRA fields mapping support is now available. However, the format has changed. Instead of using XML fields, there's now a "Fields mapping" configuration parameter (see Issue tracker configuration panel). It stores field name pairs (from->to) separated by '|' (vertical bar) characters.
The parameter syntax is:
[ jira_field_name -> plastic_property_name [ | jira_field_name -> plastic_property_name [ | ... ] ] ]
This is a valid example of JIRA fields mapping:
issue.project->Description|issue.reporter->Owner|issue.description->Title
In this case, the displayed Description would contain the project key, the displayed Owner would be the JIRA user who created the issue and the displayed Title would be the JIRA issue description.
GUI
GUI: The 'profile' creation/edition dialog ('Profiles' tab on the 'preferences' window) has been improved. Now it's a single form instead of a wizard. The most important improvement is that it won't require to fill the destination server's working mode anymore when creating/editing a profile.
Bug
FMOD Plugin
FMOD Plugin: The 'sync' operation has been fixed. However, only global updates are allowed; the 'Sync selection' option will perform the same action as the "Sync & merge" one.
Command Line Interface
Command Line Interface: the command could fail in certain border cases when undoing renamed/moved folders out of Plastic SCM control. The failing scenario could be as follows:
cm unco --all-
Have a workspace with the following items:,
/srcand/src/foo.c/src/bar.c -
copyto
/src/src_bak -
delete
/src/foo.c -
execute-> Error.
cm unco --all
The issue has been fixed.
GUI
GUI: Fixed the server autodiscovery dialog. It used to fail when only one server was detected but it is working fine now.
5.4.16.669
New
Issue tracker extensions
Issue tracker extensions: The issue tracker extension system has been completely refurbished.
You'll note that custom-made issue tracker extensions referencing the previous extensioncommon.dll library will no longer work.
Please feel free to contact us at our forum if you developed your own issue tracker extension and need some hints to adapt your code to the new interface structure.
Windows GUI
Windows GUI: The 'Create Branch' dialog has been completely refurbished. It offers users the possibility to select a pending task from the configured issue tracker (displayed as a list) to automatically fill in the branch name and comment text fields. Additionally, a request can be sent to the issue tracker to mark the selected task as 'open' if it wasn't before.
However, only JIRA is supporting this functionality at this moment. New issue tracker compatibility will be implemented in the upcoming releases.
JIRA extension
JIRA extension: JIRA fields mapping support is now available. However, the format has changed. Instead of using XML fields, there's now a 'Fields mapping' configuration parameter (see Issue tracker configuration panel). It stores field name pairs (from->to) separated by '|' (vertical bar) characters.
The parameter syntax is:
[ jira_field_name -> plastic_property_name [ | jira_field_name -> plastic_property_name [ | ... ] ] ]
This is a valid example of JIRA fields mapping:
issue.project->Description|issue.reporter->Owner|issue.description->Title
In this case, the displayed Description would contain the project key, the displayed Owner would be the JIRA user who created the issue and the displayed Title would be the JIRA issue description.
Command Line Interface
Command Line Interface: A new parameter for the command is now available: parameter. If present, the command will print a list of the performed actions at the end of its execution.
cm partial update--reportBug
FMOD Plugin
FMOD Plugin: The 'sync' operation has been fixed. However, only global updates are allowed; the 'Sync selection' option will perform the same action as the "Sync & merge" one.
Command Line Interface
Command Line Interface: the command could fail in certain border cases when undoing renamed/moved folders out of Plastic SCM control. The failing scenario could be as follows:
cm unco --all-
Have a workspace with the following items:,
/srcand/src/foo.c/src/bar.c -
copyto
/src/src_bak -
delete
/src/foo.c -
execute-> Error.
cm unco --all
The issue has been fixed.
5.4.16.668
New
Mac GUI
Mac GUI: The 'macplastic' client installer now includes command line tools, such as 'cm' and 'clconfigureclient' as bundled applications.
These applications can be found at the following locations:
-
/Applications/macplastic.app/Contents/Applications/cm.app/Contents/MacOS/cm -
/Applications/macplastic.app/Contents/Applications/clconfigureclient.app/Contents/MacOS/clconfigureclient
5.4.16.667
New
Unity 3D Plugin
Unity 3D Plugin: The 'ignore.conf' for Unity plugin has been improved in order to avoid adding '.private.N' files accidentally when the 'automatic add' option is set.
Bug
Checkin operation
Checkin operation: Fixed an error that could happen when the checkin operation is canceled during the upload stage.
The detailed checkin progress for big files on slow networks was broken and has been fixed (it was broken in the task to implement 'retries' during replica at the network level, from release "5.4.16.661").
Create label operation
Create label operation: Several issues labeling xlinked repositories have been fixed:
-
Readonly xlinked repositories were wrongly labeled. Now, they are not labeled as these repositories cannot be modified through the readonly xlink.
-
Labeling different writable xlinks pointing to the same repository was not supported (the create label operation failed with the error: ' The label already exists'). Now, this scenario is supported.
-
Command Line Interface: Thecommand now allows to specify a given changeset to be labeled, even if the
cm mklabelflag is set.--allxlinkedrepositories
5.4.16.666
New
GTK GUI
GTK GUI: Release number and release name are now displayed in the 'About' dialog. A link to the release notes is also available.
Bug
Replication
Replication: Fixed an issue introduced in release 5.4.16.662 that prevented replica to proceed with older 5.4 servers depending on language settings: an exception was incorrectly handled and it is fixed now.
5.4.16.665
New
JIRA Issue tracker extension
JIRA Issue tracker extension: The JIRA extension can now be configured to reuse the same LDAP credentials used in Plastic SCM user authentication to log in in JIRA. Both Plastic SCM Server and JIRA must share the same LDAP user directory for this functionality to work properly.
File type configuration
File type configuration: The 'filetypes.conf' config file allows users to associate the file extensions to file types (binary or text). This config file can now be placed at the root directory of the workspace.
This way, the file type configuration can be easily distributed among users.
Gluon
Gluon: 'after-checkin' triggers are now supported
Bug
Annotate
Annotate: The Plastic SCM GUI could show a 'TimeSpan overflowed' error when the annotated file was too large and its lines were old (unchanged since several months or years ago). Fixed.
Windows Installer
Windows Installer: Some components previously installed were not remembered to be re-installed when upgrading to a newer version. Affected components were:
-
Windows Explorer Integration
-
IntelliJ IDEA plugins
-
Office plugins
Now the issue it's fixed.
Windows GUI
Windows GUI: Branch Explorer: Associated branch's issue tracker info was not being displayed if the 'Display full branch names' option was disabled. Fixed.
Windows GUI
Windows GUI: Xlinks: When a checked-out xlink with changes inside is checked-in to a different branch using the option 'Checkin changes to a different branch…', the xlinked full branch name and expansion rules were not correctly set. Fixed.
5.4.16.664
New
GUI
GUI: The repository explorer views and dialogs now include a text field to retrieve repositories from a custom server.
Leave it empty to retrieve repositories from the default sources: default server in client.conf, repositories from workspaces, stored profiles and from 'plastic.servers' configuration file.
Mac & GTK GUIs
Mac & GTK GUIs: Connect to remote, non profiled servers dialog is now implemented. The GUI will now prompt users for the remote server credentials if needed.
Mac GUI
Mac GUI: 'Sync replication' view has been implemented and it is fully functional.
FMOD plugin beta
FMOD plugin beta: Moved items are now displayed on the commit dialog.
Also, items locked in a different workspace will now be marked with a 'ghosted' checkbox.
Remember to ask 'support@codicesoftware.com' for further info about FMOD Studio plugin.
5.4.16.663
New
Gluon
Gluon: Reverting to another revision now shows item status as 'copied/replaced' in the 'workspace explorer' view.
Windows GUI
Windows GUI: Application startup performance improvement: the GUI now starts 80% faster.
Windows GUI
Windows GUI: Improved the mechanism to remember the focused item in the 'Items' view.
Bug
Gluon
Gluon: The scroll did not reach the bottom of the 'workspace explorer' view when the view was showing tons of files. Fixed.
5.4.16.662
New
The client can now accept SSL certificates requir…
The client can now accept SSL certificates required by the server for replication operations.
Before, the certificate had to be accepted on the server side, but now it can be done from the client side and installed on server provided the user is the admin of the server (owner of the repository server).
This is useful for individual distributed servers.
Server
Server: Now, if the encryption configuration is changed on the 'cryptedservers.conf' file, the new configuration will be applied without restarting the server.
Command line client
Command line client: 'cm sync' command: Changed the way the sync mappings are stored. Now, they are stored in the local user folder, instead of attributes linked to Plastic SCM objects (such as changesets, branches, and revisions).
The 'cm sync' performance has been improved. With these changes, syncing the 'mono' repository from github is 80% faster.
5.4.16.661
New
Unity 3D Plugin
Unity 3D Plugin: 'Gluon Mode' setting has been added in order to configure the plugin to work with partial workspaces.
Unity 3D Plugin
Unity 3D Plugin: Now, the plugin uses the 'MacPlastic SCM' application instead of the old X11 version.
Replication operations can now handle network iss…
Replication operations can now handle network issues and reconnect if the network is gone for a few seconds.
It works as follows:
-
If a socket gets closed in the middle of a replica then the operation is retried after 1, 5 and then 20 seconds.
-
If it is able to reconnect then everything works. Otherwise the operation fails.
It is very useful to support network issues on long replicas without having to restart the whole thing.
For instance: users can be on WiFi, switch to LAN and the operation won't be interrupted.
5.4.16.659
New
Replication operations reuse network connections…
Replication operations reuse network connections between replicas, something that was not happening before. It means it is now slightly faster to replicate several branches.
Gluon
Gluon: A 'checkin' option has been added to the context menu on the 'Workspace explorer' view. This option will open the 'Checkin changes' view on the right side of the view.
Gluon
Gluon: Small fixes in texts and icons
FMOD plugin beta
FMOD plugin beta: We're proud to announce a brand new plugin to integrate Gluon and FMOD Studio. Ask us! (support@codicesoftware.com)
Bug
GitSync
GitSync: The 'cm sync' command didn't check correctly if the item were already loaded in the server tree, leading to 'item loaded twice' exceptions. Fixed.
5.4.16.657
New
Windows GUI
Windows GUI: Usability - the 'create xlink' dialog has been improved:
-
The 'xlink name' text input field will be autocompleted when the target repository is selected if the user doesn't manually alter it.
-
The 'use relative server' checkbox is enabled by default.
-
Added a tip to remember that the content of the xlink is not loaded until the user performs an 'update' operation.
Bug
Windows GUI
Windows GUI: The embedded diff on the pending changes view was throwing an error if the 'previous' button was clicked when the current selected difference was the number 0 (this could happen right after modifying an unchanged file). Fixed.
5.4.16.656
New
Gluon
Gluon: A new feature to undelete files has been added. A new view lists the recently deleted files (and the filter is customizable). Right clicking on a deleted file shows two options:
-
'Undelete revision'
-
'Undelete revision to this path...' in case you need to recover to a different path (if the original one no longer exists, for instance).
Gluon
Gluon: A new view mode in the 'Explore workspace' view has been implemented: 'view as a list' mode. There is a new context menu option to toggle the view mode: 'view as a list' / 'view as a tree'.
Gluon
Gluon: Local changes under a readonly xlink can now be undone.
Gluon
Gluon: The 'diff' option is now available in the context menu of the 'Explore workspace', 'Checkin changes' and 'Changesets' views.
Gluon
Gluon: The Configuration mode's "Explore" button (Workspace Explorer) has been renamed to "Cancel". It's behaviour, however, stays the same: when clicked, the Workspace Explorer will end the configuration mode. Please note that clicking this button having pending changes will no longer ask for confirmation. Any changes you might have will be lost.
GUI
GUI: Create label: Users can now choose to label all xlinked repositories when creating a new label. Plastic SCM will retrieve the xlink changesets stored in the selected changeset tree and will label them accordingly. Warning messages will be displayed if the selected label name is already existing in any of the xlinked target repositories.
GUI
GUI: Implemented a tree-mode for the repositories view, so the repositories can be displayed as a list (as always) or as a tree.
GTK & Mac GUIs
GTK & Mac GUIs: Usability improvements
-
After performing an operation, always try to focus the same focused widget before the operation.
-
After deleting an item in the items view, try to focus a close item.
Command Line Interface
Command Line Interface: The 'fileinfo' command now includes a RepSpec field, which prints the repository specification of items.
License
License: the license grace period after expiration has been increased to 15 days.
Bug
GUI
GUI: The embedded diffs on the pending changes view displayed empty contents on refresh, when an item was selected. Fixed.
GUI
GUI: The SSL server certificates couldn't be accepted from the Plastic GUI. Fixed.
5.4.16.655
New
Mac OS X native server installer is now available
Mac OS X native server installer is now available. The package includes the server plus two command line tools:
-
'clconfigureserver' to configure the server
-
'umtool' to configure users and groups in "User-Password" auth mode.
Once the server package is installed, a daemon will be started up using the following defaults:
-
Port 8087 (and 8088 for SSL)
-
Name auth mode - uses the builtin users and groups in the computer
-
SQLite database backend
If you need to change the server configuration, open a terminal and:
-
Use 'clconfigureserver' to change the server settings
-
Use 'umtool' to create users and groups only if you select UP working mode
-
Restart the daemon to apply changes
How to run 'clconfigureserver' and 'umtool':
sudo /Applications/PlasticSCMServer.app/Contents/Applications/clconfigureserver.app/Contents/MacOS/clconfigureserver
sudo /Applications/PlasticSCMServer.app/Contents/Applications/umtool.app/Contents/MacOS/umtool
Example to add a user:
sudo /Applications/PlasticSCMServer.app/Contents/Applications/umtool.app/Contents/MacOS/umtool cu pablo pablo-password
How to restart the Plastic Server:
sudo launchctl unload /Library/LaunchDaemons/com.codicesoftware.plasticscm.server.plist
sudo launchctl load /Library/LaunchDaemons/com.codicesoftware.plasticscm.server.plist
The encryption configuration can now be set from…
The encryption configuration can now be set from the Plastic SCM GUI after a 'missing encryption configuration' error during the replication process.(This configuration can only be set by the Plastic SCM server administrator).
Branch Explorer
Branch Explorer: The search feature will now apply to the actual branch names being displayed. (Before, it was limited to full branch names).
5.4.16.654
New
Command Line
Command Line: A new command, named 'restore' or 'rs', has been added to the command line client. Its purpose is to restore an item to a previous revision.
Examples:
cm restore itemid:68#cs:2 C:\mywks\dir\myfile.pdf
cm rs revid:304 C:\mywks\Dir
To get further information, please check the documentation ('cm help rs').
Gluon
Gluon: Added 'undo changes' option to the context menu of the 'workspace explorer' view.
GUI
GUI: The 'Create workspace' dialog elements have been reordered. The text input fields will be autocompleted if the user doesn't manually alter them.
Mac & GTK GUIs
Mac & GTK GUIs: The 'search' feature of the 'Branch explorer' view has been improved. Now, the results are updated after refreshing the view or applying changes in the options. Also, the caption of the changeset is taken into account in the search operation.
Mac & GTK GUIs
Mac & GTK GUIs: Usability: the 'Preferences' window has been improved:
-
Added a 'Save' button to the 'Diff tools' and 'Merge tools' tab views.
-
Replaced the 'Apply' button with the 'Ok' button, which saves the changes performed in all the tab views and closes the 'Preferences' window afterwards.
The default ssl certificate generated by the Plas…
The default ssl certificate generated by the Plastic SCM server has been changed to use a more secured algorithm (SHA256 instead of SHA1).
Now, the 'Secured' Plastic channel supports the TLS protocol. (Previously, only the SSL3 was supported).
Windows GUI
Windows GUI: Now, the GUI can be opened even when the server connection is not available.
Mac & GTK GUIs: Now, both GUI's are able to reconnect to the server when the connection is lost.
Bug
Gluon
Gluon: Checkin operation: Gluon was not properly setting the read-only attribute for items to be checked-in whose contents haven't changed. Fixed. Now, the read-only attribute for those items is set according to user preferences ("Update and Checkin operations set files as read-only" preference).
Mac & GTK GUIs
Mac & GTK GUIs: The 'end date enablement' setting of the Branch explorer's display options is not taken into account when the Branch explorer is loaded. Fixed.
5.4.16.653
New
Checkin
Checkin: The checkin operation for 'locally deleted' items has been improved.
Performance optimization benchmark:
Run a 'checkin' operation having 1376 'locally deleted' files distributed among the workspace tree.
Results:
-
Before the optimization, the checkin operation took 74 seconds.
-
After the optimization, the checkin operation took 9 seconds.
Some improvements have been made to support more…
Some improvements have been made to support more compiler optimizations during the building stage of Plastic SCM.
Bug
Automatic upgrade system
Automatic upgrade system: Fixed a bug that prevented the upgrade system to download the specified Mac OS installers.
More info about the automatic upgrade system can be found at:
https://plasticscm.com/documentation/administration/plastic-scm-version-control-administrator-guide.shtml#Chapter11:Upgradesystem
Web UI
Web UI: The repository data storage process, used by stats graphs, has been improved.
5.4.16.652
New
Triggers
Triggers: The 'before-checkin' and 'before-clientcheckin' triggers are now able to use a new environment variable called . The variable contains information about the merge links included in the checkin operation.
PLASTIC_PENDING_MERGE_LINKSThe format of the serialized variable is the following:
Merge_Link_Spec1;.....;MergeLinkSpecN
Each MergeLinkSpec is composed of several fields separated by comma (,). Each field is separated from the value by the":" character. The following is an example:
mergetype:Merge,source:2@rep:default@localhost:8084
The variables are:
-mergetype: can be one of the following constants: "merge", "cherrypick", "intervalcherrypick", "cherrypicksubtractive", "intervalcherrypicksubtractive".
-source: the source changeset spec of the mergelink, composed by the changeset number, the repository and the server.
-base (optional): if mergetype is "Intervar cherry pick" or "Interval cherry pick substractive", it's the base changeset spec of the selected interval. Otherwise, the field doesn't appear in the serialized string.
Windows GUI
Windows GUI: Server file paths are now displayed in the caption on both sides of the embedded Diff View.
GUIs
GUIs: improved the way to list repositories on known servers. Now each time you refresh the Repositories View, the list of known servers is created as follows: default server, servers.conf and the servers on 'automatic' profiles. Before the list of repos was loaded only once, so if you changed to a different network the result didn't change until app restart. Now it works as expected.
Bug
Windows GUI
Windows GUI: If the active workspace on the Windows GUI is removed (by using the Command-Line client or removed physically from disk), the GUI will be frozen when trying to execute the next operation. Fixed.
cm rmwk WK_PATH5.4.16.651
New
Triggers
Triggers: Web triggers are now available. The script path value will be interpreted as an URI endpoint if it's preceded by the 'webtrigger ' string (mind the whitespace!). That endpoint will receive POST requests whenever the trigger is executed. The request body will be a JSON dictionary containing the trigger variables. Additionally, the standard input data will appear as an array under the 'INPUT' dictionary key.
For example, a web trigger can be created this way:
cm maketrigger after-checkin "Notify team" "webtrigger https://www.mysite.com/api/team/checkin"
A request body example of that trigger would be as follows:
{ "PLASTIC_CHANGESET": "cs:2341@br:/main/task4638@rep:product@repserver:plastic.mysite.com:17590", "PLASTIC_CLIENTMACHINE": "DEV1HOST", "PLASTIC_COMMENT": "Fixing command line parsing", "PLASTIC_SERVER": "plastic.mysite.com:17590", "PLASTIC_SHELVE": false, "PLASTIC_USER": "dev1", "INPUT": [ "CH "/src/main.c" FILE" ]}
Notice that once the web trigger is created, updating it (using the 'changetrigger' command) will interpret the '--script' parameter value as the 'maketrigger' command would.
For further information, please take a look at the 'maketrigger' and 'changetrigger' commands help.
GTK GUI
GTK GUI: The GTK GUI application is now included in the legacy linux-client zip installer.
Bug
Annotate
Annotate: Fixed an issue that made the annotate operation to do not end sucessfully and waste CPU.
The issue could be reproduced when launching the 'annotate' operation of certain items where the 'item-merge-tracking' info was wrongly stored (the initial versions of the 'item-merge-tracking' feature stored the merge info of a 'keep-destination' conflict resolution for a merged file in a wrong way).
5.4.16.650
Bug
Windows GUI
Windows GUI: The branch and the changeset differences could fail with an 'Item with the same key has already been added' error under the following circumstances:
-
The differences involve multiple repositories.
-
There are changed and moved items on at least two repositories.
-
The revision Id of an item showed in the differences is the same as another revision Id from an item in another repository.
Fixed.
Gluon
Gluon: The locking status was overriden when checking in 'changed' items from the 'Checkin View'. Fixed.
Winows GUI
Winows GUI: Groups or users were not correctly added to an ACL when the connection to the server was done using a profile. Fixed.
5.4.16.649
New
Plastic Gluon, the version control user interface…
Plastic Gluon, the version control user interface designed and crafted for artists in game development has been released.
Please visit for further info.
https://www.plasticscm.com/gluon.htmlBug
Windows GUI
Windows GUI: Fixed a visualization issue in the checkin progress dialog. Sometimes, when resizing the progress dialog, the 'total' units disappeared. Fixed.
5.4.16.648
New
Audit Log
Audit Log: New audit log level: 4. Read access to revisions will be logged.
Game UI
Game UI: 'Changesets' view is now available. The new view just allow to show changesets and filter them. No more actions implemented yet.
GTK & Mac GUIs
GTK & Mac GUIs: The 'Delete' context menu option is now available on the 'Pending changes' view.
Server
Server: SQL Server database creation command can now be customized with user-defined settings.
A new key in 'db.conf' file, named 'DatabaseCreationCommands' is available for this purpouse.
The command must be written in a single line. The following 'db.conf' file example is written in several lines for better readability:
<?xml version="1.0"?><DbConfig><ProviderName>sqlserver</ProviderName><ConnectionString>SERVER=localhostSQLEXPRESS;User Id=username;Pwd=password;DATABASE={0};</ConnectionString><DatabaseCreationCommands>CREATE DATABASE @PlasticDatabase ON PRIMARY(NAME=@PlasticDatabase_custom, FILENAME='@PlasticDefaultDatabaseFile', SIZE=10, FILEGROWTH=100)LOG ON (NAME=@PlasticDatabase_log, FILENAME='@PlasticDefaultLogFile', SIZE=10, FILEGROWTH=100)COLLATE @PlasticDefaultCollation</DatabaseCreationCommands><DatabasePath></DatabasePath></DbConfig>
The following 'default values' identifiers are available in order to build custom database creation commands:
-
-> The default database name. It's mandatory to use this identifier in the 'CREATE DATABASE' command. Otherwise the Plastic SCM server won't work properly.
@PlasticDatabase -
-> Default database file. (A path that includes @PlasticDatabase as a part of the database file name can be used instead).
@PlasticDefaultDatabaseFile -
-> Default log file path. (A path that includes @PlasticDatabase as a part as a part of the file name can be used instead. Also, appending a suffix to the
@PlasticDefaultLogFileidentifier can be used. Example:@PlasticDefaultDatabaseFile).@PlasticDefaultDatabaseFile.log -
-> Its value is the collation defined in the 'db.conf' file with the 'DatabaseCollation' tag. If 'DatabaseCollation' tag is not present, in will take the default collation used by Plastic SCM server, which is: 'Latin1_General_CI_AI'. The collation in the custom command will take precedence over the value of 'DatabaseCollation' tag.
@PlasticDefaultCollation
Important remark: A valid collation in the custom creation command must be specified if the SQL Server's default collation is not Case Insensitive or Accent Insensitive. Valid collations are: 'Case Insenstive' and 'Accent Insensitive' ('CI_AI' or 'KI_KS' collation suffixes). Otherwise, the Plastic SCM server won't work properly.
The default command that Plastic SCM server uses to create databases is the following:
CREATE DATABASE @PlasticDatabase ON PRIMARY(NAME=@PlasticDatabase, FILENAME='@PlasticDefaultDatabaseFile', SIZE=10, FILEGROWTH=100)LOG ON (NAME=@PlasticDatabase_log, FILENAME='@PlasticDefaultLogFile', SIZE=10, FILEGROWTH=100)COLLATE @PlasticDefaultCollation
Examples (Remember to write them in a single line. The examples below are written in several lines for better readability):
- Multiple commands. Must be separated with ";" and specified in a single line. The "GO" clause can't be used.
CREATE DATABASE @PlasticDatabase ON PRIMARY(NAME=@PlasticDatabase, FILENAME='@PlasticDefaultDatabaseFile', SIZE=10, FILEGROWTH=100)LOG ON (NAME=@PlasticDatabase_log, FILENAME='@PlasticDefaultLogFile', SIZE=10, FILEGROWTH=100)COLLATE @PlasticDefaultCollation;ALTER DATABASE @PlasticDatabase SET PAGE_VERIFY CHECKSUM;ALTER DATABASE @PlasticDatabase SET ANSI_WARNINGS OFF
- Change database file location and log names and paths:
CREATE DATABASE @PlasticDatabase ON PRIMARY(NAME=@PlasticDatabase, FILENAME='C:/databases/dbs/@PlasticDatabase.db', SIZE=10, FILEGROWTH=100)LOG ON (NAME=PlasticLog_@PlasticDatabase, FILENAME='C:/databases/logs/@PlasticDatabase.log', SIZE=10, FILEGROWTH=100)COLLATE @PlasticDefaultCollation
- Change size parameters or collation:
CREATE DATABASE @PlasticDatabase ON PRIMARY(NAME=@PlasticDatabase, FILENAME='@PlasticDefaultDatabaseFile', SIZE=100, FILEGROWTH=50)LOG ON (NAME=@PlasticDatabase_log, FILENAME='@PlasticDefaultLogFile', SIZE=100, FILEGROWTH=50)COLLATE SQL_Latin1_General_CP1_CS_AS
Bug
Windows GUI
Windows GUI: Home/End keys did not work in the Branch Explorer view. Fixed.
Windows GUI
Windows GUI: The diff window was showing an error when annotation panel was shown for xlinks root items. Fixed.
Windows GUI
Windows GUI: The 'Diff' viewer for the focused item in the 'Pending changes' view was not recalculating diffs when the pending changes view was refreshed. Fixed.
5.4.16.647
New
GTK & Mac GUIs
GTK & Mac GUIs: Shelve view has been implemented and it is fully functional. The context menu options are 'View shelve', 'Apply shelve in the workspace' and 'Delete'.
The shelve view can be opened from the "Show Shelves View" button in the pending changes view and it will be displayed on the right side of the view.
Triggers
Triggers: Client side triggers can now be customized using relative paths or user-defined paths. The script execution paths can be built in the following ways:
- Using two new predefined variables: PLASTIC_BIN_PATH (Plastic SCM client installation directory) and WKSPACE_PATH (Current workspace location). Example:
cm maketrigger before-clientcheckin "Relative trigger path" "@PLASTIC_BIN_PATH/triggers/checkdirectories.pl"
- Using customized trigger variables, defined in the 'client.conf' file. The syntax is the following:
<TriggerVariables> <TriggerVariable name="TRIGGERS_PATH" value="c:\triggers" /> </TriggerVariables>
The path directory separator char will be replaced depending on the target platform (i.e will match in a Windows platform).
"@PLASTIC_BIN_PATH/triggers/checkdirectories.pl""@PLASTIC_BIN_PATH\triggers\checkdirectories.plThe use of these approaches will allow the definition of platform-independent client side triggers.
GTK & Mac GUIs
GTK & Mac GUIs: SSL certificates from Plastic SCM servers can now be accepted.
Windows GUI
Windows GUI: Changed blogpost notification icon. Now, the number of unread blogposts is shown near to the "BLOG NEWS" menu item.
Bamboo plugin
Bamboo plugin: Automatic merging feature is now supported (Both 'branch updater' mode and 'gatekeeper' mode).
GameUI
GameUI: New option added in history context menu to show changeset differences.
Game UI
Game UI: A new context menu option has been added in the history panel: 'Diff selected revisions' to let the user diffing two specific revisions (and not only diffing with previous revision).
The new context menu option will be available when two revisions are selected.
Game UI
Game UI: Application startup performance has been significantly improved. Before this improvement, the application startup time was depending on the connection to the server, but now the application starts inmediatly.
Game UI
Game UI: Usability improvements
-
Now it is possible to checkout files from the 'search item'.
-
Ctrl+O (checkout) over an item moved away the focus from the selected item. Fixed.
-
Focus is kept over an item after creating or renaming it.
-
The scroll position is now remembered in the workspace explorer tree after restarting the application.
-
Workspace name in window title was lost when switching between configuration mode and explorer mode. Fixed.
Greatly improved branch (and changeset) diff wind…
Greatly improved branch (and changeset) diff window to better explain merges.
This feature is an evolution of the original "item-merge-tracking" effort and greatly improves the way in which branches (and csets) receiving merges are diffed.
This feature is one of the most relevant improvements in branch/cset diffing the Plastic SCM team have developed.
When diffing a branch (or cset) that receives one or more merges, it is often hard to figure out what was really modified on the branch and what comes from the merge. It complicates reviewing code, specially when big rebases (merge from parent branch) happens.
Suppose the following scenario:
-
You start branch "task1010" from label "build-117" on main.
-
You modify a number of files and work on the branch for a couple of days.
-
In the meantime "build-118" was created, including changes in more than 250 files.
-
Prior to integrate your branch to main you're asked to rebase it to "build-118", so you merge down from label "build-118".
-
Now your branch doesn't only contain the changes you made, it also contains all the changes (more than 250 files) coming from the merge.
If another developer (or yourself) diffs the branch "task1010" now, he will have hard time figuring out what was modified in the branch and what was merged. The branch is not clean anymore.
This is precisely what this new feature solves: it is able to split the diffs in groups, so it is easy to understand:
-
which files just come from the merge and were untouched on the branch,
-
which ones were modified on the branch,
-
and more importantly, which ones were modified both in the branch and also in the merged branch, they were merges, and they're grouped under a category called "changed/changed" (or CC for short).
This third group of files changed/changed is the one greatly improved by this feature: when a file was both modified on your branch and also changed in the branch you're merging, it is grouped under CC, but then it was not easy to know which lines were actually modified on the branch, which ones were in conflict during the merge, and which ones were just modified on the source branch of the merge.
Now the branch (and cset) diff is able to render differently the lines that were modified on the branch, during the merge (result of a manual conflict resolution) and from the source branch being merged (automatic conflict resolution), making much simpler to review code of branches (and csets) with one or many merges.
Bug
Replication
Replication: The 'replicate' operation was adding duplicated reviews and review comments when a big number of objects were involved (around 10000 objects involved). Fixed.
GUI Client configuration dialog
GUI Client configuration dialog: The client configurator dialog wasn't properly handling SSL server specs. Also, the test connection to a SSL server was not working on Linux. Fixed.
GUIs
GUIs: Opening HTML revisions from the history view was not working properly. Fixed.
GTK GUI
GTK GUI: Replication panel has been improved to avoid overlapping controls.
GTK GUI
GTK GUI: Application freezed when displaying several dialogs at the same time. Fixed.
Windows GUI and Command line client
Windows GUI and Command line client: Fixed several errors when the specified language in the 'client.conf' file was not valid.
Windows GUI
Windows GUI: On the repository browser view (browse repository on branch or changeset), the repository actions available for xlinks (view branch explorer, branches, changesets, etc.) were not working. Fixed.
Windows GUI
Windows GUI: Fixed some alignment and textual GUI issues
Windows GUI
Windows GUI: Improved the look and feel of the notification strip. Also, from now on, license warnings aren't displayed for commercial licenses.
5.4.16.644
New
PlasticDrive
PlasticDrive: A virtual drive for Windows to mount changesets and be able to browse using regular tools like Visual Studio.
PlasticDrive comes packaged with the Plastic SCM client.
PlasticDrive is a command line application that mounts the content of a changeset on a virtual Windows drive. It uses Dokan to create a virtual filesystem.
PlasticDrive is read-only, it doesn't let you modify the code, but you can create temporary files (means you can build your code or you can use Visual Studio "find references" which builds the code underneath).
You can launch PlasticDrive this way:
plasticdrive.exe --drive z: lb:5.4.16.639@secretrepo
Which will mount label 5.4.16.639 on drive z:
PlasticDrive can also be launched from the changesets menu of the Windows GUI. In order to enable you have to edit your guiclient.conf file and add the following line:
<ShowMountPlasticDrive>true</ShowMountPlasticDrive>
PlasticDrive is useful when you need to look into a branch or changeset but you don't feel like switching to the branch, and the repository browser doesn't help because you can't use your Visual Studio to open a solution on it.
PlasticDrive doesn't download the entire changeset content, it will just download the files you really read. Download is on-demand so it is super fast to browse a few files even on a big repository.
The controlled files that you access are cached in the plasticdrive-filecache directory on your Local folder. These files are reused between sessions, so if the first time you mount a changeset it takes time to open a big solution in Visual Studio, most likely it will go much faster in the next session.
The temporary files created during the session are deleted when the drive is unmounted (typically obj files).
A "tray icon" is displayed on the Windows task bar so you can unmount your drive.
5.4.16.643
New
Windows GUI
Windows GUI: Custom checkin comments: The branch name is now supported on the predefined & custom templates.
GTK & Mac GUIs
GTK & Mac GUIs: Now, the 'ignored', 'cloaked' and 'hidden changed' items can be added and removed to the list through the context menu of the 'Workspace explorer' and 'Pending changes' views.
Bug
GTK & Mac GUIs
GTK & Mac GUIs: Fix a 'duplicated key' error when the diff operation is launched several times on the same item.
5.4.16.642
New
IntelliJ IDEA plugin
IntelliJ IDEA plugin: Compatibility issues to support IDEA 14 have been addressed. This way, Plastic SCM is now available for IntelliJ IDEA 14.
Axosoft OnTime extension
Axosoft OnTime extension: Plastic SCM now supports Axosoft OnTime v14.5
Git Sync
Git Sync: Performance: The initial process of calculating changesets to pull / push between Plastic SCM and Git has been greatly improved. The bigger is the number of branches / tags already synchronized, the more noticeable is the improvement.
The improvement is around 95% for a repository with 200 branches and 600 tags. (The process has been improved from 140 seconds to only 6 seconds).
Bamboo plugin
Bamboo plugin: The detailed commit information will now show the item status: Added, Moved, Changed or Deleted.
GTK & Mac GUIs
GTK & Mac GUIs: Now, the 'preferences' dialog provides a 'default' tool settings to configure the diff and merge tools automatically.
GTK & Mac GUIs
GTK & Mac GUIs: Added 'close' button to the 'Merge' view in order to close it and show the pending changes view automatically.
Mac GUI
Mac GUI: Added 'copy' option to the application menu
Mac GUI
Mac GUI: Usability: The 'cut' and 'paste' options of the 'Workspace Explorer' view are now also available with the standard key shortcuts.
Bug
IntelliJ IDEA plugin
IntelliJ IDEA plugin: The update action no longer fails if the 'Revert unchanged files before update' option is set.
Windows GUI
Windows GUI: Fixed a 'same key was already added' error that happened sometimes when drawing the 'Items' view.
Command line client
Command line client: The '--preview' option of the 'replicate' command was not working properly when the destination database has a different Id. Fixed.
Windows GUI and Visual Studio integration
Windows GUI and Visual Studio integration: When the semantic history was shown for a method of a changed file, the 'Checkin' operation for this changed file was failing with the error: . Fixed.
Revision -2 not found in repository <repository_name>Game UI
Game UI: The 'Checkin' operation was not considering the 'checkin' permissions. Fixed.
Mac GUI
Mac GUI: The 'open' and 'open with' context menu options didn't work properly. Fixed.
5.4.16.641
New
Mac GUI
Mac GUI: The look & feel of the Branch explorer's 'options' panel has been improved.
Mac & GTK GUI
Mac & GTK GUI: Now, the Branch explorer's 'options' panel can be hidden.
GTK GUI
GTK GUI: The look & feel of the 'Switcher' window has been improved.
GTK GUI
GTK GUI: Added 'Switch workspace' button to the 'workspace' window sidebar.
GTK GUI
GTK GUI: Usability: the navigation flow of the application has been improved. Also, the default buttons and the cancel buttons have been established according to the Human Interface Guidelines recommends.
GTK GUI: Usability: the navigation flow of the application has been reviewed and improved.
Also, default key accelerators have been implemented, binding them to
Mac & GTK GUI
Mac & GTK GUI: Usability: the double click action has been implemented for each table of the application.
Bug
GameUI
GameUI: Opening a previous revision by double-clicking on a row (details panel) caused a crash if the target application prevented the file from being modified externally. Fixed.
GTK GUI
GTK GUI: Fix branch drawing in the Branch Explorer view. Some changesets were drawn out of the branch bounds.
GTK GUI
GTK GUI: Fix several error messages
-
"Cairo.Context: called from finalization thread, programmer is missing a call to Dispose" that appear all the time on the console using the Branch explorer.
-
"Stream does not support writing" and "Shutting down finalizer thread timed out." that appear sometimes when closing the GUI.
-
that appear also on the console opening the configuration panel or any view with filter.
"Gtk-CRITICAL **: gtk_box_pack: assertion ``child->parent == NULL' failed
GTK GUI
GTK GUI: Fix an unexpected error occurred clicking on the Branch explorer view while it is loading, before rendering objects.
5.4.16.639
New
Mac & GTK GUIs
Mac & GTK GUIs: Labels View includes now a dialog to list changesets, choose one and label it.
Windows GUI
Windows GUI: old icons removed from: 'New secured path' dialog, 'Branches' dialog launched from the repository permissions dialog, 'Comments' dialog launched from the code review, 'Plastic configuration wizard' dialog and 'Delete confirmation' dialog.
Bug
Bamboo plugin
Bamboo plugin: Bamboo builds had issues when a PlasticSCM changeset was empty. Fixed.
GUI
GUI: 'Create workspace' dialog was closed if the input parameters were not valid. Now, the dialog stays open when the parameters are not valid.
5.4.16.638
New
Mac & GTK Plastic SCM GUI
Mac & GTK Plastic SCM GUI: The replication dialog is now available. Branches can be replicated (pulled or pushed) by right-clicking on them in the 'branches' and 'branch explorer' views and using the 'Replication' submenu.
Mac & GTK Plastic SCM GUI
Mac & GTK Plastic SCM GUI: Now, the history view shows info about 'moved' and 'removed' operations.
GTK Plastic SCM GUI
GTK Plastic SCM GUI: Now, when the rule of the 'branch explorer' filter is being changed, the extension panel is opened in order to save the changes.
GUI
GUI: Usability: The 'diff branch' feature were showing changes among merged changesets belonging to the same diffed branch in separate 'merge from' nodes, which was confusing. Now, these changes are shown together, out of those 'merge from' nodes, as they belong to the same branch indeed.
Bug
Mac Plastic SCM GUI
Mac Plastic SCM GUI: Fixed an unexpected error message in the branch explorer view. It was raised when selecting a branch, changeset or label if the user didn't extend the 'properties' panel before.
Mac & GTK Plastic SCM GUI
Mac & GTK Plastic SCM GUI: The context menu of the history view should not be available for directories. Fixed.
Mac Plastic SCM GUI
Mac Plastic SCM GUI: Fixed a crash that happens sometimes closing the 'preferences' window:
Exception Type: EXC_BAD_ACCESS (SIGABRT)Exception Codes: KERN_INVALID_ADDRESS
Merge
Merge: Fixed an error performing a 'merge-to' operation when the source contributor has performed complex 'move' and 'add' operations with directories.
Example:
* Initial structure://src/src/engine
* Changes in source contributor:move /src/engine -> /src2del /srcmove /src2 -> /srcadd /src/foo.c
Performing a 'merge-to' operation from the source contributor to the initial structure, was causing an error.
Now the error has been fixed and the 'merge-to' operation can be successfully completed.
5.4.16.635
New
WebUI
WebUI: Styles reviewed and beautified
GTK GUI client
GTK GUI client: Added 'Display only relevant changesets' option to the 'branch explorer' display options.
Bug
GUI
GUI: Fixed aesthetic UI issues in the add user/group dialog (permissions dialog).
GUI
GUI: Fixed some GUI component aligments in 'Move detection' preferences dialog, 'Repository permissions' dialog, and 'Profile selection' dialog.
GUI
GUI: The 'Branches with pending merges' format was not working properly on replicated servers. Fixed.
GUI
GUI: The branch differences was throwing an error message on a corner case involving an item moved and changed on multiple merges. Fixed.
Simplified case of failing scenario:
* Have a '/main' branch populated with a file 'foo.c'* Create branch '/main/task1' and switch to this branch* Change 'foo.c' file on '/main/task1'* Create branch '/main/task2' and switch to this branch* Change 'foo.c' on '/main/task2'* Move 'foo.c' to 'bar.c' on branch: '/main/task2'* Create branch '/main/task3' and switch to this branch.* Merge from '/main/task1' to '/main/task3'* Merge from '/main/task2' to '/main/task3'* Create branch '/main/task3/task4' and switch to this branch.* Change 'bar.c' on '/main/task3/task4'* Switch to branch '/main/task3'* Merge from '/main/task3/task4' to '/main/task3'* Diff branch '/main/task3' -> error
Now, this case has been fixed and the branch differences are displayed properly.
5.0.44.716
New
Server
Server: The repositories list are loaded on server startup and keep up to date all time. Previously they were reloaded only after some repository operations or when a not existing repository was used.
Server
Server: Remove some noisy, unneeded log entries
5.0.44.715
New
Server
Server: Improvements in Channel Call log
-
Added queued info to channel call and to plasticlogstats. It shows the milliseconds that a method call has been waiting before being attended.
-
Added cpu time (ms) to channel call, the 'showmethodlist' command and the associated log. 'plasticlogstats' modified accordingly.
Server
Server: Loading of active/inactive users is only done during server startup.
Server
Server: ActivityScheduler was locking the task list on execution. It could end up delaying system initialization if repositories failed to be upgraded. Not a big deal, but fixed.
Server
Server: The ACLs for all repos are now loaded on server startup instead of on demand.
Added a new flag to server.conf
file to disable database upgrades
server.confAdded a new flag to file to disable database upgrades: . It must be set as on . Handle it with care! It must be removed when installing a new Plastic SCM server release. Contact the support team if you need to use it.
server.confDatabaseUpgradeDisabled<DatabaseUpgradeDisabled>true</DatabaseUpgradeDisabled>server.conf5.0.44.714
Bug
Server
Server: Reviewed performance of GetRepositoryList calls
5.0.44.713
Bug
Server
Server: Security info was wrongly recalculated when a new user becomes active or an existing user membership is changed. Fixed. Now, only the related security info is updated.
5.0.44.703
Bug
Command Line Client
Command Line Client: was incorrectly listing all repos even when it was not needed. It caused a performance impact under heavy load. Fixed.
cm find on repositoryIMPORTANT REMARK: The linux packages for this release are not available. The latest linux packages for Plastic SCM 5.0 releases are the 5.0.44.631 packages. Ask support (support@codicesoftware.com) for further info.