Unity Version Control 5.x Release Notes
This document contains all release notes for Unity Version Control major version 5.x, organized from newest to oldest.
5.4.16.918
Public | 2017-03-22
Bug
credentials were asked incorrectly during setup.…
Cloud Edition: credentials were asked incorrectly during setup. Fixed.
Under certain circumstances, the sync replication…
Sync View: Under certain circumstances, the sync replication view could fail with the following error: 'An item with the same key has already been added'.
This error could happen since 5.4.16.809 on 5.4 versions and since 6.0.16.804 on 6.0 versions. Now it's fixed.
When the encryption keys were incorrectly set, th…
Cloud Server: When the encryption keys were incorrectly set, the decryption process was failing with the following misleading error message: 'Padding is invalid and cannot be removed'.
From now on, a more descriptive message will be shown: 'Data cannot be decrypted, please ensure your encryption key password is correct'.
5.4.16.867
Public | 2017-03-08
New
Added support to find locally moved, renamed and…
Eclipse plugin: Added support to find locally moved, renamed and deleted files. You can find these options by clicking the "options" button in the pending changes view.
Added links to the documentation in all views (it…
Windows GUI: Added links to the documentation in all views (items, branches, changesets, ...). When you click the "information" button in the toolbar, a new "learn more" links to the online documentation.
Bug
An error message containing "The object is curren…
Server: An error message containing "The object is currently locked. Try later." was shown every time two users tried to perform an exclusive checkout on the same branch at the same time. Fixed.
The diff view in the pending changes view was col…
Mac OS GUI: The diff view in the pending changes view was collapsed (not visible) sometimes after closing and reopening the UI. Now it's fixed.
When right clicking an item in any view (items, b…
Mac OS GUI: When right clicking an item in any view (items, branches, changesets) the selection did not change. Some users requested to change this behavior. Now, when you right click an item in a view, the selection is changed, and then its context menu is displayed.
5.4.16.814
Public | 2017-02-24
Bug
Macplastic crashes if the server throws an 'user…
Mac OS GUI: Macplastic crashes if the server throws an 'user unknown' exception. Fixed.
5.4.16.809
Public | 2017-02-07
New
Plastic server can now abort running methods if t…
Plastic server can now abort running methods if the client closed the connection.
Suppose the server is running a long method and then the user does CTRL-C
on the command line and closes the socket. Previously, the method would continue running on the server. Now the server is able to abort the thread running the method.
This improvement is expected to make the server more stable under really heavy load.
In the "channelcall" log, the aborted methods are seen as follows:
2016-11-03 17:32:25,004 INFO ChannelCall - protocol:plasticproto recb: 29|rect: 0
|sentb: 0|sendt: 0|queuedt: 0|prt: 5703|th: 12|dest: 0|mt: 0|sert: 0|zip: 0
|cpu: 2921| 127.0.0.1|ExecuteSimpleQuery aborted - client conn closed
Small performance improvements in URL parsing to…
Small performance improvements in URL parsing to avoid doing string operations again and again.
now connections are cached by server and not by f…
Optimization during connection creation: now connections are cached by server and not by full url. It means that whether you invoke the "branch handler" or the "item handler" you can still reuse the same connection.
Now, when the user closes the main window, if the…
Linux (GTK) GUI: Now, when the user closes the main window, if there is a background operation running (an update, a switch, a merge...) the user will be asked for confirmation, instead of closing the window, effectively canceling the ongoing operation. This matches the Mac OS GUI behavior.
The server-side checkout will now set up a worksp…
TeamCity plugin: The server-side checkout will now set up a workspace to download the first patch contents.
Bug
The agent-side checkout failed if the previous bu…
TeamCity plugin: The agent-side checkout failed if the previous build had left changed files in the workspace.
The 'find in files' search results were not visib…
Windows GUI: The 'find in files' search results were not visible in the diff window when the user moved the top splitter before performing the search. Now it's fixed.
The history view disappeared from the details pan…
Gluon: The history view disappeared from the details panel after performing a check-in operation (and then closing the check-in view) from the Workspace Explorer. Now it's fixed.
now, the GUI will not throw an exception if an ic…
Linux (GTK) GUI: now, the GUI will not throw an exception if an icon is not found. This can happen if the theme directory is not correctly located.
5.4.16.806
Public | 2017-01-23
New
The server can now force a given minimum client b…
The server can now force a given minimum client build number, so that sysadmins can better handle upgrades and make sure their users are updated to at least a given build number.
The 'server.conf' flag can now be configured not only with "true" and "false" but also with a given build number as follows:
<ForceBuildNumberMatch>800</ForceBuildNumberMatch>
Remark: this check forces both clients and other servers connecting to this one, to be at least upgraded to a given build number.
Plastic Tube Windows GUI improvements
Plastic Tube Windows GUI improvements.
Implemented a number of improvements in the Tube GUI:
When editing the access to a repo you are sharing with someone, the button to apply changes now says "Apply" instead of "Edit" which was confusing.
Each time you share a repo with a new user, or remove a user, or edit his access, the selection of the repo is kept.
If a server is not reachable, the process continues. Before it failed, which made it hard to use.
Much better progress for remote servers: now the GUI shows which remote server (tube) and repo is accessing, instead of just being silent as before.
Now it is easy to see if a remote user is connected or not. Connected users are displayed first and a different icon is used.
opening the server application bundle (by double-…
Mac OS server: opening the server application bundle (by double-clicking on its icon or otherwise) will now open a descriptive website detailing the available administration/configuration actions on Mac.
[link]https://plasticscm.uservoice.com/forums/154…
UserVoice: Keyboard shortcuts in the diff viewer don't always work. Now it's fixed.
Bug
Diff window: The branch name was overlapping the…
Windows GUI: Diff window: The branch name was overlapping the branch GUID when the name was too long. Fixed.
The "differences" button was not correctly enable…
ImageDiff: The "differences" button was not correctly enabled sometimes when showing image differences in the pending changes view or the diff view. Fixed.
Sometimes the application got stuck when exiting.…
Linux (GTK) Mergetool: Sometimes the application got stuck when exiting. Fixed.
Version tree 2D was showing a null reference erro…
Windows GUI: Version tree 2D was showing a null reference error when clicking on a branch and the differences panel was visible. Fixed.
Fixed an error when launching annotations from th…
Windows GUI: Fixed an error when launching annotations from the diff viewer.
5.4.16.803
Public | 2017-01-11
New
The repository revisions needed to build a server…
TeamCity plugin: The repository revisions needed to build a server-side checkout patch will be retrieved using a single call from now on.
The [code]clconfigureclient[/code] command line u…
Command line configuration tools: The clconfigureclient
command line utility can now be used to configure your Plastic SCM client with a Cloud server.
The [code]cm cat[/code] command will request revi…
Command Line Interface: The cm cat
command will request revision information in block in a single server-call if revision ID-based specs are provided.
The focus and the scroll position is now kept aft…
Mac OS GUI: The focus and the scroll position is now kept after checking out, renaming and moving files in the 'Items' view.
Dynamic views sizes (such as 'history', 'shelves'…
Mac OS GUI: Dynamic views sizes (such as 'history', 'shelves', 'changesets',... ) are now preserved among application restarts.
plasticlogstats server utility gets a 'concurrenc…
plasticlogstats server utility gets a 'concurrency' subcommand to calculate the number of concurrent calls inside the server at a given moment.
The new command implements an interactive mode that:
Allows you to list the call segments with concurrency (periods with 1 or more calls in the server).
Sort the segments by max concurrent calls, date, or segment length.
Quickly identify slow (>500ms) and super slow (>1sec) calls.
Navigate the calls inside each segment.
Group the segment by minute and navigate segments in the minute.
Additionally, parsing logs is about 40% faster now, which not only helps with this feature but with regular plasticlogstats sessions.
plasticlogstats is now able to export to XML and…
plasticlogstats is now able to export to XML and CSV for easy Excel analysis of channel call files.
Example: grep ChannelCall of several files and analyze them all together:
grep -a -h ChannelCall plastic.debug.log.txt.20161124 plastic.debug.log.txt.20161125 | plasticlogstats.exe
export --csv=201611-analysis.csv
plasticlogstats gains a new 'analyzer' mode. It l…
plasticlogstats gains a new 'analyzer' mode. It lets you easily and quickly analyze ChannelCall logs to find hot spots, slow calls and more. It is a text based GUI, fully interactive, that basically replaces the analysis we used to do with Excel and pivot tables. plasticlogstats uses less RAM and is much, much faster.
Features:
Group all calls by day.
Group by hour.
Group by method.
See methods inside each group - and regroup from here in days and hours.
It calculates interesting params like average milliseconds per call, which give you a very good understanding of how fast your Plastic SCM server is responding.
It also calculates the % of fast (<500ms), slow (500-1000ms) and super-slow (>1000ms) calls.
Just invoke it as follows:
plasticlogstats.exe analyzer --file=allchannelcall.txt
Bug
Sometimes, the content of revisions when diffing…
Eclipse plugin: Sometimes, the content of revisions when diffing two changesets/labels was not correct. Fixed.
the server-side checkout was skipping all xlinked…
TeamCity plugin: the server-side checkout was skipping all xlinked contents in the first build. Fixed.
The image diff viewer displayed an incorrect back…
ImageDiff: The image diff viewer displayed an incorrect background color in the properties viewer. Now it's fixed.
The 'Branch Explorer' view drawing was incorrect…
Mac OS GUI: The 'Branch Explorer' view drawing was incorrect after changing the zoom level. Fixed.
When a Plastic client can't reach a server, it tr…
When a Plastic client can't reach a server, it tries to use the serveralias.conf
file to connect to an alternative one. But the code handling the "unreachable server" socket error was not correctly considering the "timeout" error. So, if a server IP was no longer reachable (server moved to a different network, for instance) the code was not using the aliases because the timeout was not in the list of errors to trigger the server switch. It is now fixed.
When editing differences (pending changes view or…
Windows GUI: When editing differences (pending changes view or diff view), the tab key was not accepted. Now it's fixed.
5.4.16.802
Public | 2016-12-22
New
Linux packages upgrade to Mono 4.6.2.7
Linux packages upgrade to Mono 4.6.2.7!
We have just upgraded our Mono distro to 4.6.2.7. This means both Linux clients and servers benefit from a newer and faster runtime.
We have been performing extensive testing of the new 4.6.2.7 after finding a crash with the previous Mono 4.3 under heavy load conditions.
We ran load tests on the new 4.6 (100 concurrent clients doing non-stop operations – means way much bigger load than a setup with 1000 developers) and weren’t able to reproduce any crashes. The performance under heavy load is also much better (response times were 10 times faster on average on our load test scenario).
We also stress tested the GTK client running for +10 hours non-stop with automated testing (UI automation) and we didn’t find any issues.
5.4.16.801
Public | 2016-12-20
New
ForceBuildNumberMatch flag in server.conf now mea…
ForceBuildNumberMatch flag in server.conf now means the client build number must be greater or equal than the server. Before it just meant 'equal' but this gives more flexibility to force users to upgrade to newer versions.
5.4.16.800
Public | 2016-12-14
New
The branch name couldn't be set to a variable bec…
TeamCity plugin: The branch name couldn't be set to a variable because it was required to start with the '/' character. This restriction has been removed. Also, Plastic changesets will be identified just by their changeset ID numbers instead of using a complex string ('cs: (guid:').
Bug
There was an issue in Gluon preventing users to c…
Gluon: There was an issue in Gluon preventing users to create repositories on Cloud during the configuration of the tool. Fixed.
5.4.16.799
Public | 2016-12-09
New
A CLI client to send Plastic SCM differences to C…
CodeCollaborator: A CLI client to send Plastic SCM differences to CodeCollaborator has been implemented for Windows. It can be found in the Plastic SCM client directory: codecollaboratorclient.exe. Diffs from branches, changesets or changeset intervals can be used.
A configuration file named ccollabclient.conf needs to be placed in the regular client configuration directory (typically C:\Users\your-user-name\AppData\Local\plastic4
) or alternatively in the same directory as the executable, and it has to contain three key-value pairs:
server
: the target CodeCollaborator URIlogin
: the user name to be used to authenticatepassword
: the password to be used to authenticate
This is how the file might look like:
server=https://mycodecollab.server.com
login=user
password=mypwd
This file can be created through the 'configure' CLI parameter, which will prompt the user for each of these three values. The password value will be encrypted to prevent it from being stored in plain text.
WARNING: There's still a limitation regarding the deleted revision diffs. The diff viewer doesn't display the deleted file contents. We're working to solve that issue as soon as possible.
This is the command syntax:
Usage: codecollaboratorclient <brSpec|csetSpec|csetRange> [--title <reviewTitle>] [--id <reviewID>]
codecollaboratorclient configure
codecollaboratorclient -h|--help
Examples:
Create a review of branch /main/task1346 in repository myrep@myserver:8084 :
codecollaboratorclient br:/main/task1346@myrep@myserver:8084
Create a review of changeset 8947 with title "My review":
codecollaboratorclient cs:8947 --title "My Review"
Add the difference between changesets (536, 539] to the review with ID 6473:
codecollaboratorclient cs:536-cs:539 --id 6473
Bug
under some circumstances, browsing the repository…
Linux (GTK) GUI and Mac OS GUI: under some circumstances, browsing the repository list of a remote repository server could end up mismatching the credentials of the local server, making following operations from the GUI fail until it was manually restarted. Fixed.
The diff on the "Pending changes" view was showin…
Linux (GTK) GUI and Mac OS GUI: The diff on the "Pending changes" view was showing, for certain types of image files, the binary content of the file, instead of the relevant properties of the revisions (changeset, size, created by, and modified date). Fixed.
When there are checked out files in the workspace…
Linux (GTK) GUI and Mac OS GUI: When there are checked out files in the workspace, the so-called 'checkout changeset' that appears in the 'Branch Explorer' view (the changeset with dotted border and a 'home' icon) was not navigable using the keyboard. Now it's fixed.
the 'Open with...' dialog was not showing up corr…
Mac OS GUI: the 'Open with...' dialog was not showing up correctly on the newest versions of Mac OS. Fixed.
5.4.16.798
Public | 2016-12-02
New
The ldap connection is rebooted every 1000 reques…
Server: The ldap connection is rebooted every 1000 requests to avoid memory leaks of the Novell.Directory.Ldap library.
5.4.16.796
Public | 2016-11-30
New
Now it is possible to customize ldap requests tim…
Server: Now it is possible to customize ldap requests timeout. To do that, add a new entry in the server.conf
file as follows:
<LdapTimeoutSeconds>10</LdapTimeoutSeconds>
Improvements in ServerStats log: cache counters a…
Server: Improvements in ServerStats log: cache counters are now printed, GC info is formatted for easier grepping.
Improved thread id and user information in the lo…
Server: Improved thread id and user information in the log to ease debugging.
Threads have been cataloged in types so it is easier to debug complex heavy load scenarios. See thread types below.
Every DEBUG line in the log will now print the cataloged thread id (a prefix + the managed thread id).
UserId will be now printed on each DEBUG call by default (current users will need to update their loader.log.conf).
The channelcall log now includes user information so it is now easier to group calls (not only IP like before).
The new ThreadId property in the log is formed as follows: a prefix + the managed thread id (before the %thread% property was printed, which printed the OS thread id, which made debugging harder).
The prefixes are defined as follows:
W- Worker thread: Plastic threadpool threads attenting method calls.
NetworkThread- Single thread to launch all socket receive async operations.
A- Async thread: system threadpool thread attending socket receive async operations.
Main- Main process thread.
Audit- Audit log thread.
ActivityScheduler- ActivityScheduler thread.
AutoDiscovery- AutoDiscovery service thread.
InitServices- Thread used to start up the system in Windows service and Unix daemon modes.
Not used in Console mode.
R- Replication thread: threads launched to run replicas.
S- Tcp and SSL socket accept threads: there is one of this threads for each port
the server listens on.
Udt- Udt socket accept threads: one of this for each Udt port the server listens on.
Tube- Tube server thread connecting to the remote tube server and accepting requests.
ConnCollector- Single thread closing unused connections to other servers every 30 seconds.
GitHttpServer- Git http server thread accepting requests.
GitHttpServer- Git tcp server thread accepting requests.
GitServerRequest- System threadpool thread to attend a GitServer request.
GitMappings- Thread calculating object mappings for the GitServer.
5.4.16.795
Public | 2016-11-28
New
The performance sorting differences has been grea…
Server: The performance sorting differences has been greatly improved (up to 20x faster than before). This process takes part in several Gluon operations (check-in, update, configure workspace, status and more). All of them will take advantage of this improvement.
Now, installing a Cloud edition over a Team editi…
Windows, Mac OS and Linux installers: Now, installing a Cloud edition over a Team edition will be gracefully handled during the installation / upgrade process. Plastic will detect such scenarios, and client & server configuration tools will be automatically launched to finish the required configuration changes.
The same happens when installing a Team edition over a Cloud edition.
REMARKS: Upgrading from Team Edition prior to 5.4.16.795 to Cloud Edition 5.4.16.795 (or higher) will still require to manually run plastic --configure
(Windows), macplastic --configure
(Mac OS) or gtkplastic --configure
(Linux) to complete the configuration process. The same happens upgrading from Cloud Edition prior to 5.4.16.795 to Team Edition 5.4.16.795 or higher.
Since versions equal or higher than 5.4.16.795, this step won't be required.
The 'Find' action is now available for all (text)…
Mac OS GUI and Mac OS Mergetool: The 'Find' action is now available for all (text)file viewers: the 'Differences' panel in the pending changes view, the 'Differences' window for branches and changesets, and the 'diff/merge' panels in Mergetool.
A new parameter named 'Issue query limit' has bee…
JIRA extension: A new parameter named 'Issue query limit' has been added to the extension configuration parameters. It is used to manually tune the maximum number of returned results in the 'create branch' dialog. Its default value is 50, and it can be set to any positive number.
PlasticDrive (a virtual drive for Windows to moun…
Windows GUI: PlasticDrive (a virtual drive for Windows to mount changesets and be able to browse them using regular tools): The revisions cache path used by PasticDrive to store temporary files can now be configured (two different options):
- Specifying a new configuration file, named
plasticdrive.conf
.Example ofplasticdrive.conf
file contents:
cachepath=C:\tmp\plasticdrivecache
- Mounting a plastic changeset by using the command line. Example of execution:
plasticdrive.exe cs:1@default@localhost:8084 --cachepath c:\tmp\plasticdrivecache -g
Bug
The filter textbox of 'Changesets' view appeared…
Gluon: The filter textbox of 'Changesets' view appeared empty when Gluon application was restarted, but the previous filtered text was being applied indeed. Now it's fixed, and the filtered text is remembered between application restarts.
Leaving the 'branch spec' field empty resulted in…
TeamCity plugin: Leaving the 'branch spec' field empty resulted in a null pointer exception. Fixed.
5.4.16.793
Public | 2016-11-18
New
Move changesets to a different branch
Move changesets to a different branch!
The top UserVoice request has been released: Move changesets to different branch
It helps in a very common scenario: you checkin to the wrong branch by mistake. Now you can move these changesets to the branch were they belong.
The feature is supported both from the command line and the 3 GUIs (Windows, Linux, OS X).
Command Line Client: the cm changeset
command has been refactored to support the new feature and provide a more consistent way to perform advanced changeset actions. It now includes two subcommands: cm changeset move
and cm changeset remove
.
cm changeset remove <changeset-spec>
deletes a changeset from the repository. Please have in mind that the target changeset must fulfill some requirements. See command help (cm changeset remove --help
) for further detail.cm changeset move <changeset-spec> <branch-spec>
moves a changeset and all its descendants in the same branch to an empty branch. If the destination branch doesn't exist it will be created in the process. See command help (cm changeset move --help
) for further detail.
Windows, Linux and OS X GUI's: the 'Branch Explorer' and 'Changesets' views now include a context menu option to move the selected changeset and its descendants in the same branch to a different branch.
Branch Explorer filters now available on OS X
Branch Explorer filters now available on OS X.
A new submenu called 'Branch explorer' has been added to the 'Branch Explorer' view context menu. This new submenu contains the previous 'Go to branch base' action and three new actions: 'Filter selected branches', 'Filter selected and related branches' and 'Filter pending merges for selected branches'.
Each of them will refresh the 'Branch Explorer', showing only those branches affected by the selected filter. A new 'Remove filter' button will appear. Clicking on it will clear the filter and refresh the 'Branch Explorer' view using the previous conditional filter settings (if any).
[link]https://plasticscm.uservoice.com/forums/154…
Windows, Linux (GTK) and Mac OS Mergetool: User voice: Simple diffs in a merge tool
Now it is possible to diff the three revisions involved in a merge in a separate window launched directly from the mergetool. To do that:
Click on the new button on the top-right section of the mergetool
Select the desired diff: source revision with base, destination revision with base, and source revision with destination.
Improved the exclusive checkout (a.k.a. distribut…
Cloud: Improved the exclusive checkout (a.k.a. distributed lock) performance (30% faster than before).
The 'Update report' dialog has been refurbished.…
Gluon: The 'Update report' dialog has been refurbished. The error message for each update conflict has been moved to a dynamic text area on the right hand side of the dialog and errors can be update forced from now on.
The server will now run as the 'plasticscm' user,…
Server (Linux): The server will now run as the 'plasticscm' user, instead of 'root'.
Bug
After deleting or renaming a file in the 'workspa…
Gluon: After deleting or renaming a file in the 'workspace explorer' view, the item position (the scroll position) was unexpectedly changed. Fixed.
Fixed some aesthetical issues
Mac OS Mergetool: Fixed some aesthetical issues:
The margin colors were not correctly updated in the result text view when conflicts were edited.
Sometimes the scroll position was wrong on application startup.
Fixed clipped text in 'Mark as resolved' button.
The message 'Can't edit the xlink root' appeared…
Linux (GTK) GUI and Mac OS GUI: The message 'Can't edit the xlink root' appeared when trying to edit partial read-only xlinks. Fixed.
Wrong height and bottom margins in the filter fie…
Mac OS GUI: Wrong height and bottom margins in the filter field on 'Available Plastic SCM Branches', 'Server explorer' and 'Changeset selection' dialogs. Fixed.
under some circumstances, the GUI could throw an…
Linux (GTK) GUI: under some circumstances, the GUI could throw an unexpected error. For example, while diffing an item that has no previous revision. Fixed.
5.4.16.792
Public | 2016-11-14
New
The 'Checkin changes' view now shows a warning me…
Gluon: The 'Checkin changes' view now shows a warning message when no changeset is created after a check-in operation. This can happen when files are just checked-out and then checked-in without changing their contents.
Bug
Starting Gluon configuration tool when there is n…
Gluon: Starting Gluon configuration tool when there is no previous user configuration caused an error when selecting a repository. Fixed.
An error appeared when adding a file on an empty…
Gluon: An error appeared when adding a file on an empty workspace when the workspace was created from Gluon configuration tool. Fixed.
Some panels in the details area were hidden when…
Gluon: Some panels in the details area were hidden when maximizing / restoring the window size. Now all panels have a minimum size.
Also, the 'details' panel preserve the proportion.
Diff branch/changeset: When clicking the 'analyze…
Windows GUI: Diff branch/changeset: When clicking the 'analyze refactors' button while a Java file is being loaded in the diff viewer, the following error was shown: 'There was a problem parsing the source file'. Now it's fixed.
If the user authentication method is set to 'LDAP…
Server: If the user authentication method is set to 'LDAP' (Oracle LDAP server) and the LDAP tree is very big, the server could not run certain operations sometimes (cm find, cm lrep, cm mkrep...). Fixed.
5.4.16.791
Public | 2016-11-04
New
Branch Explorer multi-selection improvements with…
Branch Explorer multi-selection improvements with search. (Applies to Windows, OS X, Linux).
Now it is possible to select a changeset, find another one using the search, CTRL-click it and do a "diff selected changesets". It is very useful to diff distant changesets.
Multi-selection and search also works for branches.
The colors of the selections have been modified so that now it is very clear when you are doing multi-selection (colors are subject to change in coming releases because we are still testing combinations).
Previously it was not possible because selection was lost after searching.
The active/inactive users aren't reloaded each ho…
Server: The active/inactive users aren't reloaded each hour anymore, improving performance on servers with huge work load.
New options have been added to the context menu o…
Gluon: New options have been added to the context menu of 'search for files' dialog when right-clicking matched items:
Checkin
Checkout
Undo checkout
Undo changes
Update
Open
Open with
Open in explorer
The size and position of the application windows…
Linux (GTK) GUI: The size and position of the application windows are now preserved between application restarts (main application window, 'Switch workspace' window and 'Differences' window).
Improved look & feel for several dialogs, adjusti…
Linux (GTK) GUI and Mac OS GUI: Improved look & feel for several dialogs, adjusting them to an unified style, and reviewed some texts (titles and explanations).
Now it is possible to diff selected chunks of tex…
Linux (GTK) GUI and Mac OS GUI: Now it is possible to diff selected chunks of text. To do that:
Select the first text chunk from a 'diff viewer' textbox (pending changes view, diff window, merge window...).
Choose 'Add diff selection' option in the context menu.
Select another chunk of text and choose 'Diff with previous selection' option in the context menu.
An external diff tool will raise showing the diffs of the selected text chunks.
[link]https://plasticscm.uservoice.com/forums/154…
Diff & Merge tools: https://plasticscm.uservoice.com/forums/15467-general/suggestions/4341482-highlighting-of-a-new-line-in-diffs User voice request: Highlighting of a new line in diffs
Added / deleted lines are now highlighted with a darker color. This way it is easier to distinguish what was really changed, especially for long lines. (Applies to Windows, Mac OS, and Linux GUI's).
Improved overall performance when there is no con…
Eclipse plugin: Improved overall performance when there is no connection with the Plastic SCM server.
Bug
The replication process was stopped due to a LDAP…
Server: The replication process was stopped due to a LDAP exception (LOCAL_ERROR) when trying to resolve an user that doesn't exists anymore in the AD server.
The preferences window wasn't being shown in the…
Mac OS GUI: The preferences window wasn't being shown in the Cloud Edition. Fixed.
some special characters were not supported for fi…
Linux (GTK) GUI, Mac OS GUI, and Command Line Interface for Linux and Mac OS: some special characters were not supported for file and directory names, resulting on an error when handling them from Plastic SCM. Fixed.
Please have in mind that there are some unsupported characters on Windows filesystem that Linux and Mac OS filesystems support, and there could be some files added to Plastic SCM from Linux and Mac that might not be available for Windows workspaces. This is not a Plastic SCM related issue, but the way NTFS and Windows handle paths.
The 'comment' field of the changesets on the 'Exp…
Windows GUI: The 'comment' field of the changesets on the 'Explore changesets on this branch' window was clipped on its bottom edge. Fixed.
The 'help' icon was missing in several views. Fix…
Windows GUI: The 'help' icon was missing in several views. Fixed.
5.4.16.789
Public | 2016-10-26
New
The active/inactive users aren't reloaded each ho…
Server: The active/inactive users aren't reloaded each hour anymore, improving performance on servers with huge work load.
5.4.16.788
Private | 2016-10-25
New
Fifth internal release with Jet backend (filesyst…
Fifth internal release with Jet backend (filesystem-based backend)
5.4.16.787
Public | 2016-10-19
New
Command line checkin progress has been improved a…
Command Line Client: Command line checkin progress has been improved and now a proper ASCII progress bar is displayed.
The number of concurrent readers used on the chec…
Checkin operation: The number of concurrent readers used on the checkin operation can be configured using the 'UploadReadPoolSize' setting in the client.conf
file. By default a single reader is used. For example: to use 5 readers, add the following entry in the client.conf
file:
<UploadReadPoolSize>5</UploadReadPoolSize>
Using multiple readers on SSD disks improves the upload phase performance significantly.
New look and feel for the workspace switcher wind…
Mac OS GUI: New look and feel for the workspace switcher window. It shows workspaces and repositories views inside a Tab control.
Prevent [code]cm sync p4[/code] from losing the s…
P4 sync: Prevent cm sync p4
from losing the status of last synced changeset in case the sync process is abruptly stopped (Ctrl + C
is issued, power failure, etc.).
Bug
Upgraded P4 API used by [code]cm sync p4[/code] c…
P4 sync: Upgraded P4 API used by cm sync p4
command. With this new API version, the number of TCP connections to P4 server decreases massively.
New P4 API version: 2016.1.140.7015
The branch explorer generated for the 'Show pendi…
Windows GUI: The branch explorer generated for the 'Show pending merges for selected branches' option was showing child branches that were already merged indirectly. Fixed.
A bug was detected in our bundled mono version. I…
Linux (Mono): A bug was detected in our bundled mono version. It was preventing child processes to be notified of the closure of their standard input streams. Fixed.
5.4.16.784
Public | 2016-10-08
New
MySQL database connector has been upgraded in ord…
Server: MySQL database connector has been upgraded in order to improve connections handling.
Bug
Error "The channel 'normal' is already registered…
Error "The channel 'normal' is already registered" will no longer happen. Initialization of the remoting layer was not correctly protected and under some circumstances 2 threads could end up initializing it concurrently, leading to this error.
5.4.16.783
Private | 2016-10-07
New
The TeamCity's Plastic SCM plugin now allows to t…
TeamCity plugin: The TeamCity's Plastic SCM plugin now allows to track & build changes on multiple branches (a.k.a. 'Feature branches').
The 'Configure VCS root' step has been simplified…
TeamCity plugin: The 'Configure VCS root' step has been simplified. Instead of requiring a selector, the VCS root will ask for a server, repository and default branch name to track.
Also, the 'cm' executable path is no longer required (TeamCity plugin will assume the executable 'cm' is in the PATH environment variable.
REMARKS:
Existing projects configured with Plastic SCM VCS roots will need to be reconfigured.
There's an issue involving the diff of moved + changed files due to limitations on TeamCity API, pending to be adressed.
Server-side workspaces are no longer required. Th…
TeamCity plugin: Server-side workspaces are no longer required. This will improve 'checkout from VCS' step and changes detection performance.
Now, every table on macplastic will save and rest…
Mac OS GUI: Now, every table on macplastic will save and restore your preferences about column ordering and sizing between application restarts.
Also, the position of the splitters on each view are saved and resored between restarts.
Bug
some windows were not correctly remembering their…
Mac OS GUI: some windows were not correctly remembering their frame (size and position) between application restarts. Fixed.
(Note that some windows such as the preferences window, and all of the dialogs, will still appear centered and with their default sizes).
The diff window wasn't allowing to edit revision…
Windows GUI: The diff window wasn't allowing to edit revision contents on 'text diff' mode when the revision was marked as 'Editable' (it's the same revision as the one loaded in the workspace). Fixed.
(Remarks: Edition in 'Semantic diff' mode is still unavailable).
5.4.16.782
Public | 2016-10-05
New
The 'Diff' window, the 'Pending changes' view, an…
Windows GUI: The 'Diff' window, the 'Pending changes' view, and the '2D revision tree' view are now able to show image diffs/contents. The following image formats are supported: bmp, gif, jpg, jpeg, jpe, jif, jfif, jfi, png, tiff, tif
The Image diff viewer allows to show diffs in four different modes:
Side by side: View both images on two panels (left and right).
Onion skin: The images are blended. A slider allows to show left or right image.
Differences: A single image shows the differences between them. This option is only enabled when the size of both images are the same.
Swipe: View portions of each image moving an slider.
The Image diff also shows differences in the image properties.
Added spell checking when entering comments on 'P…
Windows GUI: Added spell checking when entering comments on 'Pending changes' view and 'Create branch' dialog. Spell check enablement and language preferences can be changed by right-clicking in the comments textbox and using the displayed context menu.
REMARKS: In order to enable spell check for a specific language, the windows language pack for that language must be installed.
Added a new action that allows 'diff with other l…
Eclipse: Added a new action that allows 'diff with other label' in the branch explorer's 'label' context menu.
[code]macmergetool[/code] app shortcut will be ad…
Mac OS Mergetool: macmergetool
app shortcut will be added to /usr/local/bin
. This way, macmergetool is likely to be included in the default $PATH environment variable.
Bug
Syntax highlight engine crashed when running 'mac…
Mac OS GUI: Syntax highlight engine crashed when running 'macplastic' under an account with no admin privileges. Now it's fixed.
Fixed a crash loading the preferences dialog in '…
Mac OS GUI: Fixed a crash loading the preferences dialog in 'Cloud Edition' installer.
The [code]macmergetool[/code] parameters configur…
Mac OS GUI: The macmergetool
parameters configured by default on fresh installs where wrong, resulting in a 'Invalid length' error when diffing two revisions. Fixed.
If you are already experiencing this issue, the fix is the following: go to 'Preferences' > 'Diff tools' and remove the default diff tool from the list. Then, add it again by clicking on 'Add' and selecting the 'Default' one from the list. Finally, click on 'Save' button.
5.4.16.781
Public | 2016-10-03
New
Improved the way the 'Configure workspace' handle…
Gluon: Improved the way the 'Configure workspace' handles the case-sensitive renamings: the update operation is now able to apply case-sensitive renames in the workspace. See the example below:
Given the following repository structure:
/
/src
/src/Foo.c
Before this release, if another user renames the /src/Foo.c
file to /src/foo.c
, the configure view would show both items:
/
/src
/src/Foo.c
/src/foo.c
Now, a single entry for the foo.c
item will be shown. Furthermore, the update operation will correctly perform the update from /src/Foo.c
to /src/foo.c
.
If another user moves a file on the repository, t…
Gluon: If another user moves a file on the repository, the 'Configure workspace' operation could lead to parent folders of the moved file not to download newly added items on these folders anymore. See the sample below:
Given the following repository structure:
/
/src
/src/foo.c
/src/bar.c
/doc
/doc/map.c
I have my workspace up-to-date with the described structure.
Another user renames
/src/foo.c
to/src/qux.c
Now, my 'Configure workspace' view will show the following configuration:
/ (/)
/src (/)
/src/foo.c (X)
/src/bar.c (X)
/src/qux.c
/doc (X)
/doc/map.c (X)
Before this release, clicking the 'Apply' button without changing anything, /
and /src
folders won't download newly added items anymore.
Also, before this release, changing any configuration of a not involved item in the move operation, such as /doc
, the result will be the same: /src
and its parent folders won't download newly added items anymore.
Now, both scenarios changes their behavior: /src
and its parents folders will download newly added items after the move operation.
Improved the look and feel of the diff image view…
Windows GUI: Improved the look and feel of the diff image viewer. Added Ctrl + wheel support for zooming.
Bug
The 'Configure workspace' operation seemed stuck…
Gluon: The 'Configure workspace' operation seemed stuck when there were lot of items ( more than 30K items) involved to load. Fixed.
the 'About' dialog of this release has a typo in…
Known issue: the 'About' dialog of this release has a typo in the code name: the release name should show 'Diamonds' instead of misspelled 'Diamons'.
5.4.16.779
Public | 2016-09-25
New
Now it is possible to override the ACID isolation…
Server: Now it is possible to override the ACID isolation level setting for the configured database backend through server's db.conf
config file.
To do that, edit the db.conf
file and add an entry like this:
<IsolationLevel>RepeatableRead</IsolationLevel>
Possible values for isolation level are the following:
Chaos
ReadCommitted
ReadUncommitted
RepeatableRead
Serializable
Snapshot
IMPORTANT REMARK: Plastic SCM server already sets the ACID level for the underlying database backend that best performs for each DDBB. We recommend not to touch this setting on your own. For further info, ask Plastic SCM support at "support@codicesoftware.com".
5.4.16.777
Public | 2016-09-22
New
Added support for Mac OS X Sierra
Mac OS GUI: Added support for Mac OS X Sierra.
Remarks: Some aesthetical UI glitches are still pending to be addressed.
Polarion: Added support for distributed scenarios…
Issue trackers: Polarion: Added support for distributed scenarios (linked revisions will use changeset GUID instead of changeset ID (integer number)).
However, changeset info (such as changeset comment) and its WebUI visualization URI won't be available until the changeset is replicated to the configured Plastic SCM server in Polarion.
Remarks:
This update is backwards compatible, so all the linked revisions already added to Polarion using the changeset id will still be browsable.
The following components should be updated at the same time: Polarion's Plastic SCM extension (the one installed on your Polarion server), and Plastic SCM's WebUI (if you use it alongside Polarion).
Now, the collapsed nodes of the 'workspace explor…
Linux (GTK) GUI: Now, the collapsed nodes of the 'workspace explorer' tree are not re-opened between refresh operations if a child node is expanded. The behavior of the items tree is now exactly the same as in the Plastic GUI for Windows and Mac. When a node is collapsed, all its expanded children are collapsed too.
Now the Mergetool remembers window size between a…
Linux (GTK) Mergetool and Mac OS Mergetool: Now the Mergetool remembers window size between application restarts, correctly saving and restoring the diff window and the merge window position and size.
Implemented 'Go to source changeset' and 'Go to d…
Linux (GTK) GUI and Mac OS GUI: Implemented 'Go to source changeset' and 'Go to destination changeset' menu options on Branch Explorer merge links.
Some enhancements in [code]clconfigureclient[/cod…
Command line configuration tools: Some enhancements in clconfigureclient
and clconfigureserver
utilities have been made:
clconfigureserver: Now it is possible to configure the database backend from this tool.
clconfigureclient: Now it auto-detects the server's user authentication mode to automatically ask for the correct credentials. Also, it allows to specify server's SSL port and Plastic SCM proxy server location.
In order to keep compatibility with Polarion's is…
WebUI: In order to keep compatibility with Polarion's issue tracker extension last update, changeset contents can now be browsed using both a changeset ID or changeset GUID in the URI.
Bug
Fixed a navigation problem in the 'Explore worksp…
Gluon: Fixed a navigation problem in the 'Explore workspace' view. When the layout is set to 'list mode' (Right click on the 'Explore workspace' panel > 'View as list'), after double clicking a directory on the right side list, the directory item was not correctly selected. Fixed.
several aesthetic fixes
Mac OS GUI: several aesthetic fixes:
The 'differences' navigation control is now automatically resized to prevent its text from cutting out the navigation buttons.
The 'History' view now has a progress indicator while downloading two revisions of a file to perform a diff operation.
The 'History' view now has a progress indicator w…
Linux (GTK) GUI: The 'History' view now has a progress indicator while downloading two revisions of a file to perform a diff operation.
Now, if there are pending unsaved changes, the ap…
Mac OS Mergetool: Now, if there are pending unsaved changes, the application will ask the user whether save changes or not before closing.
5.4.16.775
Public | 2016-09-07
New
Enable syntax highlight and line numbers for text…
Mac OS GUI: Enable syntax highlight and line numbers for text files in text editors (diff, merge and plastic tools). These are the supported languages:
Plain text
ActionScript
ASP.NET (aspx, ascx)
ASP.NET (ashx, asmx, asix)
Boo
C
Cg
Changelog
C++
CSS
C#
Diff
F#
HTML
IL
JSON
Java,
JavaScript
Jay
Less
Lua
Makefile
Python2 v2.x
Python3 v3.x
Razor
Ruby
ShellScript
Strings
Typescript
Vala
VisualBasic
XAML
XML
Remarks about configuration: The language is automatically selected based on the file extension. To override/extend the language extensions, create a file "/Users/<the_user_name>/.plastic4/syntaxhighlight/languages.conf"
as follows (example):
This is a sample file, commented lines starts with <pre>#</pre> symbol:
<pre>#syntax language definition by file extension
#example:
#.js:JavaScript
.custom:XML
.txt:Plain text</pre>
The changeset/branch/label comment is now selecta…
Mac OS GUI: The changeset/branch/label comment is now selectable in the diff view.
Bug
The visual diff of the analyze refactors function…
Windows GUI: The visual diff of the analyze refactors functionality from the diff window was broken since version 5.4.16.771. Fixed.
5.4.16.772
Public | 2016-08-31
New
Improved look and feel for outline and table view…
Mac OS GUI: Improved look and feel for outline and table views (items, pending changes, branches, labels, etc.).
Now, the selected rows are highlighted in white color, so the text is more readable.
Also, the icon for the selected row in the left sidebar is highlighted in white color.
When launching the 'Diff...' dialog from an item…
Windows GUI: When launching the 'Diff...' dialog from an item that is not loaded in your current workspace (Example: the 'Diff...' dialog was launched from 'Browse repository on this branch/changeset' view), the 'Second revision' section didn't allow to select any changeset to compare with. Fixed: now you can choose which changesets or branches you'll be diffing.
Bug
When the GUI was configured to use a theme differ…
Windows GUI: When the GUI was configured to use a theme different than the 'default' theme, after showing differences for a file that had no changes, a 'Stack overflow' exception appeared. Now it's fixed.
Diff navigation keyboard shortcuts (Ctrl+N and Ct…
Windows GUI: Diff navigation keyboard shortcuts (Ctrl+N and Ctrl+M) were broken since version 5.4.16.771. Fixed.
Fixed aesthetical issues in 'Create label', 'Upda…
Windows GUI: Fixed aesthetical issues in 'Create label', 'Update workspace' and 'Switch to label' dialogs.
Windows 10 users: The dialog that warns about pen…
Windows GUI: Windows 10 users: The dialog that warns about pending changes on the workspace before a switch operation had the 'Don't ask me again' option hidden. Fixed.
Fixed aesthetical issues in 'connect to server' d…
Gluon: Fixed aesthetical issues in 'connect to server' dialog: if the server name was very long, the ok/cancel buttons were clipped. Fixed.
'Branch Explorer' view: When selecting a branch t…
Linux (GTK) GUI and Mac OS GUI: 'Branch Explorer' view: When selecting a branch that has sub-branches, and the click was done in the sub-branch area, the branch was not selected. Now it's fixed.
replacing a selection of text on the result box j…
Windows Mergetool: replacing a selection of text on the result box just before a 'deleted' section using paste command instead of keyboard input resulted in a wrong painting of differences. Fixed.
5.4.16.771
Public | 2016-08-12
New
[code]cm partial configure[/code] command now acc…
Gluon CLI: cm partial configure
command now accepts a new flag: --ignorecase
. With this flag, the command ignores casing on specified paths. Example:
- If the user types the following command:
cm partial configure --ignorecase +/data/teXtures
, the command will work for loading/Data/Textures
.
[code]cm listlocks[/code] command now accepts a n…
Command Line Interface: cm listlocks
command now accepts a new flag: --ignorecase
. With this flag, the command ignores casing on serverpath specs. Example:
- If the user types the following command:
cm listlocks --ignorecase serverpath:/conFIG/enViRonMENt.cnF#cs:499
, the command will work for listing locks on/Config/Environment.cnf
, if any. (It is supposed the /Config/Environment.cnf file exists in changeset tree cs:499).
'Configuration mode' is now able to automatically…
Gluon: 'Configuration mode' is now able to automatically unload files from their old location when they need to be loaded in a new location. This is useful when there are files that are checked to be loaded in their new location but they were already loaded in the workspace in an old location.
(Before this release, an 'item already loaded' error was shown to the user).
Added telemetry to Plastic SCM to track exception…
Windows, Linux and Mac OS GUI's: Added telemetry to Plastic SCM to track exceptions and useful info that will help on troubleshooting issues.
Several aesthetical fixes were made in branch exp…
Mac OS GUI: Several aesthetical fixes were made in branch explorer properties viewer, configuration dialogs and pending changes view. Some dynamic texts did not fit inside some labels.
Added [code]Cmd + F[/code] shortcut in the 'Items…
Mac OS GUI: Added Cmd + F
shortcut in the 'Items' view to focus the search textbox.
Fixed progress message in 'Checkin to another bra…
Linux (GTK) GUI and Mac OS GUI: Fixed progress message in 'Checkin to another branch' dialog. The name of the newly created branch was not shown.
The initial step of the 'checkin' operation (gene…
Check in: The initial step of the 'checkin' operation (generating data to submit) has been improved. On Linux-based OS is 4x times faster. Windows it's 13% faster.
Bug
The 'change revision type' command was unnecessar…
Server: The 'change revision type' command was unnecessarily cleaning the server caches. Fixed.
the check in operation for a moved item with the…
Gluon: the check in operation for a moved item with the source parent deleted was failing when the deleted parent was processed before the moved item. Example:
* move /src/lib/foo.c -> /foo.c
* rm /src/lib
* cm checkin
If the rm
operation was processed before the move
, the check in could fail. But now this issue has been fixed.
5.4.16.769
Public | 2016-08-09
New
The Plastic '/main' branch is mapped to Git 'mast…
GitSync & GitServer: The Plastic '/main' branch is mapped to Git 'master' branch. Now this mapping is also considered for the children branches of '/main' on Plastic, so '/main/task1' is converted to 'master-task1' instead of 'main-task1'.
Plastic branches are converted into Git branches by removing the hierarchy and replacing the '/' with '-'. For example: /main -> master & /main/task1 -> master-task1
From now on, every time a Git branch is converted into a Plastic branch, the '-' character is used to recreate the hierarchy in Plastic by keeping in mind the already converted branches. Example: master -> /main & master-task1 -> /main/task1.
The '-' character is also allowed as part of the branch name like the following example: master -> /main, master-fix-5.0 -> /main/fix-5.0 & master-fix-5.0-task1 -> /main/fix-5.0/task1
The behavior of the [code]--ignorefailed[/code] o…
Gluon CLI: The behavior of the --ignorefailed
option of the cm partial checkin
command has been improved.
Setting that option will now force the checkin operation to discard any changes that cannot be checked in, so the operation will finish without them.
Previously, this option was only affecting to changes in conflict. Now, it also discard changes that cannot be submitted due to lack of permissions, locked files, etc.
Bug
'Update' operation from item context menu: The 'm…
Gluon: 'Update' operation from item context menu: The 'move' operations were only applied when updating the whole workspace. But now, if the source and destination of the move are selected, the move operation is correctly applied in the workspace from the context menu's 'Update' operation too.
5.4.16.768
Public | 2016-08-03
New
User voice: [link]https://plasticscm.uservoice.co…
Windows GUI: User voice: Re-open custom branch explorers when restarting GUI
Now, 'Custom Branch Explorer' tabs are preserved when closing the Plastic SCM GUI.
The data validation step of the checkin operation…
Checkin: The data validation step of the checkin operation has been improved. Now it's much faster than before this release.
Tested with 315K items in a SSD disk:
Before this release: 45875 ms
With this release: 1750 ms
Configuration dialogs now shows more user-friendl…
Windows GUI, Linux (GTK) GUI and Mac OS GUI: Configuration dialogs now shows more user-friendly authentication modes:
* NameWorkingMode -> "User name from the computer"
* NameIdWorkingMode -> "Name + user ID"
* ADWorkingMode -> "Active Directory"
* LDAPWorkingMode -> "LDAP"
* UPWorkingMode -> "Built-in user and password"
Bug
The use of relative paths in cm shell commands wa…
Jenkins plugin: The use of relative paths in cm shell commands was causing Jenkins to crash on Mac OS X. The CI system is setting the current directory to invalid (out-of-workspace) paths. Fixed.
Fixed an issue in protocol auto-detection that en…
Fixed an issue in protocol auto-detection that ended up in a hanged server combined with clients having wrong LDAP passwords massively.
5.4.16.766
Public | 2016-07-22
New
Added a 'comments' panel below the history panel.…
Gluon: Added a 'comments' panel below the history panel. This panel will show the comment of the selected revision, or the comment of the loaded revision in the workspace if no revision from the history panel is selected.
Bug
The automatic comments were duplicated after clos…
Windows GUI: The automatic comments were duplicated after closing and reopening the pending changes view. Fixed.
Wrong window title in the configuration window. T…
Mac OS GUI: Wrong window title in the configuration window. The title was: 'Welcome to PlasticSCM Cloud Edition' when the installed version wasn't the Cloud Edition at all. Fixed.
Fresh install from scratch wasn't generating a tr…
Mac OS Server Installer: Fresh install from scratch wasn't generating a trial license, causing the server to do not startup automatically. Fixed.
5.4.16.765
Public | 2016-07-15
New
Plastic network protocol
Plastic network protocol.
This release includes official support for the new 'Plastic network protocol' (a.k.a. 'plasticproto').
The protocol is not yet enabled by default, and to take advantage of it, a file named plasticpipeprotocol.conf
must be created (details below).
The main features of plasticproto are:
Improved API compatibility. Our intention from now on is to keep all clients and servers compatible (from this release onwards). It means we get rid of breaking compatibility on major releases as we did in the past. All of this will greatly simplify deployment, especially on big teams. Users will be able to upgrade to a newer major release even if not the team members upgrade at the same time. Compatibility checks now happen on a per method basis. Methods can be versioned independently, which helps us evolving the API faster while not forcing all users to upgrade.
Reduced call overhead: the protocol is much more compact than before, because it is lower level and designed ad-hoc for Plastic. As an example: a simple "cm lrep" request (just the request, not including the answer) was about 400 bytes before. Now it is about 50 bytes when a new socket connection is opened, and only 2 bytes if a connection is reused.
Increased portability. The new plasticproto makes it simpler to port to new frameworks like .NET Core and implement native clients on mobile devices. This is because it doesn’t rely on complex RPC like before, but just on plain sockets.
Better performance: the lighter API helps during both performance and scalability tests. While the initial version is not dramatically faster than the older on LAN, the plan is to use it to greatly improve data transfer.
A little bit of history:
For years, communications between Plastic client and servers (including communications between servers) happened through .NET/Mono Remoting.
In fact, it was a heavily customized remoting layer, improved for scalability, performance, memory reduction and faster serialization, among others.
It allowed us to run circles around other version controls (more here: https://www.plasticscm.com/version-control-for-games.html#performance-results) but it had issues regarding major version compatibility.
We had to freeze the API to keep it compatible, and per-method versioning was not easily doable.
How to enable plasticproto:
The 5.4 client and server will still default to "remoting" protocol except if file named
plasticpipeprotocol.conf
is created in the client binaries folder (and another one in the same place as the server binaries to enable plasticproto to be used during replicas among plastic servers).The format of the file is as follows:
plasticprotocol myserver:8080 superserver:8085 ssl://myserver:8084
remotingprotocol otherserver:4040
defaultprotocol remotingprotocol // it can also be ‘plasticprotocol’
You can specify how to connect to each server.
If you install this new version on client and server and you want to give plasticproto a try, the following
plasticpipeprotocol.conf
file will do:
defaultprotocol plasticprotocol
(This file is meant to be temporary and as soon as we enable protocol autodetection, it will no longer be used).
5.4.16.762
Public | 2016-07-11
New
From now on, Plastic SCM supports LDAP user authe…
Server - User Authentication: From now on, Plastic SCM supports LDAP user authentication without anonymous access enabled.
The 'branch explorer' view now allows to navigate…
Windows GUI: The 'branch explorer' view now allows to navigate to mergelink's source/destination changesets even if the target changeset is visible on the screen.
Explore changesets on branch: Added "Changeset Gu…
Windows GUI: Explore changesets on branch: Added "Changeset Guid" field to the changeset list. And from now on, all the displayed fields (datetime, owner, cset guid, cset id and comments) can be copied to the clipboard.
//plasticscm.uservoice.com/forums/15467-general/s…
User Voice: preserve pending changes comments when closing the view
'Pending changes' view comments are now remembered when closing/reopening the view.
[link] https://plasticscm.uservoice.com/forums/15…
Windows GUI, Linux (GTK) GUI and Mac OS GUI: User Voice request: always display branch comment in Branch explorer (not only from issuetracker)
The branch info is now displayed as follows in 'branch explorer' diagram:
If an issue tracker is configured in "Task on Branch" mode, the associated task info (if any) from the issue tracker is displayed.
Otherwise, the branch comment is used to display the branch task info.
Bug
The undo changes operation were wrongly cleaning…
Linux (GTK) GUI: The undo changes operation were wrongly cleaning the checkbox status (checked) of the selected items if the operation was not actually performed (the user refused to confirm it). Fixed.
The locking status was not checked when checking…
Linux (GTK) GUI and Mac OS GUI: The locking status was not checked when checking in 'changed' items from the 'Pending Changes View'.
Update operation from a directory's context menu:…
Gluon: Update operation from a directory's context menu: If there are fully checked directories to be updated under the selected elements, the new added items were not downloaded to the workspace. Fixed.
5.4.16.761
Public | 2016-07-05
New
The 'add' operation has been improved, up to 2x f…
Add operation: The 'add' operation has been improved, up to 2x faster than previous release.
The perfomance of 'differences' operation has bee…
Cloud: The perfomance of 'differences' operation has been reviewed and improved.
License reload has been improved. Auto-renewal li…
License reload has been improved. Auto-renewal licences installed with token were not reloaded on server startup. It means that if you added 3 users to your Team Edition, you had to wait a few hours for the server to reload the new lic. Now the server detects the change on startup, so a quick server restart will enable the 3 new users to start working.
Added context menu for 'checkout changeset' on 'b…
Linux (GTK) GUI and Mac OS GUI: Added context menu for 'checkout changeset' on 'branch explorer' view (dotted line changesets).
The 'pending changes' view now allows multiple it…
Linux (GTK) GUI and Mac OS GUI: The 'pending changes' view now allows multiple items to be checked/unchecked by clicking one of the checkboxes in the selected rows.
The 'pending changes' view now allows the space b…
Linux (GTK) GUI: The 'pending changes' view now allows the space bar to be used to activate/deactivate all the checkboxes in the selected rows.
The 'Workspace Explorer' view now allows multiple…
Linux (GTK) GUI: The 'Workspace Explorer' view now allows multiple items to be opened at once by selecting several rows and hitting the 'Enter' key.
Update-merge failed with checkouts (co/add/rm/mv)…
Security: Update-merge failed with checkouts (co/add/rm/mv) under a path where the user lost "read" permission. Now the case is better handled and the following error is returned: "The merge cannot be done because some local changes cannot be processed. Most likely, you don’t have the proper permissions to make changes in some of the paths involved. Check the server log for more information."
Remarks:
It happens when you download code to /src/project, and then later the admin revokes access to this directory but you already had checkouts inside.
Update-merge happens when you are on a branch, you have checkouts, you update to latest, and your checkouts are simply moved to latest using a merge under the hood.
Previously the error message was something like "item 12386 could not be found in the tree. The new tree cannot be built").
Bug
When a user is member of multiple organizations,…
Cloud: When a user is member of multiple organizations, the groups membership for that user were wrongly calculated. Fixed.
5.4.16.760
Public | 2016-06-24
New
Changes in Team Edition and Cloud Edition to simp…
Changes in Team Edition and Cloud Edition to simplify the evaluation process. We have redesigned the initial installation and configuration steps to make it much easier and intuitive for users evaluating Plastic SCM.
Changes start in the installer and then continue in the initial tool configuration (server selection, credentials and so on) and finally new dialogs help the user creating a new repo or joining an existing project.
Summary of installer changes:
Windows Installer: Gluon or Plastic will be started on Windows at the end of the installation, instead of simply finishing and waiting for the user to start the right tool.
Windows Installer: initial tool configuration happens with non-elevated user now. During installation you’re asked for "elevation" (admin rights on Windows) to be able to copy the files under "Program Files". Once the installation is finished, the elevation is reverted so that initial tool configuration happens on the unprivileged user account and not admin’s. This worked fine for user in the admin’s group, but not for regular users. We finally got it fixed.
Linux: after configuring with gtkplastic running the first time, the tool was closed and you had to rerun. This has been finally fixed so it is much simpler now.
Summary of changes in Cloud Edition:
All platforms: Cloud Edition credentials dialog: first time you run Cloud Edition client you are prompted to enter your Plastic Cloud credentials. The dialog has been redesigned to make it simpler.
All platforms: Cloud Edition first steps dialog. Once you enter your credentials, you have to create a new workspace, new repo and so on. Now a new dialog helps you doing all that. It is capable of creating a new Cloud project with a local repo to push/pull changes, join an existing one or simply create a workspace (which is the option for users who are already familiar with Plastic and just want to do some quick operation). We made this change after listening to evaluators of Cloud Edition struggling to complete the first steps. The dialog is even capable of creating a new Sync View to synchronize the local and Cloud repos.
Summary of changes in Team Edition:
All platforms: Team Edition server configuration dialog: first time you run Team Edition client you have to configure your server and enter your credentials. During evaluations it is very common that users install a server on their own machine. Now the configuration detects it and directly shows the "localhost:8087" as default server. The dialog has been redesigned too in OS X, Linux and Windows.
All platforms: Team Edition first steps dialog. Similar to what we did for Cloud Edition. Once you configure your server and enter your credentials, a new dialog guides your steps creating a new "project" (new repo indeed) or joining an existing one, and creating the associated workspace.
General evaluation improvements:
- Once you start the Plastic GUIs (Windows/Linux/OS X) for the first time, there are a few hint panels explaining what you can do. It will not be useful for experts, obviously, but we think it can save newcomers a lot of time.
General Cloud improvements:
We have created a new Cloud view. It is just a "repositories view", connected to Plastic Cloud. For Cloud Edition users it will simply list the repos on their cloud organization. For Team Edition users, it will show them that Cloud is there to help :-), and of course will show the repos in their Cloud organization as soon as they get one. The operations here were all previously doable from the regular "repositories view", but introducing this Cloud button on the GUIs we think we make it much more obvious to use, more visible and easy.
New "create sync view" option has been added to the "repositories view" and the new "Cloud view". We just make it easier to create a sync view to synchronize a pair of repos (local and Cloud).
[link]https://plasticscm.uservoice.com/forums/154…
Linux (GTK) GUI and Mac OS GUI: User Voice: undo unchanged
'Undo unchanged' option is now available on the 'Pending changes' view. It is located in the 'Advanced' button on the right side of the main actions toolbar. ('Shelve' option has been moved to the 'Advanced' options on both GUI's).
'Branch Explorer' view: 'zoom' buttons are now av…
Linux (GTK) GUI and Mac OS GUI: 'Branch Explorer' view: 'zoom' buttons are now available. They are located next to the 'Home' button.
Added a 'Show update report' button on the 'Works…
Gluon: Added a 'Show update report' button on the 'Workspace explorer' view in order to show a list of updated, loaded or unloaded items when an 'update' or 'apply configuration' operation is performed.
(The button will remain hidden until the first operation is performed).
Prior to this release, when a standard user was i…
Windows Installer: Prior to this release, when a standard user was installing Plastic SCM and the installer asked the user for 'admin' privileges, the Plastic SCM client configuration tool launched at the end of the install process was taking the 'admin' user instead of the standard user that originally launched the installer. This windows limitation was preventing the standard user from being configured to use Plastic SCM indeed. Now, this limitation has been workarounded starting the client configuration tool with the "explorer.exe" process.
Now it is possible to choose whether start Plasti…
Windows installer: Now it is possible to choose whether start Plastic SCM classic GUI or Plastic Gluon before the install process finishes.
[link]https://plasticscm.uservoice.com/forums/154…
Linux (GTK) GUI and Mac OS GUI: User voice: add checkin to a new branch to MacPlastic and GtkPlastic
Added 'Checkin to a different branch' feature to the 'Pending changes' view (the new option is located in the 'Advanced' button). The changes can be checked in into a new branch or to an existing empty branch (in both cases the branch base will be the current changeset).
The changes can be checked in into the selected branch or just moved without checking in them.
The location for the following config files: 'ign…
Global configuration files: The location for the following config files: 'ignore.conf', 'cloaked.conf', 'hidden_changes.conf', 'writable.conf', 'readonly.conf' and 'filetypes.conf' in Plastic SCM's global configuration repository has changed.
Although we still support the previous configurations, now you need to commit the configuration files in the "plastic-global-config" repository following the next folder structure:
- Example for MyRepo:
/MyRepo/ignore.conf
- Example for allrepos
/allrepos/ignored.conf
Bug
When creating an xlink using the CLI's [code]cm x…
Linux (GTK) GUI and Mac OS GUI: When creating an xlink using the CLI's cm xlink
command, the xlink's default expansion rule is not created, causing an exception when editing the target changeset using the GUI. Fixed.
When a controlled file was locally moved, the ite…
Linux (GTK) GUI: When a controlled file was locally moved, the items view didn't render the deleted file correctly. Fixed.
Several aesthetical improvements have been made
Windows Mergetool: Several aesthetical improvements have been made:
Fixed maximize / restore contributor buttons tooltips. All contributors were showing de same tooltip messages ('Maximize src contributor' / 'Restore src contributor') instead of using each own contributor name.
The 'merge info' panel was not properly closed when the splitter was moved. Fixed.
Aesthetical improvements on the 'XMerge' wizard.
The colored 'diff' regions bars were overlapping…
Windows GUI and Windows Mergetool: The colored 'diff' regions bars were overlapping the 'search' bar sometimes. Fixed.
The 'progress wheel' in the 'dynamic pending chan…
Mac OS GUI: The 'progress wheel' in the 'dynamic pending changes' view was not properly centered. Fixed.
Fixed a NullReference exception when trying to de…
Eclipse plugin: Fixed a NullReference exception when trying to decorate the text in the 'WorkspaceRoot' resource.
Undelete command: Since release 5.4.16.748 the [c…
Command line client: Undelete command: Since release 5.4.16.748 the cm undelete
command stopped supporting revision specs by revision id (Example: revid:745
). Now it's supported again.
5.4.16.756
Public | 2016-06-14
New
PlasticDrive feature: [link]https://www.plasticsc…
Windows GUI: PlasticDrive feature: Dokan 0.7.4 is now required to get PlasticDrive working properly.
'add' operation: The 'add' operation performance…
Core: 'add' operation: The 'add' operation performance has been improved.
Our internal benchmark states that initial adding of 51K files and 3.4K folders, the 'add' operation is six times faster than before this release.
Bug
'status' operation: In some circumstances, undoin…
Core: 'status' operation: In some circumstances, undoing a move produces other pending changes to dissapear from the list (but their contents aren't undone) in the workspace. Example:
/
|_ src
|_ lib
|_ foo.c (mv-dst)
|_ foo.c (mv-src)
|_ doc
|_ bar.c (additional-mv-src)
|_ bar.c (additional-mv-dst)
In the scenario described above, when the first move was undone (foo.c
), the additional move (bar.c
) was wrongly removed from the pending changes list. Fixed.
Merge operation: Branch cherry-pick operation was…
Linux (GTK) GUI and Mac OS GUI: Merge operation: Branch cherry-pick operation was not working as expected: It was just picking the changes from the last (HEAD) changeset. Now it's fixed, and all changesets in the selected branch are considered.
5.4.16.753
Public | 2016-06-02
New
Diff configuration for Office files: Updated 'dif…
Windows GUI: Diff configuration for Office files: Updated 'diff' scripts for Office Word, Excel and Powerpoint to support newer versions of Office.
Supported versions: From Office 2007 (except Powerpoint 2007) to Office 2016.
Added a new diff script for 'Open Office Writer'. The Open Office Writer diff script is automatically configured on new installations.
If you already have diff tools configured, you can configure the diff tool by adding the following line to your 'client.conf' file in the 'DiffTools' section as follows:
<DiffToolData>
<FileExtensions>.odt;.ods</FileExtensions>
<Tools>
<string>wscript.exe "C:/Program Files/PlasticSCM/client/diffscripts/diff-odt.vbs" "@sourcefile" "@destinationfile" //E:vbscript</string>
</Tools>
</DiffToolData>
Remember to add it with a higher priority than the default binary diff tool. You can also configure it on the 'Diff Tools' tab in the 'Preferences' dialog form Plastic SCM GUI for Windows.
Updated server log configuration file. This new c…
Mac OS Server Installer: Updated server log configuration file. This new config file allows to classify log messages in different files according to their severity.
Added 'Delete changeset' context menu option to '…
Linux GUI (GTK) and Mac OS GUI: Added 'Delete changeset' context menu option to 'Changesets' and 'Branch Explorer' views. This new option is available inside 'Advanced options' submenu.
Bug
The 'History' panel on the 'Checkin' view was not…
Gluon: The 'History' panel on the 'Checkin' view was not properly refreshed when the lock of the modified file was kept after the checkin operation. Fixed.
Fixed connectivity issues between OnTime issue tr…
Axosoft OnTime issue tracker: Fixed connectivity issues between OnTime issue tracker extension and the OnTime API.
Improved the way the sync process calculates whet…
P4 sync: Improved the way the sync process calculates whether the p4 user has enough privileges to push plasticscm changesets into p4 depot. Moreover, this check is omitted if no extra privileges are required (flag --bypassmetadatatocomment
is passed as argument to the cm sync
command in order to write username and date on p4 changelist comments instead of their metadata fields).
Fixed a localization issue in the mergetool optio…
Windows Mergetool: Fixed a localization issue in the mergetool options menu.
5.4.16.750
Public | 2016-05-18
New
Now it is possible to add private files inside a…
Gluon: Now it is possible to add private files inside a directory that exists on the server but it's not configured in the workspace (so, it appears as 'Private' in the workspace explorer). The folder will be automatically loaded in the check-in operation in order to allow adding the file.
Improved 'partial read-only xlinks' feature in Pl…
Gluon: Improved 'partial read-only xlinks' feature in Plastic Gluon workspaces where multiple xlinks pointing to the same repository are loaded.
The FMOD Studio plugin is now compatible with ver…
FMOD Plugin: The FMOD Studio plugin is now compatible with version 1.08. Please contact us at info@codicesoftware.com
for further info.
Restrict 'read' access to certain paths (A.K.A. '…
Security: Restrict 'read' access to certain paths (A.K.A. 'pruned workspace' feature, first released in version 5.4.16.746): Denying 'read' access permission to the root item was causing 'null reference' exceptions when trying to update the workspace or view repository contents. Nevertheless, this case was a known limitation.
Now, the 'read' permission can be safely revoked from the root item, which will result in receiving an empty items tree. However, we suggest users to deny access to the desired repository instead.
Now it is possible to show the 'Path permissions'…
Windows GUI: Now it is possible to show the 'Path permissions' dialog from the 'items' view context menu, even if the repository of the selected item was loaded multiple times in the workspace.
New 'Diff' options have been added to the context…
Linux (GTK) GUI: New 'Diff' options have been added to the context menu on 'Automatic merges' tab in the 'Merge' view.
Bug
The user name textbox was not filled on the 'Rese…
Users management server tool (A.K.A. umtoolgui
): The user name textbox was not filled on the 'Reset Password' dialog. Fixed.
Sometimes, Plastic Gluon gets stucked in the 'Loa…
Gluon: Sometimes, Plastic Gluon gets stucked in the 'Loading...' status just after opening the application. Fixed.
5.4.16.749
Public | 2016-05-16
New
Introduced a new configuration setting in server.…
Server: Introduced a new configuration setting in server.conf to be able to finely tune the different buffer pools used by the server.
The new setting has the following format:
<BufferPoolSizes>DataPacketBufferPool=10;DataPacketPool=20;TreeBufferPool=5</BufferPoolSizes>
It is helpful on multi-core servers under heavy load to reduce contention and make better use of the underlying CPU power. This way you can avoid cores to lock waiting on an available buffer, at the expense of consuming more memory.
Buffer pools are used to avoid unwanted memory allocations to manage data to be serialized and sent to the client. Continuously allocating and freeing memory is bad in terms of performance and overall memory usage.
If your server is under heavy load (teams with hundreds of developers) and you think you can benefit from this setting, please contact us first so we can help you optimize the server. The goal is to create a comprehensive server tuning guide, but it is not yet there at this point.
Now it is possible to cancel a 'process all merge…
Linux (GTK) GUI and Mac OS GUI: Now it is possible to cancel a 'process all merges' ongoing operation.
When 'macplastic' or 'gtkplastic' applications we…
Linux (GTK) GUI and Mac OS GUI: When 'macplastic' or 'gtkplastic' applications were launched with the '--configure' option and the client configuration file didn't exist, a warning message appeared instead of opening the configuration window. Fixed.
Now, the 'fast-update' feature is able to load an…
Update operation: Now, the 'fast-update' feature is able to load an added xlink under an added directory.
Bug
Fixed an issue that was able to crash a server wh…
Server: Fixed an issue that was able to crash a server when dealing with socket disconnections. It was very unlikely to happen (only seen it twice in a Linux server, never in all other installations). The address of the client was tried to be retrieved when the socket was no longer connected, raising an unhandled exception. Fixed now.
5.4.16.748
Public | 2016-05-09
New
Added support to allow repositories containing Xl…
XLinks: Added support to allow repositories containing Xlinks to be Xlinked multiple times from a single separate repository.
IMPORTANT REMARKS: The following scenarios are not allowed while upgrading to this version:
Merges in progress or pending to checkin: Please finish any merge in progress and checkin/undo its changes before upgrading.
User-defined changelists with pending changes inside an xlinked repository.
Please move all pending changes inside user-defined changelist to the default changelist, or checkin/undo them before upgrading.
Tranformer rules: Please undo any transformer rules in your workspace (or remove the workspace entirely) before upgrading.
Bug
'Branches' view on tree mode was not properly sho…
Windows GUI: 'Branches' view on tree mode was not properly showing the results when using a custom query. If parent branches of those that really match with the query aren't included in the result set of the query, the matched branches won't be shown. Fixed: now, several subtrees with all the expected branches are built and the expected branches are shown on the result view.
5.4.16.747
Public | 2016-05-05
New
The performance of the secured path permissions c…
Security: The performance of the secured path permissions check has been improved by 80% for big trees ( > 700K items).
Now, you can merge a selection of files in the Me…
Linux (GTK) GUI and Mac OS GUI: Now, you can merge a selection of files in the Merge view, instead of having to process all merges at once.
Updated to version 2.5. The workspace issue in cr…
Jenkins CI plugin: Updated to version 2.5. The workspace issue in cross-platform setups (workspaces were being always removed before build, regardless of the "Use update" option value) has been fixed.
Added compatibility with Bamboo 5.10. Warning! Th…
Bamboo plugin: Added compatibility with Bamboo 5.10. Warning! The Bamboo Plastic SCM plugin is now incompatible with Bamboo versions 3.x and older.
Bug
Very rarely the Sync View failed with a "Binary S…
Sync View: Very rarely the Sync View failed with a "Binary Stream '0'" error. If you were unlucky enough to see one of these, don't worry, you are safe now. It was a very rare bug, hard to reproduce, that almost nobody suffered. It has been fixed thanks to Unai Landa from Digital Legends ;-).
The wild and crazy bug has been around for about 7 years and it was a problem in the network layer. The server zips every response sent back to the client. When the compression didn't succeed (very rare) the client was eating some header bytes incorrectly, expecting compression to happen. Then the error showed up. Fortunately, it has been caught and jailed.
5.4.16.746
Public | 2016-04-25
New
Now it is possible to restrict "read" access to c…
Security: Now it is possible to restrict "read" access to certain paths so that some parts of the repository are not visible to certain users. It is useful in centralized setups where sensitive areas of the project must be protected in such a way they can't even be seen by some project members.
The way to secure the paths is very easy: just deny or remove the "read" permission for certain paths (what we know as "secured paths" internally).
This way the users without effective "read" permissions won't be able to download (doing update) these secured paths. These paths won't be visible in diffs or merges either.
What happens during merge? If a user needs to merge a branch and there are changes in a path he can't "read", the merge will fail notifying that the merge can't proceed due to security restrictions.
Note about effective permissions: remember that permissions on paths inherit from repository permissions and can be applied to all branches or a subset of branches.
Most relevant behavior changes:
The update operation will not download files and directories where the user doesn't have "read" permission.
The diff operation will filter out the differences. If the source of the diff can't be seen, the diff won't be visible. (Remember there is always a "src" and "dst" on diffs).
The merge is rejected if the user doesn't have "read" permission for any change in the source contributor.
Current known "issues": There are some issues that will be fixed in the upcoming releases, but they are present in the current version:
If the user doesn't have "read" permission for the root item, any try to update or view the repository content will end up in a "null exception". This is an ugly one that will be fixed soon, but it doesn't make sense to remove root "read" permission (it is better to deny access to the repo).
The update-merge (you know, when you are on a branch, you have checkouts, you update to latest, and your checkout is simply moved to latest using a merge under the hood) will fail with a weird message if there is a local change (co/add/rm/mv) under a location where the user doesn't have "read" permission anymore (you had permissions, you downloaded the content, and then someone remove access to this path). The message will be something as follows: "item 12386 could not be found in the tree. The new tree cannot be built". While the error is ugly, we consider it will be an uncommon case, so we decided to release and fix the issue later.
When you configure path permissions for an Xlink directory entry, the permissions are applied to the root path of the Xlinked repository instead of the specified path in the parent repository, which will lead to the same issues defined in the first 'known issues' point. This is something we need to get fixed soon. Example: you have /src/subrepo => pointing to /@cset:1320@opengl-lib. Well, you try to set permissions to /src/subrepo but they are set to /@opengl-lib instead, which is not what you really want to achieve. We'll fix it ASAP.
Remarks:
GitSync & GitServer ignore any path based security.
You must update both clients and servers to take advantage of this new security functionality.
Diff will show secured paths if the user has permissions to "read" the change in the destination changeset. We still have to decide whether
If the user has permissions to "read" an item/path, he will have permissions to see all its revisions from the history views.
In distributed scenarios, enable the following setting inside server.conf: true. This will reject operations when the path permissions of a revision cannot be checked because its changeset was not replicated yet.
It is recommended to configure the path based security to protect "read access" prior to start using the repository. Otherwise, the admins must take into account that the users will have to run update operations (without local changes) to propagate the new "read" permission rules to their workspaces and avoid further issues with the fast-update, merge & update-merge operations.
Partial readonly Xlinks are now available
XLinks: Partial readonly Xlinks are now available!!
We finally added support for "partial Xlinks" (readonly) as requested on top User Voice request.
It means that from now on you can Xlink not only to the root of another repo, but also to any path inside, mounting a "subtree" on the parent repo. The reason why "writable partial Xlinks" are not supported yet is because they would overly complicate the merge (what if you have conflicts on parts you are not mounting?).
Remarks:
- At this point you need to use the command line to create Partial Xlinks. GUI support will come soon.
Restrictions:
- This restriction only applies to the Plastic Gluon client. It is not recommended to use the 'partial readonly Xlink' feature in Gluon workspaces where multiple Xlinks pointing to the same repository are loaded. The reason is that Gluon workspaces use a single cache per repository, so if there are multiple Xlinks pointing to the same path with different root paths, it can potentially lead to weird issues.
Improved 'switch workspace' usability. From now o…
Gluon: Improved 'switch workspace' usability. From now on, when a user switches to a new workspace, other Gluon windows + 'switch workspace' dialog will be closed.
(Nevertheless, this new behavior can be overrided by choosing to keep them open with the new option: 'open workspace in a new window').
We did this due to we had feedback from several users suggesting that having too many open windows wasn't comfortable.
The 'merge' view is now automatically closed afte…
Windows GUI: The 'merge' view is now automatically closed after a 'merge-to' operation. Also, the dialog to enter comments has been aesthetically improved.
Bug
The replication operation was being silently canc…
Cloud: The replication operation was being silently canceled on the server side (the client operation finished without errors) when performing big push operations to the cloud server (Example: When the 'introducing data'/'data upload' steps were taking more than an hour). Fixed.
Under uncommon circumstances, MacPlastic GUI didn…
Mac OS GUI: Under uncommon circumstances, MacPlastic GUI didn't show the 'create branch' dialog when the context menu option was clicked. Fixed.
The 'diff' viewer was not refreshed after undoing…
Mac OS GUI: The 'diff' viewer was not refreshed after undoing all changes when there were private files. Fixed.
Sometimes, the application was performing unneces…
Mac OS GUI: Sometimes, the application was performing unnecesary server queries in a short period of time to retrieve branch information to be displayed on the 'Workspace Explorer'. Fixed.
Under uncommon circumstances, an 'item already ex…
Linux (GTK) GUI and Mac OS GUI: Under uncommon circumstances, an 'item already exist' error was thrown when trying to check-in items from 'dynamic pending changes' view. Fixed.
A 'null reference' error was thrown when the 'dif…
Linux (GTK) GUI: A 'null reference' error was thrown when the 'diff' window was closed when the diffs calculation progress didn't finished. Fixed.
All Plastic SCM clients were having trouble on ap…
Client core: All Plastic SCM clients were having trouble on application startup if they had global configuration setup enabled ('plastic-global-config' repo) against a SSL server. Fixed.
The Proxy Server service was unable to start due…
Proxy Server Windows Installer: The Proxy Server service was unable to start due to a missing file. Fixed.
'Push' & 'Pull' operations were failing when the…
Replication: 'Push' & 'Pull' operations were failing when the metadata size of a replica was bigger than 2GB. This issue was only affecting to huge replica operations. Nevertheless, the issue is now fixed.
SemanticSCM: When diffing a declaration from 'vis…
Windows GUI: SemanticSCM: When diffing a declaration from 'visual diff' feature, the newly created 'diff' window was not focused. So, pressing 'Alt + F4' was closing the 'visual diff' window instead of the 'diff declaration' window. Fixed.
5.4.16.743
Public | 2016-04-14
New
conflicts detection on merge operation has been i…
Merge operation: conflicts detection on merge operation has been improved: Conflicts involving files with no changes were previously handled as automatic merge conflicts during the merge. These conflicts are now discarded on the server, so they will no longer appear in the conflict list.
Bug
Sometimes, the 'sync' view replication progress d…
Windows GUI: Sometimes, the 'sync' view replication progress dialog wasn't properly handling 'retry' or 'skip' actions, leading to an infinite number of blocking error messages. Fixed.
'Diff' viewer: The first difference was not focus…
Mac OS GUI: 'Diff' viewer: The first difference was not focused after loading differences. Fixed.
Unchanged regions were wrongly painted in the tex…
Linux (GTK) Mergetool and Mac OS Mergetool: Unchanged regions were wrongly painted in the textboxes and splitters as if they were a kind of difference. Also, the red color used for the splitter regions with conflicts was not correct. This bug, which happens since 5.4.16.742, has been fixed.
When moving or dragging & dropping a changed file…
Visual Studio plugin: When moving or dragging & dropping a changed file in the 'Pending changes' view, the file was accidentally opened. Fixed: the sensitivity of the drag & drop has been decreased (now there is a 15px threshold) to prevent such mistakes.
This closes the following user voice request: https://plasticscm.uservoice.com/forums/15467-general/suggestions/9888300-provide-a-setting-to-disable-drag-drop-in-pending
5.4.16.742
Public | 2016-04-11
New
New 'Show in Branch Explorer' context menu option…
Windows GUI: New 'Show in Branch Explorer' context menu option has been added in 'Branches', 'Changesets' and 'Labels' view. This action shows the selected branch, changeset or label in the 'Branch Explorer', scrolling to it directly (unless the object is not shown due to the current 'Display options' settings, such as date filter).
This closes the following user voice request: https://plasticscm.uservoice.com/forums/15467-general/suggestions/5125136-show-this-changeset-in-branch-explorer
The FMOD Studio plugin is now compatible with ver…
FMOD Studio plugin: The FMOD Studio plugin is now compatible with version 1.07 and higher. Two script files are now needed to enable Plastic SCM inside FMOD Studio: PlasticSCM.sc.js and PlasticSCM.js.
Warning! The previous 1.06 plugin script is not compatible with FMOD Studio 1.07 and higher. Please make sure you're using the appropriate scripts for your FMOD Studio version.
Added a new option to add files to the 'ignored l…
Gluon: Added a new option to add files to the 'ignored list' both in 'pending changes' and 'explore workspace' views.
New 'owner' field added to 'Explore changesets on…
Windows GUI: New 'owner' field added to 'Explore changesets on this branch'.
This closes the following user voice request: https://plasticscm.uservoice.com/forums/15467-general/suggestions/12528672-show-author-on-each-entry-in-explore-changesets-o
From now on, all filter configuration files ('ign…
From now on, all filter configuration files ('ignore.conf', 'hidden_changes.conf', 'cloaked.conf', etc.) will check the global config as well as current workspace config and local client config files. A 'workspacetree' directory will be expected for each configured repository. Users/admins can store their config files inside it.
For instance, you can configure your 'plastic-global-config' repository to store a global cloaked configuration for all its repositories:
/allrepos/workspacetree/cloaked.conf
This closes the following user voice request: http://plasticscm.uservoice.com/forums/15467-general/suggestions/9393426-extend-global-configuration-to-cover-cloaked-ig
REMARK: Starting from release 5.4.16.760, the preferred location for these files is the corresponding workspace directory, not 'workspacetree' folder. (Although 'workspacetree' folder will be still supported for backwards compatibility reasons).
Usability improvements
Windows Mergetool: Usability improvements:
Diff/Merge: The deleted regions are now represented in the editors.
Merge: Improved solved/unsolved conflicts visualization. When the conflict is pending to solve, a red line around the conflict is displayed. Once the conflict is solved, the line turns to green color. The border line is also visible in the result textbox.
Merge: Added a new option in the editor options menu to allow the user to view border lines for unselected regions.
Bug
When using the mergetool to diff two files semant…
Windows Mergetool: When using the mergetool to diff two files semantically, the diff options panel, in the lower right, was not being displayed correctly. Fixed.
This closes the following support ticket: https://plasticscmsupport.zendesk.com/agent/tickets/9278
Some views didn't remember user selection after r…
Windows GUI: Some views didn't remember user selection after refreshing the view (such as 'changesets', 'labels', 'attributes', 'shelves', 'code reviews' and 'attributes'). Fixed.
This closes the following user voice request: https://plasticscm.uservoice.com/forums/15467-general/suggestions/9778593-maintain-selection-on-update-of-changeset-list
Fixed an error that was happening after creating…
Windows GUI: Fixed an error that was happening after creating a repository from a 'Select Repository' dialog invoked from a 'Create Workspace' dialog.
The 'Select Repository' dialog wasn't being refre…
Windows GUI: The 'Select Repository' dialog wasn't being refreshed after repository creation. Fixed.
SemanticSCM: When clicking in the 'diff' action f…
Windows GUI: SemanticSCM: When clicking in the 'diff' action from the visual diff dialog, the diff window appeared hidden in background. Fixed.
5.4.16.740
Public | 2016-04-01
New
directory sizes are now displayed on 'Workspace e…
Gluon: directory sizes are now displayed on 'Workspace explorer' view. A new option has been added to the workspace explorer view menu which allows to include / exclude private items when calculating directory sizes.
Remarks: If private items are excluded, the size of the private files will still appear in the workspace explorer view. However, the private directory sizes will not be calculated and all private items will be discarded when calculating non-private directory sizes.
From now on, servers configured to use Active Dir…
Server - User Authentication: From now on, servers configured to use Active Directory or LDAP authentication will show more descriptive errors if a user cannot be translated during a push/pull operation due to unexpected Active Directory or LDAP server errors.
Several usability improvements regarding item sel…
Linux (GTK) GUI and Mac OS GUI: Several usability improvements regarding item selection in views have been made:
The 'Pending changes' view now keeps the previous row selection after refreshing the view.
'Repositories', 'Workspaces', 'Branches', 'Labels', 'Pending changes', 'Shelves' views now keep the selection after delete/undo operations.
Bug
Deleting a file/directory from the command line w…
Linux (GTK) GUI and Mac OS GUI: Deleting a file/directory from the command line while Plastic SCM client GUI application is running were causing certain view drawing errors. Fixed.
5.4.16.739
Public | 2016-03-30
New
GitServer is out! The Plastic SCM server can now…
GitServer is out! The Plastic SCM server can now be configured to work as a Git server and attend push/pull operations directly from Git clients.
It means that you can use the Plastic SCM server as the central server for teams with mixed Plastic and Git users.
But even more important: GitServer works as a universal connector so that any Git compatible tool can now be connected to Plastic. Consider Continuous Integration software, code analysis, DevOps, and so on.
Learn more about GitServer here: https://plasticscm.com/gitserver/index.html
Included support for multiples repositories for P…
Issue trackers: Included support for multiples repositories for Polarion ALM issue tracker extension. Now it is possible to configure this feature by unchecking the 'Default Repository' checkbox from the 'Preferences' > 'Issue Trackers' dialog.
Polarion ALM extension is now bundled with Linux…
Issue trackers: Polarion ALM extension is now bundled with Linux (GTK) GUI.
Plastic SCM now allows label names to have slash…
Labels: Plastic SCM now allows label names to have slash ('/') characters.
The 'Update operation report' dialog now shows wo…
Windows GUI: The 'Update operation report' dialog now shows workspace-relative paths instead of absolute paths.
new 'Save as...' option in the 'Browse repository…
Windows GUI: new 'Save as...' option in the 'Browse repository' window, so you can now save to disk file revisions while browsing a branch or changeset.
A whitelist feature has been implemented to autom…
Proxy server: A whitelist feature has been implemented to automatically accept remote SSL certificates. To do so, create a file named plasticcached.trustedservers.conf
in the proxy server binaries directory. Each line should contain a single hostname. Empty lines and lines starting with the '#' character will be ignored.
Example:
productionserver.mydomain.com
pre.productionserver.mydomain.com
#currently non-trusted servers:
#dev.mydomain.com
New conflict resolution actions implemented for L…
Mergetool: New conflict resolution actions implemented for Linux, Mac and Windows mergetools:
Keep source contributor & exit -> selects the complete source contents as the merge result.
Keep base contributor & exit -> selects the complete base contents as the merge result.
Keep destination contributor & exit -> selects the complete destinaion contents as the merge result.
In Windows mergetool, this feature is available in the 'Save & exit' button.
In Lunux and Mac mergetools, there is a new 'Merge' button in the toolbar to select the desired option, if any.
improved 'search' feature on diff and merge windo…
Linux (GTK) Mergetool: improved 'search' feature on diff and merge windows:
Pressing
Ctrl + F
keys after selecting some text automatically fills the 'search' textbox with the selected text, and search matches are highlighted in the target contributor textbox in a single step.Pressing
Enter
navigates to the next match.Tooltips to the 'search' buttons added.
Bug
When merging file contents with no conflicts amon…
Mergetool: When merging file contents with no conflicts among them, the conflict resolution panel should not appear. Fixed.
diff window was unexpectedly increasing its size…
Linux (GTK) Mergetool: diff window was unexpectedly increasing its size when opening a 'search' panel. Fixed.
The 'Info about this merge' button was not correc…
Windows Mergetool: The 'Info about this merge' button was not correctly toggling the 'Info' panel, so it was not possible to close it once it was opened. Fixed.
Non-default encodings were not properly detected…
Windows Mergetool: Non-default encodings were not properly detected in the 'Encoding' options menu. Fixed.
'Split conflict blocks' menu option fixed. The 'R…
Mac OS Mergetool: 'Split conflict blocks' menu option fixed. The 'Result' panel was not updated with the expected contents after click on this option.
Fixed an 'Index out of bounds' error when changin…
Mac OS Mergetool: Fixed an 'Index out of bounds' error when changing the file encoding to Unicode.
The 'cm find mv' command was throwing a null exce…
Command line client: The 'cm find mv' command was throwing a null exception when it was executed outside a workspace. Fixed.
Diff window: The title of the 'Find in files' fea…
Windows GUI: Diff window: The title of the 'Find in files' feature in the diff window was unreadable. Also, it was hard to distinguish the 'Find matches in ...' and 'Look in ...' menu options from the background. Fixed.
The progress icon was not being shown in the defa…
Windows GUI: The progress icon was not being shown in the default theme and 'Montana' themes in certain windows (such as 'Merge' or the 'Branch / changeset diff' window. Fixed.
Log checkin info to the issue tracker was not wor…
Issue trackers in Linux (GTK) GUI and Mac OS GUI: Log checkin info to the issue tracker was not working in 'TaskOnBranch' mode (Bind issues to Plastic branches). Fixed.
Dynamic 'pending changes' view (from the 'items'…
Linux (GTK) GUI: Dynamic 'pending changes' view (from the 'items' view window): selecting a moved item caused the changed row for the same item (if exists) to be automatically selected also, which maybe is not the desired behavior for the user. Fixed.
Now, to submit a 'moved + contents changed' item, it is neccesary to select the item in both categories ('Moved' and 'Changed').
5.4.16.738
Public | 2016-03-23
New
Plastic Cloud Edition is the sum of the Plastic S…
Plastic SCM Cloud Edition: Plastic Cloud Edition is the sum of the Plastic SCM software plus a Plastic Cloud server and storage all packaged together in a single pay-as-you-go subscription.
Teams can forget about managing infrastructure and licensing since this is all handled by Plastic Cloud.
Client software and local repositories are installed on the developer’s computer, and then they push/pull to the cloud organization (or directly checkin to the cloud using Gluon).
Plastic Cloud Edition is designed with fully distributed teams in mind. Teams that don’t want to consider running their own servers, and prefer hosting everything online.
For further info, please visit https://www.plasticscm.com/plasticscm-cloud-edition
5.4.16.736
Public | 2016-03-10
New
Now it is possible to diff selected chunks of tex…
Windows GUI: Now it is possible to diff selected chunks of text. To do that:
Select the first text chunk from a 'diff viewer' textbox (pending changes view, diff window, merge window...).
Choose 'Add diff selection' option in the context menu.
Select another chunk of text and choose 'Diff with previous selection' option in the context menu.
An external diff tool will raise showing the diffs of the selected text chunks.
Now, a warning message is shown if the communicat…
Gluon: Now, a warning message is shown if the communication with the issue tracker system detects an error when submitting the checkin data log.
New 'Size' column added to the 'History' view. Th…
Linux (GTK) GUI and Mac OS GUI: New 'Size' column added to the 'History' view. The column is only shown for file revisions.
When the merge window is displayed, the tool now…
Mergetool: When the merge window is displayed, the tool now navigates automatically to the first manual confict. If there are no manual conficts, the tool navigates to the first automatic confict, if any.
'search' feature is now available! Just click on…
Mergetool Linux: 'search' feature is now available! Just click on the 'Find...' button located at the toolbar, or press Ctrl + F
after focusing on any contributor's textbox.
The 'Pending changes' view will now display a sid…
Mac OS GUI: The 'Pending changes' view will now display a side panel to link the new changeset to issue tracker tasks. It is required to have an issue tracker extension configured to 'bind issues to Plastic changesets' mode.
How to configure issue trackers on Linux: There are two options:
Using global configuration - https://www.plasticscm.com/documentation/extensions/plastic-scm-version-control-task-and-issue-tracking-guide.shtml#Globalextensionconfiguration
Manually editing the issue tracker configuration, an example using our internal issue tracking system (please note it will be different for JIRA, but you get the idea)
The config is at .plastic4/issuetrackers/yourserver_port/allrepos/configfile.conf
Example:/Users/pablo/.plastic4/issuetrackers/192.168.221.138_6060/allrepos/tts.conf
, and the file contents are as follows:
WorkingMode=TaskOnChangeset
Name=TTS host;Value=tts.com;Type=Host;IsGlobal=False
Name=User;Value=pablo;Type=User;IsGlobal=False
Name=Password;Value=|SoC|veryencrypted;Type=Password;IsGlobal=False
Name=Branch prefix;Value=scm;Type=BranchPrefix;IsGlobal=False
Name=View defect URL;Value=http://tts.com/tts/visualize.php?iddefect={0};Type=Text;IsGlobal=False
Finally, you have to edit the .plastic4/client.conf
file to bind Plastic SCM to the configured issue tracker system. To do that, open the file and add the following contents as an example:
<Extensions>
<Extension AssemblyFile="/Applications/macplastic.app/Contents/MonoBundle/extensions/ttsextension/ttsextension.dll" />
</Extensions>
The 'Create branch' dialog has been completely re…
Mac OS GUI: The 'Create branch' dialog has been completely refurbished. It offers users the possibility to select a pending task from the configured issue tracker to automatically fill in the branch name and comments text fields. Additionally, a request can be sent to the issue tracker to mark the selected task as 'opened'.
Bug
The 'mark task as open in issue tracker' function…
JIRA extension: The 'mark task as open in issue tracker' functionality is now compatible with JIRA >= 7.x.
Fixed path printing in windows when configuring t…
Unity 3D plugin: Fixed path printing in windows when configuring the working path the first time a project is binded to Plastic SCM as VCS system.
If Plastic was configured to use an issue tracker…
Linux (GTK) GUI and Mac OS GUI: If Plastic was configured to use an issue tracker extension in 'Task On Changeset' mode, double clicking the tasks list to add a task to the new changeset didn't properly solve JIRA issue IDs. Fixed.
5.4.16.735
Public | 2016-03-08
New
The 'Pending changes' view will now display a sid…
Linux (GTK) GUI: The 'Pending changes' view will now display a side panel to link the new changeset to issue tracker tasks. It is required to have an issue tracker extension configured to 'bind issues to Plastic changesets' mode.
How to configure issue trackers on Linux: There are two options:
Using global configuration - https://www.plasticscm.com/documentation/extensions/plastic-scm-version-control-task-and-issue-tracking-guide.shtml#Globalextensionconfiguration
Manually editing the issue tracker configuration, an example using our internal issue tracking system (please note it will be different for JIRA, but you get the idea)
The config is at .plastic4/issuetrackers/yourserver_port/allrepos/configfile.conf
Example:/home/pablo/.plastic4/issuetrackers/192.168.221.138_6060/allrepos/tts.conf
, and the file contents are as follows:
WorkingMode=TaskOnChangeset
Name=TTS host;Value=tts.com;Type=Host;IsGlobal=False
Name=User;Value=pablo;Type=User;IsGlobal=False
Name=Password;Value=|SoC|veryencrypted;Type=Password;IsGlobal=False
Name=Branch prefix;Value=scm;Type=BranchPrefix;IsGlobal=False
Name=View defect URL;Value=http://tts.com/tts/visualize.php?iddefect={0};Type=Text;IsGlobal=False
Finally, you have to edit the .plastic4/client.conf
file to bind Plastic SCM to the configured issue tracker system. To do that, open the file and add the following contents as an example:
<Extensions>
<Extension AssemblyFile="/opt/plasticscm5/client/extensions/ttsextension/ttsextension.dll" />
</Extensions>
The 'Create branch' dialog has been completely re…
Linux (GTK) GUI: The 'Create branch' dialog has been completely refurbished. It offers users the possibility to select a pending task from the configured issue tracker to automatically fill in the branch name and comments text fields. Additionally, a request can be sent to the issue tracker to mark the selected task as 'opened' (*).
(*): The 'open task in issue tracker' feature won't work with JIRA versions >= 7.x. This incompatibility will be addressed soon.
5.4.16.734
Public | 2016-03-03
New
Now it is possible to create a repository from 'C…
Gluon: Now it is possible to create a repository from 'Create new workspace' dialog.
Added 'Create XLink' and 'Edit XLink' context men…
Linux (GTK) GUI and Mac OS GUI: Added 'Create XLink' and 'Edit XLink' context menu options in the items view.
Issue tracker task selection dialog before checki…
Windows GUI: Issue tracker task selection dialog before checking-in changes has been visually improved. Also, showed item paths are now workspace-relative paths.
Issue tracker tasks can now be linked through com…
Issue tracker system: Issue tracker tasks can now be linked through comment hashtags. Starting the comment with the '#' character followed by the issue key (and optionally followed by a colon) will log the checkin information in the related issue.
REMARK: This feature is only available if an issue tracker extension is configured in 'Bind issues to Plastic Changesets' mode.
Example: If Plastic SCM is configured to use JIRA, this checkin comment:
#TD-136: Added new texture files.
Will automatically add the checkin information to issue 'TD-136'.
A new variable named [code]PLASTIC_REVIEW_ID[/cod…
Triggers: A new variable named PLASTIC_REVIEW_ID
is available for the following server triggers: after-mkreview, before-editreview and after-editreview. The variable contains the identifier of the review.
Bug
'Options' panel in the 'Branch explorer' view, an…
Visual Studio plugin: 'Options' panel in the 'Branch explorer' view, and 'Properties' panel in other views (such as list of branches, labels, changesets ...) where not properly displayed when using the Visual Studio dark theme. Fixed.
The 'MacPlastic' and 'PlasticSCMServer' installer…
Mac OS Installer: The 'MacPlastic' and 'PlasticSCMServer' installers were not properly saving some configuration files during upgrade. Fixed.
Semantic Method History: Selecting any entry on t…
Windows GUI: Semantic Method History: Selecting any entry on the semantic method history changes list caused an error dialog to appear, leaving the diff control in an inconsistent state. This disturbed the user experience and prevented users from seeing the differences between two method versions. Fixed.
5.4.16.731
Public | 2016-02-23
New
Update operation over a directory now recurses in…
Gluon: Update operation over a directory now recurses into its subdirectories.
Improvements in Gluon support from Unity 3D Plugi…
Unity 3D plugin: Improvements in Gluon support from Unity 3D Plugin:
Assets VCS status now shows remote status flags, such 'Out of Sync' (there are newer changes in the repository) and 'Deleted remotely'.
'Get Latest' context menu option has been implemented in order to allow the user to perform update operation over single assets.
The Plastic SCM REST API listener app is now also…
REST API Linux: The Plastic SCM REST API listener app is now also available on Linux platforms! To start the API listener, type plasticapi
in a console terminal.
To get more info about the REST API, please visit the following link: https://www.plasticscm.com/documentation/restapi/plastic-scm-version-control-rest-api-guide.shtml
Now it is possible to resolve multiple conflicts…
Linux (GTK) GUI and Mac OS GUI: Now it is possible to resolve multiple conflicts in a row in the 'Merge' view.
(There is also a checkbox to allow the user to apply the same action for the next conflicts to resolve).
Bug
Sometimes a 'NullReference' error was displayed i…
Windows GUI: Sometimes a 'NullReference' error was displayed in the 'History 2D' view. Now it's fixed.
The branch explorer's re-layout mode did not work…
Windows GUI: The branch explorer's re-layout mode did not work properly. Branches were not moved when pressing up/down arrow keys. Now it's fixed.
If the preference 'Diff and merge -> Close merge…
Windows GUI: If the preference 'Diff and merge -> Close merge view ... when a merge is completed' is enabled, when using the 'Advanced merge - Merge from this branch to...' feature, the GUI failed with a NullReference exception after the merge was fully done. Now it's fixed.
5.4.16.729
Public | 2016-02-16
New
Enhanced Gluon support from Unity 3D Plugin. A ne…
Unity 3D plugin: Enhanced Gluon support from Unity 3D Plugin. A new button (named 'Select loaded Assets') is available in Unity's 'Versioning' tab. Clicking this button, the Gluon's 'Configure workspace' view will be show, allowing the user to select Assets to be loaded/unloaded in the workspace.
The Assets selection in Gluon automatically selects Unity's '.meta' files if they exist.
The Unity 3D plugin now show progress when downlo…
Unity 3D plugin: The Unity 3D plugin now show progress when downloading incoming changes (update operation).
SemanticSCM: Implemented a mechanism to disable S…
Windows GUI: SemanticSCM: Implemented a mechanism to disable Semantic Diff for certain file extensions. A semanticexcluded.conf
file can be placed inside the Plastic SCM configuration directory: %HOMEPATH%/AppData/Local/plastic4
. This file will contain patterns to match the files to diff. Semantic diff will be disabled for files whose path matches any of those patterns.
Example: Having the following semanticexcluded.conf
file:
*.h
/src/core
The semantic diff won't be displayed for the following items (server path format):
/lib/headers/core.h
/kernel/kernel.h
/src/core/main.cpp
/src/core/modules/network.c
Improved performance when looking for changes (st…
Pending Changes: Improved performance when looking for changes (status command) on disk.
Test performed:
Having a workspace with: 330967 files and 800 Folders (60.7 GB)
Before these performance improvements, the find changes operation took 18 seconds.
Before these performance improvements, the find changes operation took 2,7 seconds.
Greatly improved plugin performance by executing…
FMOD plugin: Greatly improved plugin performance by executing commands in a background shell.
WARNING: requires FMOD Studio version <= 1.06.x
The linux packages will now sync the Mono certifi…
Linux: The linux packages will now sync the Mono certificates with the machine certificates during the install/upgrade, taking advantage of the cert-sync
command bundled with Mono 4.3.
When diffing a branch or changeset and there are…
Linux (GTK) GUI and Mac OS GUI: When diffing a branch or changeset and there are no diffs to show, an informative message appears on the bottom message panel to inform about this fact.
Added default action for shelves view. When doubl…
Linux (GTK) GUI and Mac OS GUI: Added default action for shelves view. When double clicking a shelve, a diff window is launched showing the contents of the shelve.
Bug
'Diff' viewers: Fixed an 'index out of range' exc…
Windows GUI: 'Diff' viewers: Fixed an 'index out of range' exception using the editable diffs in a border-case scenario: Set 'Ignore EOL and whitespaces' comparison method option and then remove a difference in the last line of the file.
The tab order in the 'Diff and merge' preferences…
Windows GUI: The tab order in the 'Diff and merge' preferences page was incorrect. Now it's fixed.
Fixed a 'client authentication mode mismatch' exc…
Unity 3D plugin: Fixed a 'client authentication mode mismatch' exception during the check-in operation from a workspace that points to a different server than the one configured in the client.conf
file.
The main window cannot be resized beyond the scre…
Gluon: The main window cannot be resized beyond the screen size. Now it's fixed.
The theme color of the workspace explorer's 'item…
Gluon: The theme color of the workspace explorer's 'items' tree was not properly restored after entering in 'Configure workspace' mode and come back to the workspace explorer. Fixed.
The cloud encryption dialog was not appearing in…
Linux (GTK) GUI and Mac OS GUI: The cloud encryption dialog was not appearing in the replication operation. Fixed.
The 'items' view was throwing an error when there…
Linux (GTK) GUI and Mac OS GUI: The 'items' view was throwing an error when there was an unresolved xlink in the workspace. Fixed.
Several aesthetic improvements have been made
Linux (GTK) GUI and Mac OS GUI: Several aesthetic improvements have been made:
Missing 'Shelve' icon in the 'Shelves' view has been fixed.
Info displayed in the 'About' dialog has been updated.
Added task bar icons.
Under some circumstances, an 'argument is out of…
Linux (GTK) GUI: Under some circumstances, an 'argument is out of range' exception is thrown when the user changes the selection in the 'Pending changes' view. Fixed.
The 'Diff' viewer was not properly refreshed afte…
Mac OS GUI: The 'Diff' viewer was not properly refreshed after undoing or checking-in all the changes in the pending changes view. Fixed.
Fixed wrapped lines containing tabs in the 'Diff'…
Mac OS GUI: Fixed wrapped lines containing tabs in the 'Diff' and 'Merge' viewers.
when toggling contributors on automatic conflicts…
Linux (GTK) and Mac OS mergetools: when toggling contributors on automatic conflicts, a wrong information was displayed in the conflict resolution panel. It showed that the current conflict was 'non automatic' when it was resolved by the user indeed. Fixed.
Several aesthetic improvements have been made
Linux (GTK) mergetool: Several aesthetic improvements have been made:
Fixed file names padding on diff viewer.
Hide notification message bar when the diff tool is launched.
using the dark theme, the 'Differences' textbox c…
Visual Studio plugin: using the dark theme, the 'Differences' textbox couldn't be read because of an inaccurate foreground color. Fixed.
Unable to list newly created changesets after a '…
Polarion plugin: Unable to list newly created changesets after a 'delete changeset' operation. Fixed.
5.4.16.726
Public | 2016-02-09
New
Upgrade to Mono 4.3. Starting on release 5.4.16.7…
Linux: Upgrade to Mono 4.3. Starting on release 5.4.16.726 all the Plastic SCM packages for Linux distros depend on our build of Mono 4.3.
For months we relied on Mono 3.x, but after detecting stability issues on some distros (specially OpenSUSE 13.2) leading to crashes, we decided to upgrade. The key issue was related to a given zlib packaged on some distros forcing a strange crash on the GTK GUI.
We’ve tested 4.3 for months and it probed to work fine on the scenarios that used to crash. That’s why now we decided to upgrade all Linux packages to depend on our own Mono 4.3 custom build.
(Compiled Mono Source changeset: https://github.com/mono/mono;b6dfce621f70115cd16e75a743cbbdee5ac6610e
)
Added a preference to automatically close the 'me…
Windows GUI: Added a preference to automatically close the 'merge' view and open the 'pending changes' view after processing a merge.
This feature was an 'user voice' request finally implemented: http://plasticscm.uservoice.com/forums/15467-general/suggestions/2838853-close-merge-tab-after-processing-the-merge
New plugin available to show current workspace se…
Visual Studio: New plugin available to show current workspace selector info inside Visual Studio window title.
Source code: https://github.com/PlasticSCM/vstitle4plastic
Bug
The 'Issue tracking' tab on the Preferences dialo…
Windows GUI: The 'Issue tracking' tab on the Preferences dialog wasn't saving some fields after modifying them. Fixed.
Fixed some navigation and scroll issues in the 'd…
Mac OS GUI: Fixed some navigation and scroll issues in the 'diff' viewer:
The 'diff' viewer did not navigate to the last line properly.
The 'current difference' was not properly highlighted when after loading the contents for the first time, or after changing the comparison method.
The 'diff count' labels were not being displayed correctly when the numbers have more than a digit.
'Branch explorer' view: When a workspace was not…
Linux (GTK) GUI and Mac OS GUI: 'Branch explorer' view: When a workspace was not up-to-date, the branch explorer did not display any changeset because the scroll was not correctly set. Now, when this scenario is detected, the scroll is moved to make the last changeset visible.
ReviewBoard plugin adapted to correctly parse the…
ReviewBoard plugin adapted to correctly parse the 'cm lrep' command output.
5.4.16.725
Public | 2016-02-04
New
The context menu 'Add directory tree to source co…
Gluon: The context menu 'Add directory tree to source control' was disabled for controlled items when right clicking on a controlled item. Now it's enabled (it adds all private items under the selected item to the source control).
performance improvements to support thousands of…
Server: performance improvements to support thousands of repositories on a single server:
When a new user is used or an existing user membership was changed, certain unrelated security info was recalculated when it wasn't neccesary. From now on, only the related security info is updated.
The load of active/inactive users only happens on startup now.
ActivityScheduler thread 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.
The ACLs for all repositories are now loaded on server startup instead of on demand.
Added a new flag to [code]server.conf[/code] conf…
Server: Added a new flag to server.conf
config file to disable database upgrades: DatabaseUpgradeDisabled
. It must be set as true on server.conf.
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.
Bug
Several issues have been fixed on the 'diff' view…
Linux GUI (GTK): Several issues have been fixed on the 'diff' viewer:
'Null reference' error was shown when closing the diff window before completing the diff calculations.
'Collection was modified; enumeration operation may not execute' error was shown sometimes when closing the diff window.
The diff search layout was broken when entering text on the search box or resizing the window.
5.4.16.724
Public | 2016-02-02
New
Branch Explorer: Now it is possible to enable/dis…
Windows GUI: Branch Explorer: Now it is possible to enable/disable format rules, inclusion and exclusion rules and reorder format rules.
To enable/disable a specific rule, go to the 'Filters and conditional format' tab in the 'Branch Explorer' options and just click on the checkbox located on the rule definition. Don't forget to click the 'Apply' button afterwards.
To reorder a format rule, use the button in the rule to move it up. Rules are evaluated from top to bottom order. It means, if a branch or changeset matches more than a rule, the first matching rule is applied, discarding the others.
The diff tree view and the sync view tree menus n…
Linux GUI (GTK): The diff tree view and the sync view tree menus now include keyboard shortcuts.
New informative messages added to the diff viewer…
Linux GUI (GTK) and Mac GUI: New informative messages added to the diff viewer: 'identical revisions', 'filesystem permissions changed' and 'encoding changed'.
A new options menu button has been added to selec…
Mac MergeTool: A new options menu button has been added to select 'encoding', 'comparison method' and 'split conflict blocks'.
Now it is possible to diff just two text files. T…
Mac MergeTool: Now it is possible to diff just two text files. To launch a diff just run the mergetool application using the -s=<path_to_left_file>
and -d=<path_to_right_file>
parameters to define the left and right contents to be diffed.
The MacMergetool is now also available as a default diff tool for text files in MacPlastic preferences.
The eclipse plugin can now can import projects fr…
Eclipse plugin: The eclipse plugin can now can import projects from a PSF file with CVS format. To use this feature, go to the 'Package explorer' and choose 'Import' -> 'Plastic SCM' -> 'Projects from a CVS team project set file'.
Bug
[code]plasticd[/code] running on Mono 4.3 had som…
Server: plasticd
running on Mono 4.3 had some issues stopping on several Linux distros. The threadpool failed to finish correctly, raising an exception which prevented network thread and open connections to be closed. This caused the server process to remain alive even when it was asked to stop. This made upgrades end up not updating binaries correctly. It should be fixed now.
If the workspace explorer was configured to show…
Gluon: If the workspace explorer was configured to show items as a list, items appeared as 'not on disk' (with a red icon) after restarting the app. Now it's fixed.
The diff viewer was throwing an error (NullRefere…
Eclipse plugin: The diff viewer was throwing an error (NullReferenceException) when the diffs set had a xlink. Fixed.
The push operation with more than 50 labels or br…
Cloud: The push operation with more than 50 labels or branches in the replication package threw an 'object reference not set' exception. Fixed.
Edit lock rules are failing on organizations with…
Cloud: Edit lock rules are failing on organizations with capital letters. Fixed.
5.4.16.721
Public | 2016-01-20
New
Now, the 'pending changes' view monitors the file…
Linux GUI (GTK): Now, the 'pending changes' view monitors the file system for changes detection, increasing the 'pending changes' calculation performance.
Previously, each time the user asked for 'pending changes', Plastic SCM walked the workspace directory structure looking for changes. Now, Plastic SCM takes advantage of 'INotify' (when available) to do that.
Although the workspace directory structure is walked the first time the user requests showing the 'pending changes', the next requests will only check the notified 'dirty' directories. As a result, the 'pending changes' calculation will be much faster!
Important remarks:
This functionality is not compatible with shared workspaces (changes done from a remote machine will not be detected).
'INotify' requires a 'watch handle' to be set for each directory in the workspace. Unfortunately, the default limit of watch handles (8192) may not be enough for reasonably sized workspaces, and reaching the limit will force Plastic SCM to disable the usage of this new improvement. So, it is recommended to increase the 'watches' limit to a higher value (e.g. 32768). To do that in Debian, RedHat or SuSE distros, run the following command in a terminal (root privileges required):
echo fs.inotify.max_user_watches= 32768 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
If you are running ArchLinux distros, run the following command instead:
echo fs.inotify.max_user_watches= 32768 | sudo tee /etc/sysctl.d/40-max-user-wa
- To force disabling this new feature, add the following line in the Plastic SCM's 'client.conf' config file:
<WatcherEnabled>no</WatcherEnabled>
Now, private items can be hidden in the 'Explore…
Gluon: Now, private items can be hidden in the 'Explore workspace' view using the context menu option 'Hide private items'.
Now, only the new loaded paths specified by [code…
Gluon CLI (cm partial
): Now, only the new loaded paths specified by cm partial configure
command are downloaded but not any other new content inside a 'fully checked' directory.
(Previously, the new contents inside 'fully checked' directories were always downloaded).
'Add to ignore list' dialog now allows to edit ru…
Windows GUI: 'Add to ignore list' dialog now allows to edit rules before saving them. This option is also available for cloacked elements.
For further info about configuring ignored items, please visit our blog: http://codicesoftware.blogspot.com/2014/11/configuring-ignored-items-on-your.html
Bug
Trying to add + checkin files to a new repository…
Gluon: Trying to add + checkin files to a new repository using Gluon, failed with the following error: 'The operation can't be performed in standard workspaces'. Now it's fixed.
The exclusive checkout rules were not working for…
Cloud: The exclusive checkout rules were not working for submodules. They were wrongly stored on their parent repositories. Fixed.
5.4.16.719
Public | 2016-01-15
New
The agent's workspaces are now created in the sta…
TeamCity plugin: The agent's workspaces are now created in the standard build directory instead of placing them inside subdirectories.
From now on, the workspace path textbox in the co…
Gluon: From now on, the workspace path textbox in the configuration window (gluon.exe --configure
) will be autocompleted using the selected repository name.
Connections to remote, non profiled servers are n…
Gluon: Connections to remote, non profiled servers are now supported. Gluon will prompt users for the remote server credentials if needed.
SSL certificates from Plastic SCM servers can now…
Gluon: SSL certificates from Plastic SCM servers can now be accepted.
A new option has been added to the 'pending chang…
Linux GUI (GTK) and Mac OS GUI: A new option has been added to the 'pending changes' view in order to enable/disable notifications of newer changes in the current working branch, and optionally apply those newer changes in the workspace.
Bug
Fixed an out of range exception when enabling the…
MergeTool Windows: Fixed an out of range exception when enabling the 'Ignore EOL and whitespaces' option.
Fixed an out of range exception using the XMerge…
MergeTool Windows: Fixed an out of range exception using the XMerge feature when the replaced selection was at the end of the file.
After applying newer changes from the repository…
Client core: After applying newer changes from the repository from the current working branch in the workspace (a.k.a. update-merge), and the workspace revision of an item had the same content than the server revision recently applied, the workspace revision metadata was not properly updated. As a result, when a further change in that item is about to be checked-in, the checkin operation will fail with a 'The parent revision of the item X is inconsistent with the loaded one in the changeset…' error. Fixed.
Fixed an 'ArgumentOutOfRangeException' using the…
MergeTool Windows: Fixed an 'ArgumentOutOfRangeException' using the XMerge feature when the replaced selection was at the end of the file.
5.4.16.717
Public | 2015-12-23
New
MergeTool (xmerge!) gets a new look to get ready…
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.
Mac Mergetool is out! The native mergetool for Ma…
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.
New Christmas greetings 'About' dialog
Windows GUI: New Christmas greetings 'About' dialog.
5.4.16.712
Public | 2015-12-17
New
Automatic checkout on agent is now supported
TeamCity plugin: Automatic checkout on agent is now supported.
REMARK: Path-mapping checkout rules (e.g. +:mypath => mypath/is/now/mapped
) are not currently supported!
Requesting encrypted data from cloud server will…
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).
Implemented a new diff view in eclipse. This view…
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
The cloud encryption password was not requested t…
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
Public | 2015-12-14
New
[code]cm shell[/code] input was not being read wh…
Command Line Interface: cm shell
input was not being read when cm
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.
The [code]--ignorefailed[/code] option available…
Gluon CLI (cm partial): The --ignorefailed
option available for certain commands (such as configure
, checkout
and add
) has been improved to support missing items and other path-related issues.
Bug
Removed lines in the result textbox are now read-…
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.
Fixed some strings in Spanish language that were…
Installers: Fixed some strings in Spanish language that were wrongly displayed due to an encoding issue.
(a.k.a. 'admintool.exe') The tool was overriding…
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
Public | 2015-12-11
New
The 'Pending changes' view now allows to launch f…
Eclipse plugin: The 'Pending changes' view now allows to launch file diffs when double-clicking an item.
Remark: Deleted items don't show differences.
Two new endpoints have been implemented to addres…
REST API: Two new endpoints have been implemented to address possible URI ambiguities:
a) /api/v1/repos/:repname/branches/:branchname/contents?item=:itempath
-> It retrieves the revision metadata of itempath
located in the last changeset of branch branchname@repname
(This endpoind extends the already existent endpoint to retreive revision metadata: /api/v1/repos/:repname/branches/:branchname/contents/:itempath
)
b) /api/v1/repos/:repname/branches/:branchname/history?item=:itempath
-> It retrieves the revision history of itempath
located in the last changeset of branch branchname@repname
(This endpoind extends the already existent endpoint to retreive revision history: [code[/api/v1/repos/:repname/branches/:branchname/history/:itempath[/code] )
The name of a new branch with any leading/trailin…
Branch naming: The name of a new branch with any leading/trailing whitespaces will be trimmed before creating it.
[code]cm diff[/code] command now accepts new outp…
Command Line Interface: cm diff
command now accepts new output format parameters: {date}
, {owner}
and {srcfsprotection}
The 'Open in Windows Explorer' menu option was op…
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
SemanticSCM: An 'index was out of range' error wa…
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.
'New branch' dialog: The 'Switch workspace to thi…
Windows GUI: 'New branch' dialog: The 'Switch workspace to this branch' checkbox was disabled while the issue tracker query was still running. Fixed.
Sorting by size in the 'Pending changes' view was…
Windows GUI: Sorting by size in the 'Pending changes' view was not working as expected. Fixed.
Reloading the 'Pending changes' view did not refr…
Linux GUI (GTK) and Mac OS GUI: Reloading the 'Pending changes' view did not refresh the diff/contents panel. Fixed.
'Resolved' bugs were not showing up on the 'Branc…
JIRA Issue tracker extension: 'Resolved' bugs were not showing up on the 'Branches view' and 'Branch explorer' view. Fixed.
[code]cm diff[/code] command was showing a crypti…
Command Line Interface: cm diff
command was showing a cryptic error message when a changeset without a parent changeset (e.g. cs:0) was selected for diff. Fixed.
[code]cm diff[/code] command was always using the…
Command Line Interface: cm diff
command was always using the repository of the current workspace for branch diffs, instead of parsing the branch spec. Fixed.
The [code]TriggerVariables[/code] settings were w…
Triggers: The TriggerVariables
settings were wrongly removed from the client configuration when the Plastic SCM GUI was restarted. Fixed.
Fixed some typos in the installer's text fields
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.
During the upgrade of the Plastic SCM server, the…
Server configuration tool: During the upgrade of the Plastic SCM server, the license could be wrongly overridden. Fixed.
The tool wasn't loading & saving the configuratio…
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
Public | 2015-11-24
New
The new Linux native 3-way mergetool (a.k.a. 'gtk…
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.
New context menu options on the 'Branch Explorer'…
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.
Image preview has been greatly improved. Now, thu…
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.
Selected item in checkin view is preserved (if po…
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.
when you do your first push or push to Plastic Cl…
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.
The checkin data log in JIRA will now show a warn…
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.
the 'Gluon mode' configuration parameter is now a…
Unity plugin: the 'Gluon mode' configuration parameter is now an optional parameter. By default, the 'Gluon mode' parameter is set to 'false'.
Added [code]clconfigureclient[/code] application…
Mac OS Installer: Added clconfigureclient
application shorcut to /usr/local/bin
, so it can be launched from any working directory.
The [code]cm[/code] command line client applicati…
Mac OS Command Line Interface: The cm
command line client application can now be run in Mac OS El Capitan. Prior to this version, the cm
application was not calculating properly the working directory used for relative paths arguments.
Added shortcuts to navigate first/previous/next/l…
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.
[code]cm fast-import[/code] command: lightweight…
Command Line Client: cm fast-import
command: lightweight tags (using the 'reset' + 'from' keywords) are now supported.
'Size' columns now appear aligned to the right on…
All GUI clients: 'Size' columns now appear aligned to the right on all Plastic SCM GUI's.
Bug
Excluding branches in the sync view was taking an…
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.
private read-only items couldn't be deleted. An e…
Gluon: private read-only items couldn't be deleted. An error 'Access to the path is denied' was thrown. Fixed.
The 'Esc' key was not cancelling the 'undo change…
Gluon: The 'Esc' key was not cancelling the 'undo changes' operation in the confirmation dialog. Now it's fixed.
In some circumstances, the regions of the contrib…
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.
The [code]configureserver[/code] and [code]admint…
Server configuration tools: The configureserver
and admintool
applications were unable to retrieve licensing info on auto-renewal setup. Fixed.
Also, the user authentication method wizard was not properly disabling unallowed auth modes for non-enterprise licenses. Fixed.
5.4.16.704
Public | 2015-11-18
New
The [code]cm add[/code] and the [code]cm partial…
Command Line Interface: The cm add
and the cm partial add
(gluon CLI) commands now accept a new parameter: --ignorefailed
. This new parameter allows to skip items that cannot be added without rejecting the whole add operation.
REMARK: If a directory cannot be added, none of its inner items will be added either.
Security checks for 'Branch Explorer' view and [c…
Server: Security checks for 'Branch Explorer' view and cm find
command (used also by all views in the GUI's) have been greatly improved with Plastic Cloud in mind, but it will be a big plus for regular servers too.
Bug
Fixed several error messages that were dumped on…
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
When the user clicked on the Windows's 'X' button…
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.
The [code]cm find[/code] command used with [code]…
Command Line Interface: The cm find
command used with on repository
option was incorrectly listing all repos even when it was not needed. It caused a perf impact under heavy load. Fixed.
5.4.16.701
Public | 2015-11-06
New
Improved 'Diff' window performance when there are…
Linux GUI (GTK): Improved 'Diff' window performance when there are a large number of rows. Loading, sorting and filtering now perform faster.
'Diff' window: The 'Filesystem permission changes…
Linux GUI (GTK): 'Diff' window: The 'Filesystem permission changes' category has been added to the 'Diff' categories.
Changed the mouse wheel behavior in 'Branch Explo…
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.
New 'Options' button added to the embedded 'Diff'…
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).
The way to accept and install SSL certificates on…
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.
several core improvements to increase performance…
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
SemanticSCM: Fixed an error when the files cannot…
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.
Opening the 'Items' view when the remote server i…
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.
The filter was causing inconsistencies in the vis…
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.
Setting up several external agents on the same ma…
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.
Pushing data to Cloud Server (or an encrypted ser…
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.
The 'Item' -> 'Diff' -> 'Diff revisions' dialog w…
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
Public | 2015-10-29
New
Plastic SCM can now be configured to work on FIPS…
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 server.conf
and client.conf
files:
<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 file
ssl-certificate.pfx
in the Plastic SCM server installation folder to use SSL. The server log will say "WARN Channel - Failed to autocreate sha256 self-signed certificate (file: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.
SemanticSCM: Built-in semantic diff now includes…
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.
Added 'Diff' key shortcut [code]Shift + Ctrl + D…
Windows GUI: Added 'Diff' key shortcut Shift + Ctrl + D
to the following views:
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
The 'Diff' viewer was not available in OS X 10.11…
Mac GUI: The 'Diff' viewer was not available in OS X 10.11 (El Capitan). Fixed.
'Branch Explorer' view: If a merge link was hover…
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.
On the changesets view, double-clicking on a grou…
Gluon: On the changesets view, double-clicking on a group header caused a null reference exception. Fixed.
On the changesets view, double-clicking on the co…
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.
The pending changes view was not automatically sc…
Linux GUI (GTK): The pending changes view was not automatically scrolling to the first difference when switching among files. Fixed.
SemanticSCM: In some scenarios, the differences w…
Windows GUI: SemanticSCM: In some scenarios, the differences were not correctly painted for C language files. Fixed.
Ampersand ('&') character was not properly encode…
Windows GUI: Ampersand ('&') character was not properly encoded on several views (Changesets, Branches, Labels, Blog News...). Fixed.
User Management tool ([code]umtool[/code]): Fixed…
Server: User Management tool (umtool
): Fixed typo in a warning message asking the user to restart the server to apply changes made by the tool.
A 'null reference' error was thrown when there ar…
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
Public | 2015-10-23
New
A new native, side-by-side 'diff' viewer is out!…
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.
Now [code]cm diff[/code] on windows works correct…
Command Line Interface: Now cm diff
on windows works correctly with command line diffs.
Custom 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 "/window
" flag is the default, no need to set it.
And "/nowindow
" flag is the old default, it doesn't allow a window to be created, good for GUI tools.
Performance: Improve 'Pending changes' view perfo…
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.
A message bar has been added in the embedded diff…
Linux GUI (GTK): A message bar has been added in the embedded diff viewer in order to show the noticeable messages for the user.
The 'Apply configuration' operation now shows a r…
Gluon: The 'Apply configuration' operation now shows a report if something goes wrong loading or unloading files (just like the 'update' operation does).
Settings can now be customized per repository. Di…
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 the following link: https://www.plasticscm.com/documentation/extensions/plastic-scm-version-control-task-and-issue-tracking-guide.shtml#Globalextensionconfiguration
Added build parameters support. Jenkins allows to…
Jenkins plugin: Added build parameters support. Jenkins allows to define certain build parameters (https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Build)
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
%parameter_name%
. In this case you could write a selector as follows:
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
When a changeset was a result of a merge, Jenkins…
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.
After checking out a file in the 'items' view, th…
Windows GUI: After checking out a file in the 'items' view, the status column was not properly updated. Fixed.
Fixed several aesthetic issues in 'server-only' i…
Windows Installer: Fixed several aesthetic issues in 'server-only' installer.
5.4.16.698
Public | 2015-10-16
New
Embedded 'diff' viewers are now capable of showin…
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.
New actions implemented in 'Compare With' menu
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
Support for Eclipse-registered comparators when s…
Eclipse plugin: Support for Eclipse-registered comparators when showing diffs has been implemented.
Bug
In the query views, when there are elements from…
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.
A 'null reference' error was thrown sometimes whe…
Linux GUI (GTK): A 'null reference' error was thrown sometimes when closing the main window when it was opened from 'workspace switcher' window. Fixed.
The Admin Tool database migration had issues copy…
Server: The Admin Tool database migration had issues copying between SQLServer CE and SQLite. Fixed.
Several aesthetical issues have been fixed. Also,…
Windows GUI and Windows Installer: Several aesthetical issues have been fixed. Also, fixed alignment in 'XMerge' information dialog.
5.4.16.696
Public | 2015-10-09
New
A new 'Team -> Label workspace' action has been i…
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.
All workspace-locking operations have been protec…
REST API: All workspace-locking operations have been protected against simultaneous requests.
Bug
The 'diff' viewer was showing an error when click…
Linux GUI (GTK): The 'diff' viewer was showing an error when clicking on a changed file. Fixed.
Several fixes have been performed in the embedded…
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.
In some circumstances, an 'out of range' error is…
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
Public | 2015-10-07
New
New version of [code]mergetool.exe[/code] includi…
Mergetool for Windows: New version of mergetool.exe
including a greatly improved text editor.
Xmerge (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!
The JIRA Extension now supports the JIRA REST API…
JIRA issue tracker extension: The JIRA Extension now supports the JIRA REST API. Checkout the following URL to get info about configuring the JIRA Extension:
Changeset Guid is now available in the 'checkin l…
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 PM
Changeset 4424@default@localhost:8084 by dhernandez
Changeset guid: 5372daf7-f740-4d05-b9d2-a30823907bb2
Branch: /main/scm029
Comments: Rename csproj files
Items:
Changeset 4424@default
M /client2008.csproj -> /client2010.csproj
M /server2008.csproj.-> /server2010.csproj
macplastic installer is now compatible with Mac O…
Mac OS installer: macplastic installer is now compatible with Mac OS 'El Capitan'.
The [code]cm[/code] application bundled with macp…
Command Line Interface: The cm
application bundled with macplastic installer didn't have the required libraries to run cm sync
command properly. Fixed.
The lists of users, groups and group members are…
User/Password management tool GUI: The lists of users, groups and group members are now alphabetically sorted. The groups are shown before the users.
'Permissions' dialogs: The list of users and grou…
Windows GUI: 'Permissions' dialogs: The list of users and groups, and the list of permissions are now alphabetically sorted.
Bug
'Permissions' dialogs: Fixed an issue which preve…
Windows GUI: 'Permissions' dialogs: Fixed an issue which prevented setting the owner of a repository when there weren't secured paths defined.
'Permissions' dialogs: Fixed an issue with the 'p…
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.
Several aesthetical improvements when the languag…
Windows GUI: Several aesthetical improvements when the language is set to 'Spanish'.
The 'Diff with previous' menu option didn't warn…
Windows GUI and Visual Studio plugin: The 'Diff with previous' menu option didn't warn about possible unsaved changes on the right revision. Fixed.
The result file could miss a 'new line' character…
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.
The pending changes's diff viewer was displaying…
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
Public | 2015-10-02
New
The Windows Explorer Integration (a.k.a. 'Plastic…
Windows Explorer Integration: The Windows Explorer Integration (a.k.a. 'Plastic SCM Shell Extension') is available to be installed again.
before it kept asking once per file. Now it only…
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).
SemanticSCM: Usability improvements for moved cod…
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.
A new option to diff two selected files has been…
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 Diff -> Diff selected items
(Directories can also be selected to launch diff's).
The 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.
Custom shortcuts can now be specified for the def…
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 here: https://msdn.microsoft.com/en-us/library/system.windows.forms.shortcut(v=vs.110).aspx
Take into account that you can define some values that can override the existing predefined shortcuts.
A 'comments' textbox has been added to the 'creat…
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.
The provided GTK# binaries have been updated to v…
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
Embedded diff viewer: Header labels are now text…
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.
'Ctrl+F' accelerator key has been implemented, en…
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. /src/lib
) were not being properly matched. Fixed.
The 'Extended information' panel (that can be sho…
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.
If the 'Extended information' panel of the 'Branc…
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.
Several improvements have been made
Linux GUI (GTK): 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'.
Fixed unexpected behavior pressing the 'Del' key…
Linux GUI (GTK): Fixed unexpected behavior pressing the 'Del' key in the checkin comments textbox or in the filter textboxes of some views.
Selecting multiple incoming/outgoing branches (mo…
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.
Closing the commit dialog was causing all changes…
FMOD plugin: Closing the commit dialog was causing all changes to be reverted without a warning message. Fixed.
The 'revert' action was not refreshing the FMOD p…
FMOD plugin: The 'revert' action was not refreshing the FMOD project layout. Fixed.
5.4.16.693
Public | 2015-09-25
New
Now, the checkout operation skips the item that c…
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.
Command Line Interface ([code]cm partial[/code] c…
Gluon: Command Line Interface (cm partial
command): Now, locally changed items in conflict with commited server changes can be discarded using the option -–ignorefailed
. When this option is set, the checkin operation will discard the changes in conflict and will finish the operation without them.
(Before, locally changed items in conflict with the server changes caused the checkin operation to fail and be rolled back).
Improved highlight colors for search results in '…
Windows GUI: Improved highlight colors for search results in 'Branch explorer' view. Changed some default colors used for the filters and conditional format rules.
Autocomments for checkin operation are now auto-r…
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.
Now, file conflicts could be resolved with 'Prese…
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.
Now, the replication operation will fail at the b…
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
SemanticSCM: The Plastic SCM Windows Installer di…
Windows Installer: SemanticSCM: The Plastic SCM Windows Installer did not include the necessary YamlDotNet libraries to allow external parser interaction. Fixed.
Reviewed .NET Framework dependencies for Plastic…
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.
several fixes on theme configuration have been pe…
Windows GUI: several fixes on theme configuration have been performed (changed some colors in 'Pending changes' view and 'Diff' viewers).
5.4.16.692
Public | 2015-09-22
New
A 'diff' viewer has been added in the 'Pending ch…
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
Message dialogs were not showing the text message…
Linux GUI (GTK): Message dialogs were not showing the text message when it contains some special chars (e.g: <
, >
). Fixed.
Message dialogs were appearing behind the main wi…
Linux GUI (GTK): Message dialogs were appearing behind the main window sometimes. Fixed.
In some circumstances, a 'collection was modified…
Linux GUI (GTK): In some circumstances, a 'collection was modified' exception is thrown in the items view. Fixed.
Fixed several error messages which were dumped on…
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
Public | 2015-09-15
New
Now it is possible to save changes using [code]Ct…
Windows GUI: Now it is possible to save changes using Ctrl + S
keyboard shortcut in editable 'diff' viewers.
Added 'revision history' feature. Please have a l…
REST API: Added 'revision history' feature. Please have a look at the API documentation for further information.
Improved command help output for [code]lrep[/code…
Command Line Interface: Improved command help output for lrep
and lwk
commands.
SemanticSCM: Built-in semantic diff in the cset/b…
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.
Workspace Explorer view: some item icons from the…
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.
Checkin operation: Now it is possible to finish a…
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.
Now the client is able to work against an encrypt…
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.key
morgan: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).
Polarion: Included the new issue tracker plugin f…
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.
The checkin results are now logged into the issue…
Linux GUI & Mac GUI: The checkin results are now logged into the issue tracker's tasks if an issue tracker extension is properly configured.
Windows installer: Now, the default backend for n…
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.
'Diff with previous revision' is now the default…
Windows GUI: 'Diff with previous revision' is now the default action to execute when double-clicking a revision in the 'History' view.
Bug
Fixed an 'unhandled exception' error when trying…
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.
Pushing changes to GitHub resulted in a 'Stream t…
GitSync: Pushing changes to GitHub resulted in a 'Stream terminated early' error, even if all changes were correctly pushed. Fixed.
The server applications 'umtoolgui' and 'admintoo…
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.
SemanticSCM: Fix a "null reference" error when th…
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.
SemanticSCM: The Microsoft C Runtime 2013 depende…
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.
Comments were not properly refreshed on the 'Item…
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.
Working with I3 (old school theme), all scrollabl…
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.
The action bars in the diff viewer were not drawe…
Windows GUI: The action bars in the diff viewer were not drawed after changing from semantic differences to textual differences. Now it's fixed.
The plugin failed to poll changesets after a Plas…
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.
The side-by-side diff viewer's dependencies were…
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.
Category titles in the 'Diff' window and 'Pending…
Linux GUI (GTK GUI): Category titles in the 'Diff' window and 'Pending changes' view were not properly refreshed after applying a filter. Fixed.
The 'Diff' window was displaying incorrect catego…
Linux GUI (GTK GUI): The 'Diff' window was displaying incorrect category icons for merged revisions. Fixed.
When reverting to a revision that was previously…
'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
Public | 2015-09-03
New
A new native, gtk-based side-by-side diff viewer…
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.
SemanticSCM: Added support for external language…
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.
Branch Explorer: Replication sources can now be h…
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.
Improvements on the replication progress on Windo…
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
"Cancel" operation has been fixed. Now you can pr…
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.
Branch explorer: 'Display options' -> 'Enter visi…
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.
[code]umtoolgui[/code] application crashed when '…
Users management server tool: umtoolgui
application crashed when 'users.conf' file was corrupt. Now, an error dialog will appear showing a descriptive error message.
[code]umtoolgui[/code] application crashed when…
Users management server tool: umtoolgui
application crashed when it was launched without root privileges on linux. Fixed.
5.4.16.688
Public | 2015-08-28
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/codice
default/codice/plasticscm
default/codice/plasticscm/windowsgui
default/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/codice
default/codice/plasticscm
default/codice/plasticscm/windowsgui
And transform the hierarchy as follows:
default/codice
default/codice/plasticscm
default/codice/windowsgui
And even rename "codice" to "plastic-code" and then:
default/plastic-code
default/plastic-code/plasticscm
default/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.
'Open' and 'Open with...' context menu options ar…
GTK/Mac GUIs: 'Open' and 'Open with...' context menu options are now available in the 'Pending changes' view.
Usability improvements. When deleting an item fro…
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).
Usability improvements. When typing text in the c…
Gluon: Usability improvements. When typing text in the comments textbox, the focus is preserved even if the 'checkin' view is being refreshed.
Bug
If the workspace is configured with the 'Compare…
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.
Several fixes have been made on the GUI theme con…
Windows GUI: Several fixes have been made on the GUI theme configuration (wrong colors on dialogs and buttons).
The windows installer did not optimize assemblies…
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
Public | 2015-08-27
New
The diff window now includes a filter textbox
GTK GUI: The diff window now includes a filter textbox.
Little improvement in 'Annotate' view. The column…
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
The Branch Prefix configuration parameter was bei…
JIRA integration: The Branch Prefix configuration parameter was being ignored when working in the 'Branch per task' mode. Fixed.
The 'merge-to' operation was not firing the serve…
Triggers: The 'merge-to' operation was not firing the server checkin triggers. Fixed.
The Visual Studio Package (>=VS2010) did not trac…
Visual Studio integration: The Visual Studio Package (>=VS2010) did not track moved and renamed files properly. Fixed.
5.4.16.686
Public | 2015-08-24
New
when sorting the workspace contents by status, fo…
Gluon: when sorting the workspace contents by status, folder and files are not mixed anymore.
changeset differences can now be launched by doub…
Gluon: changeset differences can now be launched by double-clicking on a changeset in the changesets view.
The issue tracker integration icons on the Window…
Windows GUI: The issue tracker integration icons on the Windows GUI have been updated.
'Attributes' tab icons in 'Branch Explorer' optio…
Windows GUI: 'Attributes' tab icons in 'Branch Explorer' options panel were updated. Some GUI improvements were also performed.
If the server auth mode is 'Active Directory' wo…
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.
Added 'diff selected changesets' context menu opt…
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.
Added 'diff selected revisions' context menu opti…
GTK/Mac GUIs: Added 'diff selected revisions' context menu option when 2 different revisions are selected in the 'History' view.
Added a new "Diff workspace contents" context men…
GTK/Mac GUIs: Added a new "Diff workspace contents" context menu option to added/deleted items on the Pending Changes View.
Accelerator keys have been implemented for major…
GTK GUI: Accelerator keys have been implemented for major context menu options (same as in Windows GUI).
Improved format string for [code]lrep[/code] and…
Command line client: Improved format string for lrep
and lwk
commands.
Now, descriptive names like {repname}
or {wkname}
can be used instead of numbers in the format string. Improved default output format for this commands. Check the commands help for more info.
The [code]cm status[/code] command now prints cur…
Command line client: The cm status
command now prints current directory relative paths by default, instead of workspace root relative paths.
Nevertheless, workspace root relative paths still can be printed by specifying the --wrp
(or ----wkrootrelativepaths
) flag.
Also, full paths can be also printed by specifying the --fp
(or --fullpaths
)
Remarks:
cm status --xml
command will still print workspace root relative paths by default. The--fp
(or--fullpaths
) will print absolute paths instead.The
cm status --machinereadable
andcm status --short
commands will remain unchanged, and they will print absolute paths (as they are commonly used for automation purpouses).
The [code]cm diff[/code] command now prints works…
Command line client: The cm diff
command now prints workspace root relative paths by default, instead of full workspace paths.
Nevertheless, full workspace paths still can be printed by specifying the --fp
(or --fullpaths
) flag.
The [code]cm log[/code] command now prints worksp…
Command line client: The cm log
command now prints workspace root relative paths by default, instead of full workspace paths.
Nevertheless, full workspace paths still can be printed by specifying the --fp
(or --fullpaths
) flag.
Repository paths can be forcibly printed if the --repositorypaths
flag is specified. This flag will override the --fp
flag.
The [code]umtool[/code]'s [code]changeuserpasswor…
Server: The umtool
's changeuserpassword
command syntax has been modified modified. The new syntax is umtool changeuserpassword username newpassword newpassword
Now, 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 changeuserpassword
has changed its alias to passwd
.
Finally, the command can now be run in interactive mode if you don't provide any arguments.
Added Debian 8.1 compatibility. Please have a loo…
Linux: Added Debian 8.1 compatibility. Please have a look at the linux package installation instructions: https://www.plasticscm.com/plastic-for-linux/index.html
Bug
The client didn't accept a ssl server certificate…
Linux: The client didn't accept a ssl server certificate when replicating against a ssl remote server. It only happened in Linux. Fixed.
When a Git commit contains a directory reference…
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
Some aesthetical improvements have been done on t…
Windows GUI: Some aesthetical improvements have been done on the Preferences tab in the 'Options' dialog.
Fixed an usability issue in the annotate view. Th…
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
Public | 2015-08-14
New
The Gluon views can now be refreshed by pressing…
Gluon: The Gluon views can now be refreshed by pressing F5
key.
The 'Create branch' dialog is now able to list al…
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:
Now it's possible to checkin files from different…
Eclipse plugin: Now it's possible to checkin files from different workspaces from the package explorer.
Improved the single branch development pattern in…
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.
SQLite backend configuration: The built-in server…
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.
'diff branch/changeset' window can now be launche…
GTK & Mac GUI's: 'diff branch/changeset' window can now be launched by double-clicking them in the 'Branch Explorer' view.
The 'Branch Explorer' view background colors are…
Windows GUI: The 'Branch Explorer' view background colors are now customized with the selected theme.
The 'Analyze differences' feature in the 'diff br…
Windows GUI: The 'Analyze differences' feature in the 'diff branch/changeset' window are now calculated using only text files (ignoring binary files).
Bug
'diff branch/changeset' window: The 'current diff…
Windows GUI: 'diff branch/changeset' window: The 'current difference' index was incorrectly updated when navigating forward or backwards. Fixed.
A 'null reference' exception was thrown when brow…
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.
Fixed an error when the GUI was trying to connect…
Windows GUI: Fixed an error when the GUI was trying to connect to a server using SSL with a not valid certificate host.
[code]cm listtriggers[/code] command was not show…
Command Line Interface: cm listtriggers
command was not showing the user name properly in LDAP and AD authentication modes. Fixed.
5.4.16.684
Public | 2015-08-07
New
Analyze Refactors – to help you diff refactored c…
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.
Now the control connections retry after 500ms, th…
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.
New 'change attribute value' server side trigger…
Triggers: New 'change attribute value' server side trigger implemented. The trigger type is chattvalue
.
This 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' chattvalue
triggers can be created:
cm 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 chattvalue
trigger is fired, the follwing info will be available reading from the standard input:
'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_USER
PLASTIC_CLIENTMACHINE
PLASTIC_SERVER
PLASTIC_REPOSITORY_NAME
PLASTIC_ATTRIBUTE_NAME
REMARKS: To take advantage of this new kind of triggers, both Plastic SCM client and server should be upgraded to this version.
The 'diff' window now supports showing the conten…
GTK & Mac GUI's: The 'diff' window now supports showing the contents of added and deleted files.
client .zip installers now sets a+x permissions t…
Installers: client .zip installers now sets a+x permissions to application launcher scripts
Bug
There was an error when configuring MySQL as data…
Mac OS server package: There was an error when configuring MySQL as database backend: “codepage 1252 not supported". Fixed.
5.4.16.683
Public | 2015-08-04
New
SemanticSCM Outline: Added support for mouse whee…
Windows GUI: SemanticSCM Outline: Added support for mouse wheel. Also improved the look and feel for the available themes.
SemanticSCM: When a declaration has been moved an…
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.
The SEID now is resolved to a user name and store…
Code review triggers: The SEID now is resolved to a user name and stored in the PLASTIC_REVIEW_ASSIGNEE
variable.
Bug
Fixed a [code]NullReferenceException[/code] when…
Visual Studio plugin: Fixed a NullReferenceException
when showing the differences of a file from the Solution Explorer's 'Checkin' dialog in Visual Studio.
Fixed an error when showing the differences of a…
Unity 3D plugin: Fixed an error when showing the differences of a changeset/branch from the 'Branch Explorer' dialog in Unity 3D plugin.
Conflict's position were not properly updated whe…
Merge Tool: Conflict's position were not properly updated when resolving a previous non-automatic conflict. Fixed.
5.4.16.682
Public | 2015-07-31
New
Now, Plastic SCM Windows installer contains a RES…
REST API: Now, Plastic SCM Windows installer contains a REST API listener, named plasticapi.exe
.
The 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'
Added a '--ignorefailed' parameter to the [code]c…
Command Line Interface: Added a '--ignorefailed' parameter to the cm partial configure
command. This parameter will enable the command to ignore any configuration errors detected during its execution.
This parameter may be useful when loading/unloading workspace items without a previous check whether the items are present or not.
Added a new text box on the 'branch creation' dia…
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).
When moving the mouse cursor over the vertical sp…
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.
Fixed a bug in TeamCity plugin. Now the plugin ca…
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
Public | 2015-07-22
New
The new codeBeamer issue tracker extension is now…
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.
The diff view now shows an info message when an e…
Windows GUI: The diff view now shows an info message when an encoding change is detected.
Creating branches from issue tracker information…
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.
Syntax highlight and Semantic diff are now enable…
Windows GUI: Syntax highlight and Semantic diff are now enabled in the 'method history' feature.
Semantic diff now shows the changes in the commen…
Windows GUI: Semantic diff now shows the changes in the comments for the .NET languages (C# and Visual Basic).
Fixed an error when closing the 'checkin pending…
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.
The Plastic SCM theme for Windows can now be chan…
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 --theme=themename
option from the command line.
Current avaliable theme names are: 'i3', 'windowsnative', 'montana' and 'montana-dark'.
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
The encoding is not taken into account when the r…
Merge Tool: The encoding is not taken into account when the result file is saved. Fixed.
Diff control: Update the textboxes info correctly…
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
Public | 2015-07-10
New
the 'Mount this changeset in Plastic Drive' chang…
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.
Avoid showing tons of error messages when the vie…
GTK/Mac GUIs: Avoid showing tons of error messages when the views are rendered and the credentials are not valid.
Bug
The client wasn't updating the custom JIRA field…
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.
The options button remained disabled when switchi…
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.
The new installer was wiping out all user configu…
Mac server: The new installer was wiping out all user configuration and repository data on upgrade. Fixed.
5.4.16.679
Public | 2015-07-05
New
The diff view (branch, cset) now adds Semantic Ou…
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.
A new feature has been added in the Semantic vers…
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.
Improvements on the semantic diff navigation. Whe…
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
The annotate lines didn't match the textbox lines…
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.
Semantic diffing wasn't correctly matching method…
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.
Fixed an error calculating pending changes when s…
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
Public | 2015-06-30
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.
A workspace can now be activated by double-clicki…
Windows GUI: A workspace can now be activated by double-clicking on it on the 'Workspaces' view.
5.4.16.676
Private | 2015-06-26
New
Look and feel of Plastic SCM Windows GUI adapted…
Windows GUI: Look and feel of Plastic SCM Windows GUI adapted to Windows 10.
'Sync replication' view has been implemented and…
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
Upgrading from versions less than 5.4.16.672 (wit…
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
Public | 2015-06-19
New
The [code]cm ls[/code] command now accepts branch…
CLI: The cm ls
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 ls /code --tree=br:/main/scm13596@myrep@denver:7070
The [code]cm history[/code] command now accepts s…
CLI: The cm history
command now accepts server paths, no longer requiring a workspace. A new revision spec format is required for that matter:
[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 cm cat
or cm diff
) benefit from this new kind of revision specs.
Examples:
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
the [code]cm listlocks[/code] command has modifie…
CLI: the cm listlocks
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.
Now it is possible to target different servers using the new --server=address:port
parameter.
Finally, the cm listlocks
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.
The --server
parameter will override the spec servers.
This 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
New features in the textbox editor are now availa…
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
On certain complex structure refactors (with seve…
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
Public | 2015-06-18
New
This release includes several improvements in tex…
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.
Textbox editor usability has been greatly improve…
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.
Configurable .NET namespaces for intellisense. By…
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 intelliprompt
System.Collections.Generic
Sytem.IO
New features in the textbox editor are now availa…
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)
Outlining support in the diff viewers. The outlin…
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.
Differences calculation performance has been grat…
Windows GUI: Differences calculation performance has been gratly improved. The improvements are very noticeable when calculating differences of big files (60-70% faster).
Syntax highlight support in the diff viewers. Sup…
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
XDiff functionality integrated in the diff viewer…
Windows GUI: XDiff functionality integrated in the diff viewer: The moved fragments now highlight the inner differences.
The Visual Studio Package now supports Visual Stu…
Visual Studio integration: The Visual Studio Package now supports Visual Studio 2015.
Bug
Conflicts counters were wrongly displayed when cl…
Mergetool: Conflicts counters were wrongly displayed when clicking on 'previous manual conflict' button and manual conflict count was zero. Fixed.
Repository progress charts on the dashboard will…
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
Public | 2015-06-12
New
A new parameter for the [code]cm partial update[/…
Command Line Interface: A new parameter for the cm partial update
command is now available: --report
parameter. If present, the command will print a list of the performed actions at the end of its execution.
The issue tracker extension system has been compl…
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.
The 'Create Branch' dialog has been completely re…
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 fields mapping support is now available. How…
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.
The 'profile' creation/edition dialog ('Profiles'…
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
The 'sync' operation has been fixed. However, onl…
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.
the[code]cm unco --all[/code] command could fail…
Command Line Interface: thecm unco --all
command could fail in certain border cases when undoing renamed/moved folders out of Plastic SCM control. The failing scenario could be as follows:
Have a workspace with the following items:
/src
,/src/foo.c
and/src/bar.c
copy
/src
to/src_bak
delete
/src/foo.c
execute
cm unco --all
-> Error.
The issue has been fixed.
Fixed the server autodiscovery dialog. It used to…
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
Public | 2015-06-08
New
The issue tracker extension system has been compl…
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.
The 'Create Branch' dialog has been completely re…
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 fields mapping support is now available. How…
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.
A new parameter for the [code]cm partial update[/…
Command Line Interface: A new parameter for the cm partial update
command is now available: --report
parameter. If present, the command will print a list of the performed actions at the end of its execution.
Bug
The 'sync' operation has been fixed. However, onl…
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.
the [code]cm unco --all[/code] command could fail…
Command Line Interface: the cm unco --all
command could fail in certain border cases when undoing renamed/moved folders out of Plastic SCM control. The failing scenario could be as follows:
Have a workspace with the following items:
/src
,/src/foo.c
and/src/bar.c
copy
/src
to/src_bak
delete
/src/foo.c
execute
cm unco --all
-> Error.
The issue has been fixed.
5.4.16.668
Public | 2015-06-04
New
The 'macplastic' client installer now includes co…
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
Public | 2015-06-03
New
The 'ignore.conf' for Unity plugin has been impro…
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
Fixed an error that could happen when the checkin…
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").
Several issues labeling xlinked repositories have…
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: The
cm mklabel
command now allows to specify a given changeset to be labeled, even if the--allxlinkedrepositories
flag is set.
5.4.16.666
Public | 2015-05-28
New
Release number and release name are now displayed…
GTK GUI: Release number and release name are now displayed in the 'About' dialog. A link to the release notes is also available.
Bug
Fixed an issue introduced in release 5.4.16.662 t…
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
Public | 2015-05-22
New
The JIRA extension can now be configured to reuse…
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.
The 'filetypes.conf' config file allows users to…
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.
'after-checkin' triggers are now supported
Gluon: 'after-checkin' triggers are now supported.
Bug
The Plastic SCM GUI could show a 'TimeSpan overfl…
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.
Some components previously installed were not rem…
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.
Branch Explorer: Associated branch's issue tracke…
Windows GUI: Branch Explorer: Associated branch's issue tracker info was not being displayed if the 'Display full branch names' option was disabled. Fixed.
Xlinks: When a checked-out xlink with changes ins…
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
Public | 2015-05-18
New
The repository explorer views and dialogs now inc…
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.
Connect to remote, non profiled servers dialog is…
Mac & GTK GUI's: Connect to remote, non profiled servers dialog is now implemented. The GUI will now prompt users for the remote server credentials if needed.
'Sync replication' view has been implemented and…
Mac GUI: 'Sync replication' view has been implemented and it is fully functional.
Moved items are now displayed on the commit dialo…
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 furhter info about FMOD Studio plugin.
5.4.16.663
Public | 2015-05-14
New
Reverting to another revision now shows item stat…
Gluon: Reverting to another revision now shows item status as 'copied/replaced' in the 'workspace explorer' view.
Application startup performance improvement: the…
Windows GUI: Application startup performance improvement: the GUI now starts 80% faster.
Improved the mechanism to remember the focused it…
Windows GUI: Improved the mechanism to remember the focused item in the 'Items' view.
Bug
The scroll did not reach the bottom of the 'works…
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
Public | 2015-05-11
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.
Now, if the encryption configuration is changed o…
Server: Now, if the encryption configuration is changed on the 'cryptedservers.conf' file, the new configuration will be applied without restarting the server.
'cm sync' command: Changed the way the sync mappi…
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
Public | 2015-05-07
New
'Gluon Mode' setting has been added in order to c…
Unity 3D Plugin: 'Gluon Mode' setting has been added in order to configure the plugin to work with partial workspaces.
Now, the plugin uses the 'MacPlastic SCM' applica…
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
Public | 2015-04-22
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.
A 'checkin' option has been added to the context…
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.
Small fixes in texts and icons
Gluon: Small fixes in texts and icons.
We're proud to announce a brand new plugin to int…
FMOD plugin beta: We're proud to announce a brand new plugin to integrate Gluon and FMOD Studio. Ask us! (support@codicesoftware.com)
Bug
The 'cm sync' command didn't check correctly if t…
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
Public | 2015-04-14
New
Usability - the 'create xlink' dialog has been im…
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
The embedded diff on the pending changes view was…
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
Private | 2015-04-10
New
A new feature to undelete files has been added. A…
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).
A new view mode in the 'Explore workspace' view h…
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'.
Local changes under a readonly xlink can now be u…
Gluon: Local changes under a readonly xlink can now be undone.
The 'diff' option is now available in the context…
Gluon: The 'diff' option is now available in the context menu of the 'Explore workspace', 'Checkin changes' and 'Changesets' views.
The Configuration mode's "Explore" button (Worksp…
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.
Create label: Users can now choose to label all x…
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.
Implemented a tree-mode for the repositories view…
GUI: Implemented a tree-mode for the repositories view, so the repositories can be displayed as a list (as always) or as a tree.
Usability improvements
GTK & Mac GUI's: 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.
The 'fileinfo' command now includes a RepSpec fie…
Command Line Interface: The 'fileinfo' command now includes a RepSpec field, which prints the repository specification of items.
the license grace period after expiration has bee…
License: the license grace period after expiration has been increased to 15 days.
Bug
The embedded diffs on the pending changes view di…
GUI: The embedded diffs on the pending changes view displayed empty contents on refresh, when an item was selected. Fixed.
The SSL server certificates couldn't be accepted…
GUI: The SSL server certificates couldn't be accepted from the Plastic GUI. Fixed.
5.4.16.655
Private | 2015-04-08
New
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).
The search feature will now apply to the actual b…
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
Public | 2015-03-30
New
A new command, named 'restore' or 'rs', has been…
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').
Added 'undo changes' option to the context menu…
Gluon: Added 'undo changes' option to the context menu of the 'workspace explorer' view.
The 'Create workspace' dialog elements have been…
GUI: The 'Create workspace' dialog elements have been reordered. The text input fields will be autocompleted if the user doesn't manually alter them.
The 'search' feature of the 'Branch explorer' vie…
Mac & GTK GUI's: 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.
Usability: the 'Preferences' window has been impr…
Mac & GTK GUI's: 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).
Now, the GUI can be opened even when the server c…
Windows GUI: Now, the GUI can be opened even when the server connection is not available.
Mac & GTK GUI's: Now, both GUI's are able to reconnect to the server when the connection is lost.
Bug
Checkin operation: Gluon was not properly setting…
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).
The 'end date enablement' setting of the Branch e…
Mac & GTK GUI's: 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
Public | 2015-03-26
New
The checkin operation for 'locally deleted' items…
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
Fixed a bug that prevented the upgrade system to…
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
The repository data storage process, used by stat…
Web UI: The repository data storage process, used by stats graphs, has been improved.
5.4.16.652
Private | 2015-03-19
New
The 'before-checkin' and 'before-clientcheckin'…
Triggers: The 'before-checkin' and 'before-clientcheckin' triggers are now able to use a new environment variable called PLASTIC_PENDING_MERGE_LINKS
. The variable contains information about the merge links included in the checkin operation.
The 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.
Server file paths are now displayed in the captio…
Windows GUI: Server file paths are now displayed in the caption on both sides of the embedded Diff View.
improved the way to list repositories on known se…
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
If the active workspace on the Windows GUI is rem…
Windows GUI: If the active workspace on the Windows GUI is removed (by using the Command-Line client cm rmwk WK_PATH
or removed physically from disk), the GUI will be frozen when trying to execute the next operation. Fixed.
5.4.16.651
Public | 2015-03-17
New
Web triggers are now available. The script path v…
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.
The GTK GUI application is now included in the le…
GTK GUI: The GTK GUI application is now included in the legacy linux-client zip installer.
Bug
Fixed an issue that made the annotate operation t…
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
Public | 2015-03-06
Bug
The branch and the changeset differences could fa…
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.
The locking status was overriden when checking in…
Gluon: The locking status was overriden when checking in 'changed' items from the 'Checkin View'. Fixed.
Groups or users were not correctly added to an AC…
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
Public | 2015-03-05
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 https://www.plasticscm.com/gluon.html
for further info.
Bug
Fixed a visualization issue in the checkin progre…
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
Public | 2015-02-27
New
New audit log level: 4. Read access to revisions…
Audit Log: New audit log level: 4. Read access to revisions will be logged.
'Changesets' view is now available. The new view…
Game UI: 'Changesets' view is now available. The new view just allow to show changesets and filter them. No more actions implemented yet.
The 'Delete' context menu option is now available…
GTK & Mac GUI's: The 'Delete' context menu option is now available on the 'Pending changes' view.
SQL Server database creation command can now be c…
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:
@PlasticDatabase
-> 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.@PlasticDefaultDatabaseFile
-> Default database file. (A path that includes @PlasticDatabase as a part of the database file name can be used instead).@PlasticDefaultLogFile
-> 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@PlasticDefaultDatabaseFile
identifier can be used. Example:@PlasticDefaultDatabaseFile.log
).@PlasticDefaultCollation
-> 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.
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
Home/End keys did not work in the Branch Explorer…
Windows GUI: Home/End keys did not work in the Branch Explorer view. Fixed.
The diff window was showing an error when annotat…
Windows GUI: The diff window was showing an error when annotation panel was shown for xlinks root items. Fixed.
The 'Diff' viewer for the focused item in the 'Pe…
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
Public | 2015-02-20
New
Shelve view has been implemented and it is fully…
GTK & Mac GUI's: 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.
Client side triggers can now be customized using…
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 "@PLASTIC_BIN_PATH/triggers/checkdirectories.pl"
will match "@PLASTIC_BIN_PATH\triggers\checkdirectories.pl
in a Windows platform).
The use of these approaches will allow the definition of platform-independent client side triggers.
SSL certificates from Plastic SCM servers can now…
GTK & Mac GUI's: SSL certificates from Plastic SCM servers can now be accepted.
Changed blogpost notification icon. Now, the numb…
Windows GUI: Changed blogpost notification icon. Now, the number of unread blogposts is shown near to the "BLOG NEWS" menu item.
Automatic merging feature is now supported (Both…
Bamboo plugin: Automatic merging feature is now supported (Both 'branch updater' mode and 'gatekeeper' mode).
New option added in history context menu to show…
GameUI: New option added in history context menu to show changeset differences.
A new context menu option has been added in the h…
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.
Application startup performance has been signific…
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.
Usability improvements
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
The 'replicate' operation was adding duplicated r…
Replication: The 'replicate' operation was adding duplicated reviews and review comments when a big number of objects were involved (around 10000 objects involved). Fixed.
The client configurator dialog wasn't properly ha…
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.
Opening HTML revisions from the history view was…
GUI's: Opening HTML revisions from the history view was not working properly. Fixed.
Replication panel has been improved to avoid over…
GTK GUI: Replication panel has been improved to avoid overlapping controls.
Application freezed when displaying several dialo…
GTK GUI: Application freezed when displaying several dialogs at the same time. Fixed.
Fixed several errors when the specified language…
Windows GUI and Command line client: Fixed several errors when the specified language in the 'client.conf' file was not valid.
On the repository browser view (browse repository…
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.
Fixed some alignment and textual GUI issues
Windows GUI: Fixed some alignment and textual GUI issues.
Improved the look and feel of the notification st…
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
Public | 2015-02-09
New
A virtual drive for Windows to mount changesets a…
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
Public | 2015-02-04
New
Custom checkin comments: The branch name is now s…
Windows GUI: Custom checkin comments: The branch name is now supported on the predefined & custom templates.
Now, the 'ignored', 'cloaked' and 'hidden changed…
GTK & Mac GUI's: 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
Fix a 'duplicated key' error when the diff operat…
GTK & Mac GUI's: Fix a 'duplicated key' error when the diff operation is launched several times on the same item.
5.4.16.642
Public | 2015-02-02
New
Compatibility issues to support IDEA 14 have been…
IntelliJ IDEA plugin: Compatibility issues to support IDEA 14 have been addressed. This way, Plastic SCM is now available for IntelliJ IDEA 14.
Plastic SCM now supports Axosoft OnTime v14.5
Axosoft OnTime extension: Plastic SCM now supports Axosoft OnTime v14.5.
Performance: The initial process of calculating c…
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).
The detailed commit information will now show the…
Bamboo plugin: The detailed commit information will now show the item status: Added, Moved, Changed or Deleted.
Now, the 'preferences' dialog provides a 'default…
GTK & Mac GUI's: Now, the 'preferences' dialog provides a 'default' tool settings to configure the diff and merge tools automatically.
Added 'close' button to the 'Merge' view in order…
GTK & Mac GUI's: Added 'close' button to the 'Merge' view in order to close it and show the pending changes view automatically.
Added 'copy' option to the application menu
Mac GUI: Added 'copy' option to the application menu.
Usability: The 'cut' and 'paste' options of the '…
Mac GUI: Usability: The 'cut' and 'paste' options of the 'Workspace Explorer' view are now also available with the standard key shortcuts.
Bug
The update action no longer fails if the 'Revert…
IntelliJ IDEA plugin: The update action no longer fails if the 'Revert unchanged files before update' option is set.
Fixed a 'same key was already added' error that h…
Windows GUI: Fixed a 'same key was already added' error that happened sometimes when drawing the 'Items' view.
The '--preview' option of the 'replicate' command…
Command line client: The '--preview' option of the 'replicate' command was not working properly when the destination database has a different Id. Fixed.
When the semantic history was shown for a method…
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: Revision -2 not found in repository <repository_name>
. Fixed.
The 'Checkin' operation was not considering the '…
Game UI: The 'Checkin' operation was not considering the 'checkin' permissions. Fixed.
The 'open' and 'open with' context menu options d…
Mac GUI: The 'open' and 'open with' context menu options didn't work properly. Fixed.
5.4.16.641
Public | 2015-01-28
New
The look & feel of the Branch explorer's 'options…
Mac GUI: The look & feel of the Branch explorer's 'options' panel has been improved.
Now, the Branch explorer's 'options' panel can be…
Mac & GTK GUI: Now, the Branch explorer's 'options' panel can be hidden.
The look & feel of the 'Switcher' window has been…
GTK GUI: The look & feel of the 'Switcher' window has been improved.
Added 'Switch workspace' button to the 'workspace…
GTK GUI: Added 'Switch workspace' button to the 'workspace' window sidebar.
Usability: the navigation flow of the application…
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
Usability: the double click action has been imple…
Mac & GTK GUI: Usability: the double click action has been implemented for each table of the application.
Bug
Opening a previous revision by double-clicking on…
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.
Fix branch drawing in the Branch Explorer view. S…
GTK GUI: Fix branch drawing in the Branch Explorer view. Some changesets were drawn out of the branch bounds.
Fix several error messages
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.
"Gtk-CRITICAL **: gtk_box_pack: assertion `child->parent == NULL' failed" that appear also on the console opening the configuration panel or any view with filter.
Fix an unexpected error occurred clicking on the…
GTK GUI: Fix an unexpected error occurred clicking on the Branch explorer view while it is loading, before rendering objects.
5.4.16.639
Public | 2015-01-21
New
Labels View includes now a dialog to list changes…
Mac & GTK GUIs: Labels View includes now a dialog to list changesets, choose one and label it.
old icons removed from: 'New secured path' dialog…
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 builds had issues when a PlasticSCM change…
Bamboo plugin: Bamboo builds had issues when a PlasticSCM changeset was empty. Fixed.
'Create workspace' dialog was closed if the input…
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
Public | 2015-01-19
New
The replication dialog is now available. Branches…
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.
Now, the history view shows info about 'moved' an…
Mac & GTK Plastic SCM GUI: Now, the history view shows info about 'moved' and 'removed' operations.
Now, when the rule of the 'branch explorer' filte…
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.
Usability: The 'diff branch' feature were showing…
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
Fixed an unexpected error message in the branch e…
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.
The context menu of the history view should not b…
Mac & GTK Plastic SCM GUI: The context menu of the history view should not be available for directories. Fixed.
Fixed a crash that happens sometimes closing the…
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
Fixed an error performing a 'merge-to' operation…
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 -> /src2
del /src
move /src2 -> /src
add /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
Public | 2015-01-16
New
Styles reviewed and beautified
WebUI: Styles reviewed and beautified.
Added 'Display only relevant changesets' option t…
GTK GUI client: Added 'Display only relevant changesets' option to the 'branch explorer' display options.
Bug
Fixed aesthetic UI issues in the add user/group d…
GUI: Fixed aesthetic UI issues in the add user/group dialog (permissions dialog).
Fixed some GUI component aligments in 'Move detec…
GUI: Fixed some GUI component aligments in 'Move detection' preferences dialog, 'Repository permissions' dialog, and 'Profile selection' dialog.
The 'Branches with pending merges' format was not…
GUI: The 'Branches with pending merges' format was not working properly on replicated servers. Fixed.
The branch differences was throwing an error mess…
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.4.16.634
Public | 2014-12-24
New
Branch Explorer: Navigate to 'home' changeset and…
GTK Plastic SCM GUI: Branch Explorer: Navigate to 'home' changeset and 'search' features have been implemented.
Branch Explorer: Implemented navigation using the…
GTK Plastic SCM GUI: Branch Explorer: Implemented navigation using the keyboard: home, end, escape and arrow keys.
Branch Explorer: Added a 'properties' view on the…
GTK Plastic SCM GUI: Branch Explorer: Added a 'properties' view on the Branch Explorer side panel. It displays information related to a single selected object on the branch explorer: name, repository, owner, creation date, replication sources, GUID and comments.
The comments text field also allows to update the comment of the selected object when modified.
Branch Explorer: Implemented date filter for the…
GTK Plastic SCM GUI: Branch Explorer: Implemented date filter for the branch explorer.
Filters and conditional format rules implemented
GTK Plastic SCM GUI: Filters and conditional format rules implemented.
Preferences window implemented
GTK Plastic SCM GUI: Preferences window implemented.
Branch Explorer: If the selected object's comment…
Mac Plastic SCM GUI: Branch Explorer: If the selected object's comments have been edited but not saved, and the focus is changed to another object, a confirmation dialog is shown to let the user save the changes or discard them before changing the selection.
The client file 'plastic.exe.config' will no long…
Installer: The client file 'plastic.exe.config' will no longer be overwritten after an upgrade.
The installer now copies the needed firebird libr…
Installer: The installer now copies the needed firebird libraries according to the system architecture.
When a submodule was added in a branch and merged…
Git Sync: When a submodule was added in a branch and merged to another branch in Git, the Git Sync is reusing the same xlink in Plastic SCM, updating the target changeset only when needed (that's it, if the submodule target was also changed).
Bug
Using exclusive checkout with xlink, the checkin…
Command line client: Using exclusive checkout with xlink, the checkin operation could fail when the xlink relative path is longer than the relative path of the checkedout file.
Example:
Xlink relative path:
/src/core_engine
Checkedout file relative path:
/license.dat
Checking in the file /src/core_engine/license.dat
, the operation fails with an error. Now, this case has been fixed.
The GameUI main window was not showed properly wh…
GameUI: The GameUI main window was not showed properly when it was maximized on an extended desktop configuration and the secondary monitor had a resolution higher than the resolution of the primary monitor. Fixed.
5.4.16.633
Public | 2014-12-18
New
The 'RevisionHeadChangeset' field of the 'cm file…
Command Line Interface: The 'RevisionHeadChangeset' field of the 'cm fileinfo' command is now available for partial workspaces.
The progress of 'update' operation has been impro…
GameUI: The progress of 'update' operation has been improved:
Now, the progress of the operations to apply is shown. This way, operations that don't involve download (move and delete operations) are now notified.
It also shows the totals at the beginning of the operation (size to download / files to download / operations to apply).
Example:
'Updated 2.8MB of 580MB (2 of 156 files to download / 45 of 202 operations to apply'
Jenkins workspaces now support multiple Plastic S…
Jenkins plugin: Jenkins workspaces now support multiple Plastic SCM workspaces.
Bug
An error occurred when trying to show the 2D revi…
GUI: An error occurred when trying to show the 2D revision tree of a checked-out item. Fixed.
Fixed several aesthetic issues in the server conf…
Fixed several aesthetic issues in the server configuration wizard form.
First difference was not focused in the 'diff' vi…
GUI: First difference was not focused in the 'diff' view when navigating over the changed files. Fixed.
5.4.16.632
Public | 2014-12-16
New
This release introduces the new Team and Enterpri…
This release introduces the new Team and Enterprise Editions.
Merged releases
5.4.16.630
Public | 2014-12-16
New
Active Directory and LDAP groups can be customize…
Authentication: Active Directory and LDAP groups can be customized now. This will allow server administrators to create new credentials groups which will be visible only from PlasticSCM.
It can be useful if the AD/LDAP systems have restricted access, not allowing groups to be created.
In order to take advantage of this new feature, the server must be set to ADWorkingMode or LDAPWorkingMode, and add a new line on the 'server.conf' file:
<WorkingModeSettings>[setting[;setting2;...]]</WorkingModeSettings>
The currently supported settings are:
add_up: include PlasticSCM users and groups
skip_groups: don't include AD/LDAP groups
A valid example would be as follows:
<WorkingModeSettings>add_up;skip_groups</WorkingModeSettings>
To specify the custom groups, the server administrator will have to edit the 'groups.conf' file, placed under the same directory as the server executable (plasticd.exe).
This file stores group information, one line per group:
:[[:...]]
Group names should be unique, whereas user names can appear in different groups.
Example:
gallia:caesar:vercingetorix
roma:augustus:caesar
hispania:augustus
aegyptus:cleopatra
User names in this list must match AD/LDAP user names.
To create a group hierarchy, group names inside groups must start with the '@' character.
Example:
spqr:@roma:administrator:@gallia
Add "Create new workspace..." button in the works…
Mac/Linux Plastic SCM GUI: Add "Create new workspace..." button in the workspaces view to help the user find the functionality. Also, show an informative message if there are no workspaces: "Create a workspace to start working with Plastic SCM".
Bug
Fixed a bug that prevented Plastic SCM GUI and Ga…
GUI and Game UI: Fixed a bug that prevented Plastic SCM GUI and Game UI to remember the screen location of last execution in a multiple screen environment in certain cases.
The test connection was always ok, even when user…
Client configuration in Active Directory mode: The test connection was always ok, even when user credentials were not valid. Fixed.
[code]cm replicate[/code] command was failing whe…
Command line client: cm replicate
command was failing when a non full branch branch specification (branch spec without without the repository part) were not provided when executing the command from outiside a workspace. Fixed in order to inform of this error in the command parameters.
Texts in preferences panel in Windows GUI, merge…
GUI: Texts in preferences panel in Windows GUI, merge and diff tool sections, were cut. Fixed.
Fix branch explorer concurrence refresh issue aft…
Mac/Linux Plastic SCM GUI: Fix branch explorer concurrence refresh issue after switching to changeset operation from the branch explorer. The 'home' icon was not updated sometimes.
The update progress panel was showing the progres…
Mac/Linux Plastic SCM GUI: The update progress panel was showing the progress status from the previous update operation until the new one was calculated. Fixed.
Merged releases
5.4.16.628
Public | 2014-11-28
New
gtkplastic beta is finally out
gtkplastic beta is finally out!
We're happy to announce the first beta of the native, gtk based, Linux GUI of Plastic SCM.
This new Linux GUI is meant to replace the current X11 based.
It is still not fully functional since it doesn't include replication support and some other key features are still missing, but it is already able to do a complete branch/merge cycle.
It can be installed using the package system for different Linux distros and the package name is 'plasticscm-client-gtkplastic'.
Contact support if you have questions about installing this beta version.
Add support for the command line options: --confi…
Mac Plastic SCM GUI: Add support for the command line options: --configure, --switch, --wk, --clientconf, --server, --cacheserver and remember the last workspace that was opened.
The configuration panel has been improved. Now it…
Mac Plastic SCM GUI: The configuration panel has been improved. Now it is simplier and it shows the current configuration to the user if there is already one.
Bug
Fix branch explorer erratic behavior with the tra…
Mac Plastic SCM GUI: Fix branch explorer erratic behavior with the trackpad.
Fix null exception while trying to filter a view…
Mac Plastic SCM GUI: Fix null exception while trying to filter a view that is not filled yet.
5.4.16.627
Public | 2014-11-27
New
The update operation has been greatly optimized w…
GameUI: The update operation has been greatly optimized when updating already loaded files to their latest contents (2x faster in this scenario).
Performance optimization benchmark:
Work with a workspace containing 100K files.
Run an 'update' operation having 30K files (already loaded in the workspace) pending to update to their latest contents (the 30K files sum 4.7 GB in total).
Results:
Before the optimization, the update operation took 556s.
After the optimization, the update operation took 233s.
Bug
The diff operation didn't correctly detect move/a…
Diff: The diff operation didn't correctly detect move/add operations under a 'move' cycle.
Example:
Initial structure
/
/src
/src/code
/src/code/foo.c
Changes
mv /src/code -> /code
mv /src -> /code/src
mv /code/foo.c -> /code/src/foo.c
After submitting these changes in the workspace and showing the differences of the new changeset, the third move operation was detected as a 'delete' operation 'rm /code/foo.c'
instead of a 'move' operation.
This case has been fixed and the operation is now detected as a 'move' operation.
After checking in the deletion of an item that wa…
GameUI: After checking in the deletion of an item that was previously moved in the server side to a different parent directory, the parent directory was kept as checked-out in the workspace.
Example:
Initial structure
/
/src
/src/foo.c
Changes commited in the server:
mv /src/foo.c -> /foo.c
Local workspace operation:
rm /src/foo.c
This case has been fixed, an now the parent directory does not remain as checked-out in the workspace anymore.
Improved performance of 'checkin changes' view wh…
GameUI: Improved performance of 'checkin changes' view when there are tons of pending changes.
The responsiveness checking/unchecking nodes in the 'checkin changes' view has been improved too.
The column sorting did not work in the GameUI for…
GameUI: The column sorting did not work in the GameUI for the 'workspace explorer' view. Now it's fixed.
Fixed a usability issue. The scroll was slightly…
GameUI: Fixed a usability issue. The scroll was slightly moved after refreshing the 'workspace explorer' view. Fixed.
Fixed some aesthetic issues in the 'create branch…
GUI: Fixed some aesthetic issues in the 'create branch' dialog.
Fixed aesthetic issues using the black theme (the…
Client configuration wizard: Fixed aesthetic issues using the black theme (the default theme used in Linux and Mac).
Merged releases
5.4.16.625
Public | 2014-11-21
New
Support for SQLite 3.8 including WAL (Write-Ahead…
Server: Support for SQLite 3.8 including WAL (Write-Ahead Logging).
WAL enables SQLite backend users to avoid locking when multiple threads try to read simultaneously from the database. SQLite is the default on Linux/Mac installations and optional on Windows.
In order to setup WAL, use the following connection string in 'db.conf' file:
Data Source={0};Synchronous=FULL;Journal Mode=WAL;Pooling=true
Support Eclipse file types (binary/ASCII) in Plas…
Support Eclipse file types (binary/ASCII) in Plastic SCM. When the user adds new files to the source control using the Eclipse IDE, the file type for its file extension, or file name configured in Eclipse (binary or ASCII) is preserved.
Diff branch/changeset dialog: Now it is possible…
GUI: Diff branch/changeset dialog: Now it is possible to revert to one of the revisions shown in a Diff branch, changeset or label dialog.
To do that, right click on the desired revision and select "Revert to this revision..." of the item's context menu.
Bug
After checking in a moved file (not checked-out)…
GameUI: After checking in a moved file (not checked-out) which was out-of-date in the workspace, the revision loaded in the workspace was updated to the latest one, which was wrong. Fixed.
The 'checkout' operation was leaving exclusive lo…
GameUI: The 'checkout' operation was leaving exclusive locks in the server side when the workspace was already used by another operation. Fixed.
5.4.16.624
Private | 2014-11-18
New
Improved the explorer view performance when chang…
GameUI: Improved the explorer view performance when changing between items with large revision history.
Also, the history view for directories is now disabled.
Bug
When the log4net "Merge" logger is set to INFO (o…
GUI: When the log4net "Merge" logger is set to INFO (or DEBUG), the merge operation could eventually show an error, aborting the operation.
This error happened since 5.4.16.621 and now it's fixed.
The 'Diff' window was not setting the vertical sc…
GUI: The 'Diff' window was not setting the vertical scroll at the beginning of the file contents after focusing a different item. Now, after switching among the different files in the diff window, the scroll is set at the top of the contents.
Code Review: Double clicking on a code review com…
GUI: Code Review: Double clicking on a code review comment did not focus the commented line in the right textbox of the differences panel correctly. Now it's fixed.
5.4.16.623
Private | 2014-11-14
New
Now, the 'update' operation is also able to apply…
GameUI: Now, the 'update' operation is also able to apply 'move' operations in the workspace.
Additionally, the update report has been improved when the update cannot apply certain operations, showing the affected item and the reason.
Bug
The configuration view was throwing a 'key duplic…
GameUI: The configuration view was throwing a 'key duplicated' error following the next steps:
A directory already loaded in the workspace is marked to be unloaded (set checkbox to 'unchecked' status).
One of the items under the directory was also renamed or moved in the server side.
After clicking the checkbox to mark the directory to be loaded again, (set checkbox to 'checked' status), the error is shown.
This behavior was also reproducible in the command line client with the 'cm partial configure' command.
This scenario has now been fixed, and the error is not shown anymore.
5.4.16.621
Private | 2014-11-10
New
Added new End Of Line (EOL) conversion mechanism
Added new End Of Line (EOL) conversion mechanism.
The Plastic client now implements a EOL conversion mechanism capable of transforming the different end of lines of text into the right one for the local system.
This feature is useful for teams working on different operating systems with editors and IDEs that can't handle correctly (or complain) files with different EOL types.
EOL conversion only works for text files.
There are two ways to enable EOL conversion (it is disabled by default):
- Editing client.conf and adding the new AutoEolConversion key:
<AutoEolConversion>Auto</AutoEolConversion>
The valid values are: None (the default), Auto (converts based on the OS), CR, LF, CRLF.
- Creating a file named eolconversion.conf. This way it is possible to define the EOL conversion based on the file extension as follows:
cr .cpp, .pas
lf .c
crlf .h
The valid "conversion types" are None, Auto, CR, LF and CRLF.
If an extension is not defined in the eolconversion.conf, it will use the general conversion type configured in the client.conf file.
How EOL conversion works:
EOL conversion will be used not only during update but also each time a file is retrieved from the workspace (diff, cat, annotate).
EOL conversion only works while downloading files. Checkin always preserve the content created by the user.
Remarks: it is recommended to start with a clean workspace to start using EOL conversion.
Updating an existing workspace won't rewrite unchanged files even if they need EOL conversion. Only new files being downloaded will be converted.
If you have a file checked out and then you change the EOL configuration, then diff with previous can display differences in EOLs.
Remember to restart the GUI after changing the EOL conversion settings (client.conf won't be reloaded otherwise).
Merged releases
5.4.16.619
Public | 2014-10-31
New
Added auto upgrade mechanism
GameUI: Added auto upgrade mechanism.
The GameUI now checks whether its current version is compatible with the server version. If an upgrade is needed, GameUI asks the user to confirm, downloads the new installer and runs it.
To configure the upgrade system please follow the instructions here:
Items added by other users were not automatically…
GameUI: Items added by other users were not automatically downloaded in the two following scenarios:
After checking-in a directory locally added.
After configuring an empty directory (without children) to be loaded.
Fixed. Now the new content is correctly downloaded in both scenarios.
Revert from 2d version tree. The 2d version tree…
Revert from 2d version tree. The 2d version tree now has a context menu option to allow reverting to a specific revision.
Additionally the 2d version tree now highlights the currently loaded revision in the workspace.
The 'create branch' dialog has been redesigned
GUI: The 'create branch' dialog has been redesigned.
Merged releases
5.4.16.617
Public | 2014-10-23
Merged releases
5.4.16.613
Public | 2014-10-13
New
The checkin operation will be retried if a new ch…
GameUI: The checkin operation will be retried if a new changeset has been created in the target branch during the data uploading phase.
The checkin operation is retried up to three times (although the checkin data is uploaded once) before rejecting the operation.
Implemented 'tree' view mode (items grouped by pa…
GUI: Implemented 'tree' view mode (items grouped by path) for Pending changes view and Diff branch/changeset views.
Items can be shown grouped by paths. To enable this new view mode, right click in the list of items and select the context menu option: 'view items' > 'as list/as tree'.
Recent comments: New features for long, multiline…
GUI: Recent comments: New features for long, multiline comments. If the comment is very long, the ellipsis is performed in the middle of the text, so that users are able to check the beginning and the end of the comment.
Additionally, a tooltip is shown when hovering over a recent comment, showing the full text.
Bug
Fixed error messages in history and preview panel…
GameUI: Fixed error messages in history and preview panels that where shown under race conditions while loading the history or the preview of certain items.
Also, if the server was down, the history of an item was loading forever. Fixed.
The 'Changesets' charts were not being loaded due…
Web UI: The 'Changesets' charts were not being loaded due to a collision between the URL for of changeset charts (i.e.: http://server:port/repository/Charts/Changesets) and the URL for the changesets of a submodule view (i.e.: http://server:port/repository/module/Changesets).
Fixed.
Fixed duplicated items in the differences of a br…
Fixed duplicated items in the differences of a branch where other branches are merged into this one. An item appeared as many times as merges where the item was modified.
5.4.16.612
Public | 2014-10-03
New
Now the 'exec' file type modifier is preserved du…
P4 sync: Now the 'exec' file type modifier is preserved during the synchronization process. The modifier is mapped to the file system permissions on Plastic SCM as follows:
During the 'pull' process the behavior is as follows:
If the 'exec' file type modifier is set in P4 -> The execution permissions in Plastic SCM are set to the user, to the group and to others (
r-xr-xr-x
).If The 'exec' file type modifier is not set in P4 -> The execution permissions neither are set (
r--r--r--
).During the 'push' process the behavior is as follows:
If any execution permission is set in Plastic SCM (either to the user, to the group or to others) -> The 'exec' file type modifier will be set in P4.
If no execution permission is set in Plastic SCM (neither to the user, nor to the group or to others) -> The 'exec' file type modifier will be removed in P4 (if it was set before).
5.4.16.610
Public | 2014-10-02
New
The 'Set selector...' option has been removed fro…
GUI: The 'Set selector...' option has been removed from the Workspace view, as it is not really useful to set a custom selector manually since Plastic SCM 4.x
Aesthetical improvements have been made on 'Branc…
Web UI: Aesthetical improvements have been made on 'Branches', 'Changesets' and 'Labels' views regarding column order and alignment. In addition to that, the 'Code Reviews' are now shown sorted by date, showing the most recent code reviews first.
A new configuration dialog for the Plastic SCM cl…
A new configuration dialog for the Plastic SCM client has been implemented.
Users are able to configure their setup from this dialog, in a single step, no more 'next - next ...' wizards.
To configure the server to work with, users are now able to scan the network to find Plastic SCM servers around by clicking on 'Scan network', and use SSL connection optionally. When clicking on 'Connect' to the server button, the authentication mode is inferred, and users only will have to type only his/her credentials.
The 'Check' will validate the credentials typed.
Optionally, users are able also to configure a Plastic SCM Proxy server and test the connectivity.
Bug
Context menu options for directory conflicts were…
Merge view: Context menu options for directory conflicts were using the wrong repository information when the conflict was under an xlink. Thus, when selecting the 'View changes on source' option, for example, a 'Revision not found' error might appear. Fixed.
Merged releases
- 5.0.44.608
5.4.16.609
Public | 2014-09-29
New
Aesthetic improvements configuring the workspace…
GameUI: Aesthetic improvements configuring the workspace regarding directory selection:
Partially selected directories checkboxes are now drawed with a triangle instead of being filled with a square.
Different size & color pair is used when a directory is selected to be loaded, unloaded, or remains the same.
Bug
If a directory is configured to be fully download…
GameUI: If a directory is configured to be fully downloaded in user's A workspace, and a new file in user's B workspace is added in the same directory, when the user A configures again the workspace, the new file added by user B was not downloaded automatically.
Now this behavior has been reviewed and the file added by user B in its workspace will automatically be downloaded in user's A workspace. The same will happen for other changes in the directory structure, such as moved or deleted files.
5.4.16.607
Public | 2014-09-24
New
The performance improvements in the Pending Chang…
The performance improvements in the Pending Changes view introduced in 5.4.15.604 are now available and public.
Now, the submodules and the xlinks are synchroniz…
Now, the submodules and the xlinks are synchronized by the GitSync. The Git submodules are converted into Plastic xlinks during the pull and the Plastic xlinks are converted into Git submodules during the push.
The .gitmodules file is not synchronized as a normal file. It is handled on a special way. It is not pulled to Plastic SCM since it is only needed on Git to handle the submodules (is a metadata file). It is regenerated during the push, according to the xlinks info.
Remarks: the content is generated by the sync operation, so the manual editions on this file will not be preserved during the push.
Please note that before synchronizing a repository with xlinks or submodules, the target repositories must be synchronized.
In order to synchronize a repository with xlinks/submodules the mapping information must be added on the gitsync configuration file(gitsync.conf). This information is added on the submodules section with the following format:
git_repository_url -> plastic_repository_spec [writable:true|false] [relativeserver:true|false]
If the submodule must be converted to a writable xlink, the writable field must be included as writable:false. If the writable field is omitted or if it is set to false, the xlink will be created as readonly.
If the submodule must be converted to a xlink with a relative server, the field relativeserver must be included as relativeserver:true. If the relativeserver field is omitted or it is set to false, the xlink will be created against the Plastic repository server as non-relative xlink.
The following is an example:
[submodules]
git://localhost/code -> code@localhost:8084 writable:true relativeserver:true
git://localhost/doc -> doc@localhost:8084 writable:false relativeserver:true
5.4.15.606
Public | 2014-09-23
New
The status column shows the new status 'Deleted o…
GameUI: The status column shows the new status 'Deleted on server' when the item is deleted in the current branch on the server side. The update operation will unload these items from the workspace when they are not changed or checked-out.
The update operation will download the new conten…
GameUI: The update operation will download the new content under the directories that were fully checked during the configuration process.
5.4.15.605
Public | 2014-09-19
New
Now it is possible to show the GameUI help by typ…
GameUI: Now it is possible to show the GameUI help by typing any of the following arguments:
* '--help'
* '-h'
* '--?'
* '-?'
Example:
$> gameui.exe --help
Added new command line options related to the cli…
GameUI: Added new command line options related to the client configuration:
'--clientconf'
: Allows to specify a custom configuration file.'--server'
: Allows to specify a custom PlasticSCM server instead of the configured by default.'--cacheserver'
: Allows to specify a custom PlasticSCM cache server instead of the configured by default.
The usage of these parameters can be shown by tiping 'gameui.exe --help'.
Improved the look and feel of the 'preview' split…
GameUI: Improved the look and feel of the 'preview' splitters.
Several improvements have been made on the column…
GameUI: Several improvements have been made on the columns fields:
The 'Author' column in the 'Explore workspace' view and 'History' view now shows 'Last edited by'.
The 'Status' column in the 'Checkin Changes' view now tells if a checked out file has also been modified.
Bug
The 'checkin' operation was showing the error mes…
GameUI: The 'checkin' operation was showing the error message 'Could not find file <filename>'
after checking in a deleted file. This issue only happened if the 'Update and Checkin operations set files as read-only' preference was enabled. Fixed.
The 'gameui.exe' process wasn't finishing properl…
GameUI: The 'gameui.exe' process wasn't finishing properly when the tool was launched with the '--wk'
option and the path specified on the option is not the same that the last workspace used before. Fixed.
Merged releases
5.4.15.604
Private | 2014-09-17
New
The pending changes view performance has been imp…
The pending changes view performance has been improved on Windows. Previously when the disk changes are selected by the user to be show, each time that the pending changes view is refreshed, the full workspace content must be checked on disk. Now, the workspace content is checked only the first time. The following times only the directories where the disk content has been changed will be checked. As a result, the pending changes are obtained much faster.
See the results:
Using a workspace with 312.722 files and 44.077 folders, 100 files distributed on 10 folders are modified, and then, we look for the pending changes again. Also, we ensure that the workspace content is not cached by the file system, so it must be read from disk. To ensure it, we clean the file system cache.
We check the described scenario on the release 5.0.44.598 and the pending changes are obtained on 137481 ms. We also check the described scenario with the new functionality and the pending changes are obtained on 4011 ms. With the new functionality the pending changes are obtained 34 times faster than before.
There is a new setting in client.conf to disable the feature if needed: Set WatcherEnabled to "no" to disable it.
5.4.15.602
Public | 2014-09-11
New
Improvements in the image preview
GameUI: Improvements in the image preview:
Preview added for deleted files in Checkin Changes. Useful to know what was deleted prior to checkin.
Preview of checkouts is available now.
Directories now have preview both in Configuration Mode and History.
The preview is now updated when switching from history to the Explorer tree.
The hash calculation of files to preview has been modified so it is much faster and even large files don't slow down the UI.
Added the 'revert to this revision' option to the…
GameUI: Added the 'revert to this revision' option to the context menu of the history view.
Some standard operations from the CLI and the GUI…
GameUI: Some standard operations from the CLI and the GUI cannot be run in GameUI (partial) workspaces. The Plastic SCM client core now detects the type of the operation's underlying workspace and if the operation cannot be executed, the user is notified with a descriptive message.
Bug
The replication operation had a file/directory ha…
Replication: The replication operation had a file/directory handlers leak due to the logging configuration. Up to two handlers of the server folder were kept opened per replication operation. Fixed.
The 'create workspace' dialog appeared twice when…
GUI: The 'create workspace' dialog appeared twice when creating a new workspace from the workspaces view. Fixed.
5.4.15.601
Public | 2014-09-04
New
Added the 'checkout recursively' option to the co…
GameUI: Added the 'checkout recursively' option to the context menu of the workspace explorer view.
Unavailable xlinks are now properly handled in th…
GameUI: Unavailable xlinks are now properly handled in the GameUI. (An unavailable xlink could be a xlink whose target changeset has not been replicated to the working server). Some common scenarios are described below:
The 'checkin' operation doesn’t allow to submit changes inside an unresolved xlink. The operation will warn about this, and the operation will not be performed.
The item status on the 'workspace explorer' view shows information about unresolved xlinks and files inside them.
The 'configuration' view shows if an xlink cannot be resolved on the server configuration as well.
The 'update' operation warns about unresolved xlinks.
Now, an xlink can be deleted. Previously, the 'ch…
GameUI: Now, an xlink can be deleted. Previously, the 'checkin' operation was not handling deleted xlinks.
Now, the GameUI supports writable xlinks not poin…
GameUI: Now, the GameUI supports writable xlinks not pointing to the head changeset on the targeted branch.
From now on, the 'merge' operation supports chang…
Merge: From now on, the 'merge' operation supports changes inside 'delete' transformer rule types. The deleted items involved are restored in order to apply changes from the merge operation.
Repository browser views: Now, the 'Preview' butt…
GUI: Repository browser views: Now, the 'Preview' button is available on these kind of views, so that users are able to preview the items shown in this view. The information provided is limited, since the items shown in this view are not loaded in the workspace. Thus, the information available for regular files is their size; in the case of images the resolution and dimensions information is shown along with the file size.
Performance
Performance
GameUI: The traffic between the GameUI and Plastic SCM server has been shrunk. Now, the GameUI reuses the loaded workspace tree and only requests the differences between the loaded tree and the requested tree.
Bug
The key combinations: Shift+End, Shift+Home, Shif…
GUI: The key combinations: Shift+End, Shift+Home, Shift+PageUp and Shift+PageDown were disabled, so users weren't able to navigate across some views using these combinations. Fixed.
The behavior of the system when an 'after-(operat…
Triggers: The behavior of the system when an 'after-(operation)' trigger fails has been reviewed, so that the views and operations involved finish gracefully, showing the results of the operation along with the error message associated with the faulty trigger.
Remarks:
If an 'after-setselector' trigger fails, then the 'update' operation that comes next is not run, since the setselector failed.
If an 'after-mkbranch' trigger fails, then the 'switch to branch' operation is not run, since the mkbranch failed. (This scenario is only valid if the user selected the 'switch workspace to this branch after creating the branch' option).
If an 'after-mkreview' trigger fails, then the review is not opened (if the user selected the option to do that), since the 'mkreview' operation failed.
Merged releases
5.4.14.599
Public | 2014-08-27
New
It now remembers the tree column widths. The last…
Game UI: It now remembers the tree column widths. The last folders opened are now remembered, and the switcher window is activated when the user clicks the "Switch workspace" button. In addition to that, fixed some minor bugs regarding the settings.
New command "cm partial" has been added to allow…
Game UI: New command "cm partial" has been added to allow running commands in a partial workspace.
Usage:
cm partial command [command options]
Commands:
configure
add
co | checkout
unco | undocheckout
ci | checkin
mv | move
rm | remove
upd | update
Bug
A problem involving concurrent downloads while lo…
Update: A problem involving concurrent downloads while looking for already existing controlled items has been fixed.
5.4.14.597
Public | 2014-08-21
Bug
The update operation was not able to update a fil…
GameUI: The update operation was not able to update a file when the readonly attribute is set. Fixed. Moreover, the GameUI will use the 'SetFilesAsReadOnly' preference set in the 'client.conf' configuration file to keep the readonly attribute after a 'checkin' or 'update' operations accordingly.
5.4.14.595
Public | 2014-08-14
New
Annotate command: Now it is possible
Command line client: Annotate command: Now it is possible
to annotate a specific revision from the command line,
using its full specification.
Examples:
* cm ann AclCmd.cs#cs:12548@codice@azrael:8888
* cm ann AclCmd.cs#cs:12548
Several aesthetical improvements have been made
GUI: Several aesthetical improvements have been made:
Minor component alignment issues have been fixed.
Some icons have been removed from the dialogs.
Some icons have been updated.
5.4.14.594
Public | 2014-08-13
New
Usability and performance improvements have been…
GameUI: Usability and performance improvements have been included in this release:
Aesthetical improvements.
Keyboard shorcuts.
Item search in 'Workspace configuration' mode.
Improved status calculation performance.
Initial Xlink support.
New 'server.conf' key, named 'ForceBuildNumberMat…
Upgrade system: New 'server.conf' key, named 'ForceBuildNumberMatch' enables sysadmins to force Plastic SCM clients to upgrade to the latest build, even if the clients are compatible with the server. The server will reject requests if the build number doesn't match.
To configure it enter the following value in server.conf:
<ForceBuildNumberMatch>yes</ForceBuildNumberMatch>
A new command, 'codereview' or 'cr' has been adde…
Command line client: A new command, 'codereview' or 'cr' has been added to the command line client. It is intended to create, edit and delete code reviews in a given repository. As usual, code reviews can be created for branches or changesets.
Examples:
* cm codereview cs:1856@myrepo@myserver:8084 "Task 10034" --assignee=johndoe
* cm codereview 1367 -e --assignee=new_assignee
* cm codereview -d 1367 --repository=myremoterepo@myremoteserver:18084
To get further information, please check the documentation ('cm help cr').
Ignored elements on the 'Workspace Explorer' and…
Mac Plastic SCM GUI: Ignored elements on the 'Workspace Explorer' and the 'Pending changes' view will now be correctly displayed as 'Ignored' items, including the overlay icon on the 'Workspace Explorer'.
Bug
Diffing two changesets in the same branch was thr…
GUI: Diffing two changesets in the same branch was throwing a 'key duplicated' exception when a deleted item between these changesets was previously merged to the branch. Fixed.
5.4.14.593
Public | 2014-08-08
New
Several improvements in the 'Details' panel on th…
GameUI: Several improvements in the 'Details' panel on the right side of the screen:
Update thumbnail while navigating through the history of an item.
The loaded revision in the workspace is now highlighted in the history view.
The thumbnail is clean when no item is selected.
The 'Workspace switcher' window can be reopened t…
Mac Plastic SCM GUI: The 'Workspace switcher' window can be reopened through the following menus:
'View' > 'Repositories or
'View' > 'Workspaces'.
Bug
Branch Explorer view: Fixed a layout issue in the…
GUI: Branch Explorer view: Fixed a layout issue in the 'Branch Explorer'. New empty branches were wrongly positioned.
Merged releases
5.4.14.591
Public | 2014-08-01
New
The lock (exclusive checkout) behavior has been m…
The lock (exclusive checkout) behavior has been modified. Now the lock requires the file to be checked out to be the latest on the branch (no need to set the 'require head' param). It doesn't force to be up-to-date with the head changeset as a whole but to make sure the files to be locked are head, so it prevents concurrent changes to happen.
This new behavior has been developed for the new GameUI (game artist oriented Plastic SCM and GUI) but it applies system wide.
First GameUI beta with complete working cycle sup…
First GameUI beta with complete working cycle support.
Implemented submodules support. The module name i…
Web UI: Implemented submodules support. The module name is specified in the URL after the repository name. The following URLs are valid:
Bug
The changes on a Xlink were not expanded and trav…
The changes on a Xlink were not expanded and traversed during a merge operation when the Xlink is involved on a conflict. Fixed.
Now the Xlink changes are expanded. Fixed also several "null reference" error messages on not so common scenarios involvong Xlink conflicts resolution, such as cherry picks from already merged changes, and path reuse scenarios (delete and add a Xlink with the same name pointing to a different repository).
Fixed a failing scenario where moved items were d…
Merge: Fixed a failing scenario where moved items were duplicated on the original path. The failing scneario is the following:
- Create the following structure on a branch (branch: 'A'):
/game (xlink)
/game/src
/game/src/foo.c
/game/src/bar.c
- Create another branch 'B' and switch to it. Then, add the following item:
/game/src/baz.c
- Switch to branch 'A' and perform the following changes:
add /game/code
mv /game/src/* /game/code
rm /game/src
- Merge from branch 'B'. A 'change-delete conflict will show up. Choose 'keep source' -> Items duplicated in
/game/src
and/game/code
.
Now this scenario is fixed, and the merge won't generate duplicated items.
Aesthetic and typographical issues have been fixe…
GUI: Aesthetic and typographical issues have been fixed.
5.4.13.590
Public | 2014-08-01
New
Look & feel improved
GameUI: Look & feel improved.
Bug
Sometimes, a 'Null Reference' exception was shown…
GUI: Sometimes, a 'Null Reference' exception was shown when showing the method history (only available in .NET 4 installations).
5.4.13.589
Public | 2014-07-30
New
Now, the history view is available when the user…
GameUI: Now, the history view is available when the user selects an element on the checkin and explorer workspace views.
The 'ls' command now accepts a a new format param…
Command line client: The 'ls' command now accepts a a new format parameter, named "transformed". It displays the applied rule for any transformed item. Please see the command help ('cm help ls') for further detail.
Recent comments feature added, working the same w…
Mac Plastic SCM GUI: Recent comments feature added, working the same way as Windows GUI does.
Bug
Unable to undo an empty merge (the pending change…
GUI: Unable to undo an empty merge (the pending changes view only shows merge links pending to be checked in). Fixed.
A scenario to reproduce the fixed bug is the following:
Switch to branch
'/main'
Create file
'foo.c'
Add & checkin
'foo.c'
Create branch
'/main/task001'
Switch to branch
'/main/task001'
Delete and checkin
'foo.c'
Switch to branch
'/main'
Delete and checkin
'foo.c'
Merge from branch
'/main/task001'
-> 'empty merge, only a pending merge link appears in the pending changes view'.Undo changes -> before this bugfix, the pending merge link didn't dissapear, when it should.
5.4.13.588
Public | 2014-07-29
New
Several improvements on the Branch Explorer view.…
Mac Plastic SCM GUI: Several improvements on the Branch Explorer view. Fixed a layout issue (some branches were overlapped when they had no visible parent changeset).
Bug
The 'result' file encoding preference was not con…
Mergetool: The 'result' file encoding preference was not considered in an automatic file merge (when no user intervention is required). Fixed.
5.4.13.587
Public | 2014-07-24
New
Second GameUI public release fixing a problem in…
Second GameUI public release fixing a problem in status calculation.
Merged releases
5.4.13.585
Public | 2014-07-21
New
Documentation
Documentation
Command line interpreter help: Command help and usage reviewed and updated accordingly.
5.4.13.584
Public | 2014-07-14
New
Server aliases allow reaching the same server by…
Server aliases allow reaching the same server by different IPs and protocols. The new serveralias.conf file enables this feature on the client.
Example: suppose you connect to localserver.office-network.com:8084 from the office, but when you go home you connect through the public SSL-protected IP: ssl://plastic.external-network.com:8090. Using the server aliases the Plastic client will be able to switch from one server URL to the other transparently.
The content of the serveralias.conf will be:
localserver.office-network.com:8084 ssl://plastic.external-network.com:8090
Please note it can jump not only to a different URL but also a different protocol (in this case from regular TCP to SSL).
Bug
Fixed the checkin operation error "The Item X could not be found in the tree. The new tree cannot be built". It occurred under the following circumstances:
*UserA and UserB work on the same branch loading the same changeset.
*UserA deletes 'file1'
*UserB deletes 'file1' and changes 'file2'.
*UserA commits the 'file1' deletion.
*UserB commits the 'file2' change. The 'file1' deletion is still pending to commit.
*UserA changes 'file3' and commits the change.
*UserB tries to commit the 'file1' deletion (or a new change), but the checkin operation fails with the previous error.
The Ctrl+V shortcut key did not work in the items…
GUI: The Ctrl+V shortcut key did not work in the items view.
Merged releases
5.4.13.580
Public | 2014-07-01
New
Initial version of GameUI
Initial version of GameUI.
5.4.13.578
Public | 2014-06-26
New
Update progress now shows progress for big files…
Update operation: Update progress now shows progress for big files (in 4mb blocks) too.
Bug
The 'branches' view did not work properly switchi…
GUI: The 'branches' view did not work properly switching between 'list' view mode and 'tree' view mode when the list was ordered by name (descending). Fixed.
Merged releases
5.4.13.576
Private | 2014-07-13
Bug
Checkin progress: The 'current block' progress ba…
GUI: Checkin progress: The 'current block' progress bar was not resized when resizing the dialog. Fixed.
Fixed a crash when using 'find in files' feature…
GUI: Fixed a crash when using 'find in files' feature in a diff branch or diff changeset dialog when the differences contains xlinks.
5.4.12.575
Private | 2014-07-01
New
Improved the symbolic information that is shown in the mergetool, when resolving a three way merge:
Added a parameter in mergetool (
'--progress'
) to notify the current merge operation to the mergetoolAdded a parameter in mergetool (
'--extrainfofile'
) to get extra information about the current merge in the mergetoolImplemented a panel in mergetool to show the extended merge info
Implemented the needed changes to pass progress and extra info to the mergetool in merge command.
Improved the symbolic names passed to the mergetool.
Implemented a mechanism to identify virtual changesets when a recursive merge is performed.
Symbolic paths are now relative to the workspace.
Changed the default merge tool to provide both '
--progress
' and '--extrainfofile
' parametersFixed maximize and restored botton image aligment (also fixed the restore button image, that was wrong)
When the contributor text is trimmed in the 'select contributor' buttons, now the tooltip shows the entire string.
NOTE: In order to see new changes if you use the Plastic SCM built-in merge tool (Xmerge), you need to add the following parameters to the mergetool in plastic preferences: --progress="@progress" --extrainfofile="@extrainfofile"
Now the sync process will stop the execution if t…
P4 sync: Now the sync process will stop the execution if the inner P4 command cannot be successfully executed. Also, the inner P4 commands are now logged in the configured log4net file.
Currently, pushing a Plastic SCM changeset to a perforce stream with remapping rule is not supported, but before this task, the sync process was continuing, marking as 'synced' with perforce the Plastic SCM changeset, when it shouldn't, as the push operation from Plastic SCM to P4 couldn't be completed. From now on, the sync process will be stopped in that scenario before marking as 'synced' Plastic SCM changesets that weren't pushed to P4.
Nevertheless, this behavior can be overriden by using the '--continueonp4error' flag in the 'cm sync p4' command (not recommended).
The changeset tree loading has been improved on M…
Server: The changeset tree loading has been improved on MySql backend for big trees.
Now, a temporary table with the involved revisiond is created when loading a tree.
This table will be created in the hard disk by default. To override this setting and create the temporary table in memory, the following parameter in the server's db.conf file can be set:
<MySqlTmpTablesOnMemory>yes</MySqlTmpTablesOnMemory>
The 'LOAD DATA LOCAL' setting in MySql backend must be enabled. (This setting is already enabled by default).
More info on:
http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_local_infile
Test performed:
Repository with 11 million revisions. Changeset tree loading measurement, with 418950 files and 27914 folders.
Time to read all the changeset tree revisions
(about 440.000 revisions):
Before this release (release 4.1.10.559):
Read 440.000 revisions from the 'revisions' table (which contains 11 million revisions) -> 11404 ms.
Whith this release (release 4.1.10.561):
Read 440.000 revisions from disk temp table -> 9688 ms.
Read 440.000 revisions from memory temp table -> 6084 ms.
Merged releases
5.4.11.571
Private | 2014-05-30
New
Added a debug parameter to the 'cm sync p4' comma…
p4 sync: Added a debug parameter to the 'cm sync p4' command to avoid p4 client deletion at the end of the sync process. The parameter is: '--dontremovewk'
.
5.4.11.568
Public | 2014-05-19
New
Now, the update operation notifies the download p…
Update operation: Now, the update operation notifies the download progress, printing size and number of files being downloaded. Also notfies whether the update operation is downloading a big file.
Improved the checkin progress notification when w…
Checkin operation: Improved the checkin progress notification when working with slow networks.
Bug
The 'sync' operation didn’t detect moved files on…
p4 sync: The 'sync' operation didn’t detect moved files on a case insensitive depot when the changelist's depot path entries are stored in different cases for a moved/added - moved/deleted pairs that should be matched as moved items. Fixed.
Example of the failing case, 'p4 changelist' output:
... depotFile //MyStream/Src/foo.c
... headAction move/delete
... depotFile //mystream/src/foo.c
... headAction move/add
The 'cm ls' command was showing an error message…
Command line client: The 'cm ls' command was showing an error message if the workspace contained xlinks and the '--tree' option or the '--selector' option were used together with the '--xml' or the '--format' option, and the '-R' option was not specified. The issue was related to obtaining the revision GUIDs to show them in the command output.
5.4.11.567
Public | 2014-05-14
New
'cm fileinfo' command is now available. It displa…
CLI: 'cm fileinfo' command is now available. It displays detailed information regarding a controlled item in the workspace. Additional documentation and examples can be found executing the 'cm help fileinfo'
command.
Now, the listlocks command shows the user name in…
Now, the listlocks command shows the user name instead of the SID.
Bug
When the listlocks command is used with the --onl…
When the listlocks command is used with the --onlycurrentuser option on an authentication mode that uses SID, no lock was returned, although the current user had locked items. Fixed.
The 'cm find revs' command was printing unexpecte…
Command line client: The 'cm find revs' command was printing unexpected paths in the result with certain 'where' clause filters. Fixed.
XML output formatting reviewed; removed unuseful…
cm ls: XML output formatting reviewed; removed unuseful information, replaced the ItemType node by Type and added a new Status field that specifies whether the node is Controlled or Private. Now, every LsItem displays the same fields, no matter whether it is controlled or private.
The installer was not checking whether Visual Stu…
Visual Studio 2013 / 2013 Package: The installer was not checking whether Visual Studio was running during a Plastic SCM upgrade; therefore the VSIX installation might fail because the installer could not replace the old dlls with the new ones. Fixed.
5.4.11.565
Private | 2014-05-09
New
Added a new client-side configuration file, named…
Added a new client-side configuration file, named 'compression.conf', which enables a custom configuration of the compression method used to store the new revision of a file in the database.
Currenty there are two tipes of compression methods supported:
none
zip
Each line of the 'compression.conf' file will define a compression type followed by a whitespace ' ', and a rule to match with the file path.
Example:
--- compression.conf --
none .jpg
zip .txt
------------------------
The default compression type is 'zip'.
There are 4 types of rules that can be specified, and the order of application is the following:
1.- File path rule
2.- File name rule
3.- File extension rule
4.- Wildcard rule
Examples:
1.- /dir/foo.png
2.- foo.png
3.- .png
4.- /**/foo*.???
If a file path matches with a path rule, the matching rule compression type will be used. Otherwise, PlasticSCM will try to match the file path with the next kind of rule.
The 'compression.conf' file can be defined in the following locations:
Root of the workspace (it will be valid only for that workspace).
User config folder (usually
'\Users\AppData\Local\plastic4' or '$HOME/.plastic4'
) (it will be apply for all workspaces).
If both files exist, their rules will be combined.
5.4.10.564
Private | 2014-05-07
Bug
The server was returning a 'CmItemLoadedTwiceOnTr…
Server: The server was returning a 'CmItemLoadedTwiceOnTreeException' performing a checkin after a merge operation, when the merge source contributor has performed changes like the example below:
- Initial content:
/
/dialogs
/dialogs/Progress.cs
/views
- Changes on source contributor
added /gui
moved /views -> /gui/views
moved /dialogs -> /gui/views/common
modified /gui/views/common/Progress.cs
This issue has been fixed.
Merged releases
5.4.9.560
Private | 2014-04-23
New
from now on, the return code of 'cm find' won't b…
Command line client: from now on, the return code of 'cm find' won't be an error code if the object specified in the condition is not found in the repository. An empty list will be returned instead.
Added 'srcrepname' field to the 'cm find attribut…
Command line client: Added 'srcrepname' field to the 'cm find attribute'. Also, 'srcrepname' and 'dstrepname' have been added to the 'cm find link' fields.
Example:
cm find attribute where srcobj='br:/main' --format="{value} rep:{srcrepname}"
from now on, the 'cm status --changelists --xml'…
Command line client: from now on, the 'cm status --changelists --xml' command shows the changelist name in the xml output.
now, both the update operation with pending chang…
Transformable workspaces: now, both the update operation with pending changes in the workspace, and the fast-update operation performs a check before updating: they will consider the defined transformer rules in the workspace and check whether they are compatible with the incoming changes the update operation would apply.
If the check fails, the operations will fallback as follows:
In case of a fast-update operation, a standard update will be run.
In case of update with pending changes operation, a merge operation
will be run.
Bug
the 'cm changelist' command didn't support multil…
Command line client: the 'cm changelist' command didn't support multiline description. Fixed.
5.4.9.558
Private | 2014-04-21
New
Added support for partial update with transformer…
Transformable workspaces: Added support for partial update with transformer rules.
Merged releases
5.4.9.556
Private | 2014-04-11
New
Performance
Performance
Server: Improved memory usage when caching large number of changeset trees (> 300K items).
Results obtained (450K items in a tree):
Without the new improvements:
1 tree in the server cache -> 230 MB.
5000 trees in the server cache -> 1320 MB.
With the new improvements:
1 tree in the server cache -> 250 MB.
5000 trees in the server cache -> 290 MB.
Bug
Support recursive groups in AD integrated securit…
Active Directory authentication mode: Support recursive groups in AD integrated security. There were several scenarios where the permissions weren't applied as expected.
Example of failing scenario:
User U1.
Group G1. Members of G1: G2.
Group G2. Members of G2: U1.
If the 'read' permssion is denied to group 'G1' on a repository, the user 'U1' will have read permissions for that repository when it shouldn't.
Now this scenario is fixed, and the read permissions for user 'U1' will be denied.
The paths with accents characters added on window…
The paths with accents characters added on windows are not properly handled on mac (they are wrongly detected as locally moved). Fixed.
Fixed an error viewing differences in the Code Re…
Web UI: Fixed an error viewing differences in the Code Review page from the WebUI.
Merged releases
5.4.9.552
Private | 2014-04-01
New
External data storage implemented for file revisi…
Server: External data storage implemented for file revision contents. Now it is possible to setup the Plastic SCM server to store file revision chunks in a directory instead of inserting the contents in the database backend. Setting up this configuration leads into performance improvements on update and checkin operations.
To setup this configuration, the 'db.conf' file on Plastic SCM server folder should add the following contents:
<BlobStorage>
<BasePath>FULL_PATH_TO_DIRECTORY_STORAGE</BasePath>
</BlobStorage>
Along with "BasePath" configuration, uses may change minimun size threshold for revision chunk to be stored in the storage directory.
Only the file revision chunks whose size* is bigger than the configured threshold will be stored on the storage directory.
(*) file revision chunks after compression. To setup this value, add the following xml tag:
<MinSize>THRESHOLD_IN_BYTES</MinSize>
Example:
<BlobStorage>
<BasePath>C:\PlasticSCM\server\db_storage</BasePath>
<MinSize>1000</MinSize>
</BlobStorage>
Merged releases
5.4.8.550
Private | 2014-03-26
New
Column filters are now available on all views. An…
GUI: Column filters are now available on all views. An improved filter mechanism lets you specify the column you want to use to filter.
You can still use the old filters to search on all columns, but you can also restrict the search to a given column as follows:
[<column_name>:<filter_value>]*
Examples of valid filters are:
- On changesets view:
"created by":mike comment:"first changeset"
- On pending changes view:
status:changed item:bin/lib type:txt
Bug
Fixed the help of the 'cm history' command
Command line client: Fixed the help of the 'cm history' command.
There was a mismatch when using 'cm hist --format' between the documentation and the format string.
Fix missing data in sematic method history showin…
Semantic method history: Fix missing data in sematic method history showing the history of a method when merged revisions are involved.
Fixed an edge case on a recursive merge (the merg…
Merge: Fixed an edge case on a recursive merge (the merge operation calculates more than one ancestor changeset):
- When one ancestor has removed an xlink and added a new one on the same path, and another ancestor involved on the intermediate merge hasn't changed the xlink (the removed one), the merge was failing with the error: "Can't add an entry with the same name. Duplicated child []".
5.4.8.546
Private | 2014-03-20
New
Performance
Performance
The number of compression threads during the upload processes (affects to the checkin, fast-import, etc.) can be configured to take advantage of the multi-cpu environments.
This value can be set between 1 and 10. (With any other number it will work as single-threaded).
To configure this value, the client.conf file should be edited and add a xml node, named 'UploadCompressorsNumber' as follows:
<ClientConfigData>
...
<UploadCompressionSize>2</UploadCompressionSize>
...
</ClientConfigData>
Performance
Performance
The number of concurrent threads during the downloading processes can be configured in order to improve the performance of the update operation.
To configure this value, the client.conf file should be edited and add a xml node, named 'DownloadPoolSize' as follows:
<ClientConfigData>
...
<DownloadPoolSize>3</DownloadPoolSize>
...
</ClientConfigData>
5.4.8.542
Private | 2014-03-14
Bug
The owner of a submodule couldn't be changed. Fix…
The owner of a submodule couldn't be changed. Fixed.
5.4.8.541
Private | 2014-03-13
Bug
Fixed several issues regarding submodules feature
Fixed several issues regarding submodules feature.
5.4.7.539
Private | 2014-03-13
Bug
Sync view: An error message was shown when syncro…
GUI: Sync view: An error message was shown when syncronizing a repository with a submodule. Fixed.
Fixed an error in the [code]'cm log'[/code] comma…
java cm client: Fixed an error in the 'cm log'
command using '--xml=path'
argument.
5.4.7.538
Private | 2014-03-10
New
Now it is possible to create 'repositories inside…
"Submodules" feature available: Now it is possible to create 'repositories inside repositories' or 'submodules'. It means that a single physical repository (mapped to a physical database) can contain multiple submodules, each of them being a complete repository.
Check the following example1:
cm mkrep quake
cm mkrep quake/engine
cm mkrep quake/opengl
cm mkrep quake/directx
cm lrep
1 default localhost:8084
2 quake localhost:8084
2:1 quake/engine localhost:8084
2:2 quake/opengl localhost:8084
2:3 quake/directx localhost:8084
The 'submodule' name is as follows: parent_repo/module_name, which allows companies creating a repository namespace to better organize big organizations.
In the previous example it would be possible to work on the 'quake' repository as usual, but also on 'quake/engine'.
Each submodule is a complete repository with no differences from a conventional one other than the name and the fact that it is stored inside the database of the parent repository.
From the security point of view the permissions of a submodule inherit from its parent repository.
The main motivation behind submodules is to help IT managers to manage the repositories in huge companies with many small repos which are better stored inside a single physical database. Submodules give more flexibility to the IT managers to design the database infrastructure.
Together with the submodule implementation some improvements have been made to the database layer: Now the Plastic SCM server can start up using clean databases (created by db admins) and create its tables inside. It means the database admins can precreate the databases to contain repositories.
Notes:
*Submodules are implemented as database schemas in SQL Server and Postgresql.
*For all the other backends new tables prefixed with the module identifier are created.
The PSF now supports submodules in the repository…
Eclipse plugin: The PSF now supports submodules in the repository spec.
Performance
Performance
Command line interface: The time loading client.conf file has been improved if the Plastic SCM version is the one compiled in .NET 4. (in .NET 2 these improvements were already available).
These improvements can be noticed running any 'cm' command, as well as startup time of Plastic SCM GUI client.
Results obtained executing 'cm version --timer'
:
- .NET 2:
Before -> 78 ms.
After -> 265 ms.
- .NET 4:
Before -> 63 ms.
After -> 156 ms.
Merged releases
5.4.6.535
Private | 2014-02-27
New
Implemented transformer rules, explained below
Transformable workspaces: Implemented transformer rules, explained below:
== Transformer rules ==
- The workspace content can be locally transformed based on some rules. It means, workspace items can be moved to different locations or even not loaded.
Two kind of rules are currently supported:
=== Move rules ===
This rule moves a controlled path to a different location. The source path and the parent folder of the destination path must be also controlled.
Parts of one repository can be loaded inside a different repository without any restriction.
Examples:
mv /Game /TnT/Game
mv /src/libs/nh3 /nh3
=== Remove rules ===
This rule avoids loading certain parts of the tree. The specified path must be a controlled path.
Examples:
rm /src/bin
rm /textures/hugefile.map
== Transformer rules: How to use them ==
These rules are specified in a file named
'plastic.transformerrules'
inside the workspace folder named'.plastic'
(it must be manually created first).After editing the file to add, remove or change any rule, an update operation must be manually executed to make the workspace changes effective (forgetting the update operation after editing the file can lead to weird issues).
There cannot be pending changes in the workspace when editing the rules file.
== Transformer rules: Current status ==
- This functionality is still under development although a standard working cycle can be normally performed. The most common operations are supported: add, rm, co, unco, ci, merge, status, ls, etc.
=== Not supported scenarios with transformer rules ===
Fast-update operation.
Update with controlled pending changes.
Cloaked functionality.
Merge inside rm rules.
=== Known issues ===
The 'unco' operation of a local delete operation with a move rule inside cannot be completed. This issue can be workarounded by running a standard update once there aren't controlled changes in the workspace.
The edited xlinks are automatically checked in when they contain a transfomed item with changes inside it.
The 'Retry update' or 'Update forced' buttons from the 'Update report' view can lead to an uncontrolled exception if message says that some rule couldn't be applied. A partial update (unrecommended operation) from the command line could end up with the same error.
A directory can be kept as checked out after a merge operation if a replace operation involves a transfomed moved item (the move rule must involve different parents).
=== Restrictions ===
- The xlinks cannot be moved by transformer rules. Example:
mv /src/xlink /xlink
- The tranformer rules cannot modify an already applied rule. Example:
mv /src/foo.c /src/bar.c
mv /src /source
- The rm rules cannot be applied when they contain the source or destination of a mv rule. Example:
mv /src/foo.c /doc/foo.c
rm /src or rm /doc
- The rm operation cannot be applied when it contains the source or destination of a mv rule. Example:
mv /src/foo.c /doc/foo.c
$cm rm src
- The transformed moved nodes cannot be moved again. Example:
mv /src/foo.c /doc/foo.c
$cm mv doc/foo.c foo.c
Bug
The fast-update operation was failing when it had…
Command line client: The fast-update operation was failing when it had to update an xlink whose target repository has changed (the relative server option). Fixed.
The recursive merge could fail when multiple int…
Merge operation: The recursive merge could fail when multiple intermediate merges calculate the same writable xlink to be copied (added). Fixed.
5.4.6.532
Private | 2014-02-20
New
Implemented core system
Transformable workspaces: Implemented core system.
The "cm sync" command output and help has been im…
P4 sync: The "cm sync" command output and help has been improved. Now, the sync process will notify progress in the initial phase, when the process is fetching the changes that needs to be synced (pulled from foreign scm or pushed from PlasticSCM to the foreign scm).
Bug
When you perform a [code]"cm status --changelist"…
Command line interface: When you perform a "cm status --changelist"
command in a partial path, some non-persistent changelists were deleted.
The [code]"cm cat"[/code] was writing an extra em…
Command line interface: The "cm cat"
was writing an extra empty line at the end of the output when the "--file"
option was not specified. Fixed.
Merged releases
5.4.6.525
Private | 2013-01-28
New
Added some shortcuts to the GUI:
Ctrl+D
to show branch and changeset differences from the Branches View, Changeset View and Branch Explorer.Ctrl+V
will focus an item in the Items View if you have copied the item path in the clipboard.The diff view (diff branch, changeset) uses the following shortcuts:
** Ctrl + Alt + +
to navigate to the next file
** Ctrl + Alt + -
to navigate to the previous file
** Ctrl + Shift + Alt + +
to navigate to the last file
** Ctrl + Shift + Alt + -
to navigate to the first file
** There is no need to focus the differences control to navigate through differences (Ctrl+ + or Ctrl + -
).
Added [code]--commentseparator[/code] option to c…
cm sync: Added --commentseparator
option to customize a separator for the comments added automatically by Plastic SCM (e.g.: when --traceinfo
option is set). If --commentseparator
is not specified, the default separator will be a couple of new lines.
Bug
Now, if [code]--tree[/code] or [code]--selector="…
The cm ls command did not show proper information if the --tree option was used along with a workspace or a non-existent path. Fixed: Now, if --tree
or --selector="rep..."
are specified, the path provided must be a server path (/dir/file.txt
), not a workspace path (C:/Users/myuser/mywk/dir/file.txt
).
5.4.6.524
Private | 2014-01-27
New
The "cm sync" command output and help have been i…
P4 sync: The "cm sync" command output and help have been improved. Now, the sync process will notify progress in the initial phase, when the process is fetching the changes that needs to be synchronized (pulled from the foreign SCM or pushed from Plastic SCM to the foreign SCM).
Bug
Fixed a NullReference exception calculating some…
Fixed a NullReference exception calculating some cases of cherry pick.
Merged releases
5.0.44.767
Public | 2016-07-28
Bug
Fixed an issue in protocol auto-detection that en…
Fixed an issue in protocol auto-detection that ended up in a hanged server combined with clients having wrong LDAP passwords massively.
5.0.44.764
Public | 2016-07-15
New
Plastic network protocol
Plastic network protocol.
This new release of Plastic SCM 5.0 adds official support for the new 'Plastic network protocol' (a.k.a. 'plasticproto').
In short, this release makes 5.0 clients compatible with 5.4 servers.
Plastic SCM 5.0 clients upgraded to BL764 will be compatible with 5.4.16.765 servers and later.
The 5.0 client automatically detects the protocol supported by the server. It tries to connect using 'plasticproto' first, and if it fails it falls back to remoting.
The main features of plasticproto are:
Improved API compatibility. Our intention from now on is to keep all clients and servers compatible (from this release onwards). It means we get rid of breaking compatibility on major releases as we did in the past. All of this will greatly simplify deployment, especially on big teams. Users will be able to upgrade to a newer major release even if not the team members upgrade at the same time. Compatibility checks now happen on a per method basis. Methods can be versioned independently, which helps us evolving the API faster while not forcing all users to upgrade.
Reduced call overhead: the protocol is much more compact than before, because it is lower level and designed ad-hoc for Plastic. As an example: a simple "cm lrep" request (just the request, not including the answer) was about 400 bytes before. Now it is about 50 bytes when a new socket connection is opened, and only 2 bytes if a connection is reused.
Increased portability. The new plasticproto makes it simpler to port to new frameworks like .NET Core and implement native clients on mobile devices. This is because it doesn't rely on complex RPC like before, but just on plain sockets.
Better performance: the lighter API helps during both performance and scalability tests. While the initial version is not dramatically faster than the older on LAN, the plan is to use it to greatly improve data transfer.
A little bit of history:
For years, communications between Plastic client and servers (including communications between servers) happened through .NET/Mono Remoting.
In fact, it was a heavily customized remoting layer, improved for scalability, performance, memory reduction and faster serialization, among others.
It allowed us to run circles around other version controls (more here: https://www.plasticscm.com/version-control-for-games.html#performance-results) but it had issues regarding major version compatibility.
We had to freeze the API to keep it compatible, and per-method versioning was not easily doable.
How to enable plasticproto:
Simply install a new 5.4 server on release 5.4.16.765 and you will see how you can cleanly connect from a 5.0.44.764 client in 5.0.
Remarks: 5.0 clients do NOT need plasticpipeprotocol.conf
file unlike 5.4 clients.
5.0.44.716
Public | 2015-12-21
New
The repositories list are loaded on server startu…
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.
Remove some noisy, unneeded log entries
Server: Remove some noisy, unneeded log entries.
5.0.44.715
Public | 2015-12-21
New
Improvements in Channel Call log
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.
Loading of active/inactive users is only done dur…
Server: Loading of active/inactive users is only done during server startup.
ActivityScheduler was locking the task list on ex…
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.
The ACLs for all repos are now loaded on server s…
Server: The ACLs for all repos are now loaded on server startup instead of on demand.
DatabaseUpgradeDisabled. It must be set as [code]…
Added a new flag to 'server.conf' file to disable database upgrades: DatabaseUpgradeDisabled. It must be set as <DatabaseUpgradeDisabled>true</DatabaseUpgradeDisabled>
on server.conf. 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.
5.0.44.714
Public | 2015-12-19
Bug
Reviewed performance of GetRepositoryList calls
Server: Reviewed performance of GetRepositoryList calls.
5.0.44.713
Public | 2015-12-18
Bug
Security info was wrongly recalculated when a new…
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
Public | 2015-11-12
Bug
[code]cm find on repository[/code] was incorrectl…
Command Line Client: cm find on repository
was incorrectly listing all repos even when it was not needed. It caused a performance impact under heavy load. Fixed.
IMPORTANT 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.
5.0.44.631
Public | 2014-12-16
New
This release introduces the new Team and Enterpri…
This release introduces the new Team and Enterprise Editions.
5.0.44.629
Public | 2014-12-10
New
Improved I3 (black) theme on Windows by using the…
GUI: Improved I3 (black) theme on Windows by using the ClearType Fonts.
Changed 'Branch Explorer' view colors in Visual S…
Visual Studio plugin: Changed 'Branch Explorer' view colors in Visual Studio 2012 or higher. Now, branch explorer colors are clearer so contrast is higher. Old colors had low contrast and they were difficult to distinguish.
Pending changes: Now, extra file info (changeset,…
GUI: Pending changes: Now, extra file info (changeset, size, author and modification date) is displayed for binary files.
[code]cm mklabel[/code] command can now be execut…
Command line client: cm mklabel
command can now be executed from outside a workspace. The syntax is the following:
cm mklabel lb:labelname@rep:myrep@localhost:9092 --changeset=8733
Note the cset number is mandatory in this case.
Added support to sync with Git repositories using…
GitSync: Added support to sync with Git repositories using SSH protocol.
To use this feature correctly, users must have a SSH command line client in the PATH environment variable properly configured (described below).
=== SSH client configuration ===
* A SSH command line client "ssh" should be configured in the PATH environment variable.
* Copy the private key file (usually a file called "id_rsa") to the ssh config folder.
Usually the folder name is ".ssh", located in the user's HOME folder.
** On Windows-based OS, the "HOME" environment variable has to be set to the user folder,
such as "C:\Users\myuser".
** On Linux-based OS, don't forget to set proper permissions to the private key file:
"$chmod 600 /home/myuser/.ssh/id_rsa"
* Use the GitSync specifying the SSH clone URL.
Example: "$cm sync rep2 git git@bitbucket.org:myuser/myrepo.git"
If the private key is protected, the user will be prompted to enter the passphrase.
=== Troubleshooting ===
* Problem: The ssh server is not listening in port 22, or
different private keys have to be set for different servers.
** Solution: Create a "config" file in the ".ssh" folder, specifying different settings foreach server.
Example of "config" file contents:
Host gitolite.elegosoft.com
User gitolite
Port 2222
IdentityFile ~/.ssh/id_rsa
Host github.com
User git
IdentityFile ~/.ssh/github_key
Host bitbucket.org
IdentityFile ~/.ssh/id_rsa
* Problem: I get "An error occurred while connecting to Git".
** Solution: It might be an error related with the configuration of the ssh client.
It is recommended to use GitSync with the command line client to get more info about the error.
Example: "$ cm sync rep2 git git@bitbucket.org:myuser/myrepo.git"
Bug
[code]cm showacl[/code] couldn't be execute from…
Command line client: cm showacl
couldn't be execute from outside a workspace. Fixed.
Private items excluded from 'ignored' parents cou…
Command line client and GUI: Private items excluded from 'ignored' parents couldn't be neither added nor listed in the 'pending changes' view or cm status
command.
For instance, using this set of rules in the 'ignore.conf' file:
/src
!/src/bin
the 'pending changes' view and cm status
command were hiding all items under /src
, even those items under /src/bin
.
Fixed. Now, /src
path and children paths such as /src/readme.txt
, /src/lib/newlib.h
, etc. will be correctly shown as 'ignored' items, whereas /src/bin
and its children paths (such as /src/bin/client.exe
, /src/bin/deps/pom.xml
) will be shown as private items.
Remark: The cm status --cutignored
will still hide everything under an 'ignored' item.
[code]cm mklabel[/code] command was failing when…
Command line client: cm mklabel
command was failing when using --changeset option with an invalid changeset number. Fixed. Now, this error condition is notified to the user.
Fixed an error performing a 'merge' operation whe…
Merge: Fixed an error performing a 'merge' operation when a directory is removed and reloaded again during the merge resolution. The file conflicts could be lost if they were related to the reloaded directory.
The failing scenario is the following:
- Initial structure:
/
/src
/src/bar.c
/src/foo.c
- Changes in source contributor:
add /doc
ch /src/foo.c
mv /src/foo.c to /doc/foo.c
delete /src
- Changes in destination contributor:
ch /src/foo.c
ch /src/bar.c
Choosing 'keep source' option in the directory conflicts resolutions (DeleteChange + MoveDelete) were causing the changes in the '/src/bar.c' item were lost.
Now the case it's fixed, and the file contents are correctly merged.
5.0.44.626
Public | 2014-11-25
New
Now, IntelliJ 13 is also supported
IntelliJ Plugin: Now, IntelliJ 13 is also supported.
Bug
When the user tried to submit a single deleted it…
Unity 3D: When the user tried to submit a single deleted item, some other paths were proposed to be submitted also, when they shouldn't, as the user only wanted to submit the deleted path.
This scenario has been fixed, and only the requested path is proposed to be submitted.
The extended trial registration process was openi…
The extended trial registration process was opening an invalid URL. Fixed.
The license notification area was being displayed…
GUI: The license notification area was being displayed by mistake sometimes. Fixed.
After a repository renaming, the GUI might show a…
GUI: After a repository renaming, the GUI might show an error when building context menu options for an item in the 'Items' view. Fixed.
URL's that started with 'https' string were unsup…
CodeBeamer Task Control: URL's that started with 'https' string were unsupported. Fixed, added SSL communication support.
An error occurred trying to search matches for a…
GUI: An error occurred trying to search matches for a locally moved file, when it was checked out. Fixed.
5.0.44.620
Public | 2014-11-06
New
Branch Explorer: If the selected object is change…
GUI: Branch Explorer: If the selected object is changed and their comments have been edited but not saved yet, a confirmation dialog is shown to let the user save the changes or discard them before changing the selection.
The about form contains now a link to the release…
GUI: The about form contains now a link to the release notes in the website.
Now it is possible to submit a single path under…
Unity plugin: Now it is possible to submit a single path under a directory that has been previously renamed/moved. The renamed/moved directory and its '.meta' file will also be submitted, as they are required dependencies for the selected path.
Example:
- The Unity project has the following structure:
/Assets
/Assets/Fonts
/Assets/Fonts.meta
/Assets/Fonts/C64.ttf
Rename
/Assets/Fonts
to/Assets/Fonts_renamed
(the/Assets/Fonts.meta
file will also be renamed to/Assets/Fonts_renamed.meta
)Now, change the file
/Assets/Fonts_renamed/C64.ttf
and/Assets/Fonts_renamed/C64.ttf.meta
Submit
/Assets/Fonts_renamed/C64.ttf
and/Assets/Fonts_renamed/C64.ttf.meta
: The directory/Assets/Fonts_renamed
and its '.meta' file will also be submitted as required dependencies.
Before this release, the submit operation wasn't able to finish sucessfully unless a full submit operation (submit all pending changes in the workspace) was performed. Now, it is possible to submit single paths in this scenario.
Bug
The mono version (2.6) included in the installer…
The mono version (2.6) included in the installer has an issue with the date conversion of files timestamp, causing that some files were wrongly detected as changed, after the daylight savings.
Now, the files timestamps are converted correctly even using old mono versions.
The 'cm li' command was showing an expiration dat…
Command line client: The 'cm li' command was showing an expiration date for 'unlimited' licenses. Now the command shows 'unlimited' string instead of an expiration date.
5.0.44.618
Public | 2014-10-28
New
Implemented 'tree' view mode (items grouped by pa…
GUI: Implemented 'tree' view mode (items grouped by path) for Pending changes view and Diff branch/changeset views.
Items can be shown grouped by paths. To enable this new view mode, right click in the list of items and select the context menu option: 'view items' > 'as list/as tree'.
Bug
When an item moved on destination and changed on…
GUI: When an item moved on destination and changed on both source and destination contributors was diffed from the Merge view, a "Incorrect object specification" error message was shown. Fixed.
The 'blame' algorithm finds in which revision eac…
Annotate (blame): The 'blame' algorithm finds in which revision each line of a file was created. Normally it is just about traversing the parent revisions but, when merges are involved the calculation must consider also each merge contributors.
There was a bug finding whether the line was changed in the parent or in one of the merge sources. Now the issue has been fixed.
5.0.44.616
Public | 2014-10-23
Bug
A notification panel indicating the license has e…
GUI: A notification panel indicating the license has expired was wrongly shown when the Plastic SCM GUI was connected to a server whose version was older than 5.0.44.614. Fixed.
5.0.44.614
Public | 2014-10-20
New
Code review: Now the differences in file system p…
GUI: Code review: Now the differences in file system permissions are highlighted in a darker color to make it easier for users to check what permissions have been changed.
A new configuration dialog for the Plastic SCM se…
A new configuration dialog for the Plastic SCM server has been implemented. The configuration wizard has been replaced by a single form where the server can be easily configured in a single step.
Bug
An error was being shown in the sync process from…
GitSync: An error was being shown in the sync process from Git to Plastic SCM having the following scenario:
Have a Plastic SCM and Git repositories synchronized.
Create a Xlink in Plastic SCM and push to Git (new empty commit is created in Git)
Run an update operation in Git, and commit a new change.
Try to sync to get the new changes performed in Git -> An error is shown.
This scenario has been fixed and now the new changes can be pushed from Git to Plastic SCM.
The checkin operation was failing with certain ra…
Checkin operation: The checkin operation was failing with certain rare files that cannot be compressed. Fixed.
Fixed duplicated items in the differences of a br…
Fixed duplicated items in the differences of a branch where other branches are merged into this one.
An item appeared as many times as merges where the item was modified.
5.0.44.611
Public | 2014-10-06
New
The plugin has been upgraded to support the newes…
Crucible plugin: The plugin has been upgraded to support the newest Crucible version available (v3.5.4).
Now the plugin is fully compatible with Bamboo 5.…
Bamboo plugin: Now the plugin is fully compatible with Bamboo 5.6.x series.
The differences of changesets and branches have b…
Item merge tracking: The differences of changesets and branches have been improved in the way readonly xlinks are handled in merges. Now, the xlink addition, edition, or deletion is displayed in the 'merge from' category.
In case of a xlink edition (replace the target changeset in the source contributor of the merge), the differences between the old target and the new target are also displayed in the 'merge from' category.
A new tool has been implemented to calculate line…
A new tool has been implemented to calculate line-of-code and source-lines-of code statistics for every modification stored on a given repository. The new tool can be found in the client directory, named 'repostatscalculator'. Output results can be stored into a MySQL database.
To show the tool usage, just type 'repostatscalculator' without arguments in a shell window.
Bug
Fixed an error performing a 'merge' operation whe…
Merge: Fixed an error performing a 'merge' operation when a directory is removed and reloaded again during the merge resolution. The file conflicts could be lost if they were related to the reloaded directory.
The failing scenario is the following:
- Initial structure:
/
/src
/src/bar.c
/src/foo.c
- Changes in source contributor:
add /doc
ch /src/foo.c
mv /src/foo.c to /doc/foo.c
delete /src
- Changes in destination contributor:
ch /src/foo.c
ch /src/bar.c
Choosing 'keep source' option in the directory conflicts
resolutions (DeleteChange + MoveDelete) was causing
the file conflict of the '/src/bar.c'
item was lost.
Now, the file contents are correctly merged.
Fixed unix date format in 'cm log' command
Command line client: Fixed unix date format in 'cm log' command.
Previously, tick counts since epoch was returned when
'{unixdate}' was requested in 'csFormat' string.
Now, the command returns unix timestamp correctly
(seconds since epoch).
5.0.44.603
Public | 2014-09-12
New
Two new categories have been added in the differe…
GUI: Two new categories have been added in the differences dialog (Diff branch contents, Diff changeset contents):
- Changed during merge (CC): it groups files changed during the merge by both the source and the destination contributors.
This new category has been added to ease during the review of all branch differences without having to expand each merge looking for merged files.
In addition, an informative panel has been added to keep merge information for each file. From this informative panel is also possible to navigate to the change in the merged category.
- Only filesystem permissions changed (Fs): it groups files with only filesystem permissions changes (chmod).
This new category has also been added to ease the review of changes.
Item search improved in 'Items' view with wildcar…
GUI: Item search improved in 'Items' view with wildcards and basic regexp. The following wildcards are allowed:
'*' -> Will match any character sequence of 0 or more characters
'?' -> Will match a single character.
'pattern' -> Will match only this pattern, strictly, but this won't match any string that contains the pattern inside.
Basic C# regex are allowed like ^pattern or pattern$ to match only the begining or the end of the string. Additional C# regexp not containing '*' and '?' characters are also allowed.
'Items' view, usability improvement: From now on,…
GUI: 'Items' view, usability improvement: From now on, after deleting an item, the focused node will be a closer one to the deleted node in order to avoid too much scrolling.
Now, the expansion rules of an xlink are listed i…
GUI: Now, the expansion rules of an xlink are listed including the repository on the xlink dialog (the dialog that is used to create or edit an xlink).
Bug
When an item was added in a branch and merged to…
GitSync: When an item was added in a branch and merged to another branch in git, the GitSync was deleting and adding the item in Plastic SCM, which could lead to traceability issues. Fixed. Now, the same item is reused, just creating a new revision only when needed (that's it, if the item was also modified).
Unable to submit a directory that has been previo…
Unity plug-in: Unable to submit a directory that has been previously moved or renamed. Fixed.
The differences dialog (Diff branch contents, Dif…
GUI: The differences dialog (Diff branch contents, Diff changeset contents) were showing a wrong path for any change inside an xlink that was inside another xlink.
Example of failing case:
* add + checkin /code (wxlink)
* add + checkin /code/win32 (another wxlink)
* add + checkin /code/win32/win_local.h
* checkout + modify + checkin /code/win32/win_local.h
When the differences were shown, the path of the item 'win_local.h' was '/code/code/win32/win_local.h', which was wrong. Now it is fixed, and the right path is shown, which is: '/code/win32/win_local.h'.
When the target changeset of an xlink is changed…
GUI: When the target changeset of an xlink is changed from the Plastic GUI, an auto expansion rule is generated. But a branch from the xlinked repository is wrongly set as the source branch of the rule. Fixed. Now, the right branch from the parent repository is set as the source branch of the rule.
5.0.44.600
Public | 2014-09-03
New
Now it is possible to use the 'Shelves' view from…
Visual Studio Package: Now it is possible to use the 'Shelves' view from Plastic SCM Visual Studio plugin. The new view is available from the 'Plastic SCM' menu, where all the other views are located.
Improved the selection checkboxes behavior of the…
GUI: Improved the selection checkboxes behavior of the pending changes view. From now on, when the user performs a multiple selection and checks/unchecks one of its nodes, the whole selection updates the checkbox value.
Several usability improvements in the editable di…
GUI: Several usability improvements in the editable differences:
- When there are unsaved changes in the 'pending changes' view (right diff textbox), a prompt dialog is shown asking the user for saving the new changes in the following
scenarios:
The user changes the selection in the file list.
The user refreshes the view.
The user tries to close the view.
The user close the view
When the user selects a textbox in the diff control, the focused textbox is now highlighted.
When the user edits the right contributor in the diff control, the right textbox's header is remarked in red.
Added support for ignored files. Two context menu…
Eclipse plug-in: Added support for ignored files. Two context menus have been added to the Eclipse plugin.
The first one is located in the 'Team' context menu from the package explorer. The second one is located in the 'pending changes' view.
The user can add or remove files to the ignored file list('ignore.conf' file), using the full file path, the file extension or the file name.
Integration updated in order to be compatible wit…
Bugzilla integration: Integration updated in order to be compatible with latest bugzilla versions (v4.4.5).
Bug
Now, the 'update workspace' action in the 'Items…
GUI: Now, the 'update workspace' action in the 'Items in workspace' view, takes into account the 'Behavior when trying to switch / update the workspace with changed items' user option.
Fixed an error performing a 'merge-to' operation…
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/foo.c
* Changes in source contributor:
move /src -> /doc
add /src
move /doc -> /src/doc
move /src/doc/foo.c -> /src/doc/bar.c
Performing a 'merge-to' operation from these changes was causing an error. Now the error has been fixed and the 'merge-to' operation can be successfully completed.
If an 'after-mkrep' trigger failed when creating…
GUI: If an 'after-mkrep' trigger failed when creating a new repository, the 'repositories' view was not refresed and the new repository was not listed. Fixed.
If an 'after-mkworkspace' trigger failed when cre…
GUI: If an 'after-mkworkspace' trigger failed when creating a new workspace, the 'workspaces' view was not refreshed and the new workspace was not listed. Fixed.
Dragging and dropping views in the Plastic SCM GU…
GUI: Dragging and dropping views in the Plastic SCM GUI may lead eventually to an error when trying to reallocate the view in the new location. Fixed.
When working in a '.dtproj' project (SSIS package…
Visual Studio Plugin: When working in a '.dtproj' project (SSIS package project), and the user switches to other changeset different than the loaded one, sometimes a 'The hierarchy is not in a valid state' error message is shown. Now, the problem is fixed and no error message is shown.
After saving a readonly file under version contro…
Visual Studio Plugin: After saving a readonly file under version control, a 'Save as/Overwrite/Cancel' dialog was shown when it shouldn't. Now the issue it's fixed: As the file is under the control of Plastic SCM, a 'checkout for edit' operation is performed to remove the readonly attribute and saving the new file contents.
The 'diff branch/changeset contents' view was not…
GUI: The 'diff branch/changeset contents' view was not showing the deleted items as a result of a merge operation inside the top-level 'Merge from' node. They were shown as regular deleted items in a top-level 'Deleted' node. Now, the issue is fixed.
5.0.44.598
Public | 2014-08-22
New
Now, the maximum comment size can be manually con…
Server: Now, the maximum comment size can be manually configured.
To configure this parameter, add a new tag in the server's 'db.conf' file, named 'CommentLimit' in order to set the value for the maximum allowed comment length (in characters).
Example:
<DbConfig>
...
<CommentLimit>2000</CommentLimit>
...
</DbConfig>
However, this configuration will require the sysadmin to manually alter the database tables to match this new value (see column 'scomment' on table 'object'). The comment length limit is set to 1000 characters by default.
Even so, importing data (cm sync or cm fast-import) will only store the first 1000 characters of incoming comments, no matter which value is contained in the 'CommentLimit' tag.
Warning: Please note that replication operations may fail if servers have different comment length limits. Please make sure that all involved servers have their 'CommentLimit' tag set to the same value in the 'db.conf' file and their repository databases have been modified accordingly.
5.0.44.596
Public | 2014-08-15
New
A new extension supporting CodeBeamer interoperab…
Extensions: A new extension supporting CodeBeamer interoperability has been added. This allows the branch explorer and the changesets or branches views to display issue tracking information from CodeBeamer.
Setup: Include these lines inside your 'client.conf' file:
<Extensions>
<Extension AssemblyFile="[PATH_TO_PLASTIC]\client\extensions\codebeamer\codebeamerextension.dll" />
</Extensions>
Also, you should create a file in the same directory as the 'client.conf' file, called 'codebeamerextension.conf' to configure the extension. You can use this as a template:
<CodeBeamerExtensionConfiguration>
<HttpUrl>http://localhost:8080</HttpUrl>
<User>tester</User>
<Password>tester</Password>
<BranchPrefix>scm</BranchPrefix>
<WorkingMode>TaskOnBranch</WorkingMode> <!-- TaskOnChangeset is also available -->
</CodeBeamerExtensionConfiguration>
Annotate command: Now it is possible to annotate…
Command line client: Annotate command: Now it is possible to annotate a specific revision from the command line, using its full specification.
Examples:
* cm ann AclCmd.cs#cs:12548@libs@saturn:8087
* cm ann AclCmd.cs#cs:12548
Bug
The jenkins plugin did not reuse Plastic SCM work…
Jenkins plugin: The jenkins plugin did not reuse Plastic SCM workspaces correctly when the 'Use update' preference was set. Fixed.
5.0.44.592
Public | 2014-08-06
New
Repository servers sync view: Several performance…
GUI: Repository servers sync view: Several performance improvements have been implemented, along with new features to sync only a subset of branches:
- 'Refresh' operation:
Previously the 'refresh' operation was calculating incoming and the outgoing changes for the expanded repositories. So, in order to show all the incoming and outgoing changes, all the repositories should be expanded first.
Now, the 'refresh' operation calculates the incoming and the outgoing changes for every repository, and not only for the expanded ones.
Pull all the visible incoming branches
'Pull visible': Pull all the visible incoming branches.
'Push visible': Push all the visible outgoing branches.
- Excluded branches feature:
Now it is possible to exclude branches to be synced. The excluded branches will not be taken into account to obtain incoming and outgoing changes. To exclude some branches from the sync process, select the desired branches, right-click on the mouse and select 'Exclude branches' context menu option.
To enable excluded branches again, select the 'Show excluded branches' context menu option.
This file contains the mappings among repositorie…
This file contains the mappings among repositories the sync view shows in Plastic SCM GUI. The file format has been changed in order to be both human-readable and machine-parsable.
The legacy 'syncviews.conf' file will be automatically upgraded by its equivalent file contents with the new format.
Example of the format of 'syncviews.conf' file:
===== syncviews.conf =====
# comments
// or more comments
sync: local - azure
codice@localhost:8084 -> codice@HADES:7084
excluded: ff583b6c-311d-4178-bb95-74776d4cbef5
excluded: efb96c6c-afc0-4480-9db0-70ac77234ab3
nervathirdparty@localhost:8084 -> nervathirdparty@HADES:7084
devops@localhost:8084 -> devops@HADES:7084
excluded: 1af6ff4b-f7b5-4bd5-8a14-70e0a422bd46
sync: local - diana
documentation/doc@localhost:8084 -> documentation/doc@blackmore:8086
===== End of syncviews.conf =====
Now the pending merge links (merges in progress,…
Eclipse plug-in: Now the pending merge links (merges in progress, pending to be checked in) are shown in the 'Branch Explorer' view.
Implemented a new context menu option 'create bra…
Eclipse plug-in: Implemented a new context menu option 'create branch from this changeset...' in the 'Branch Explorer' view.
'Differences' viewers: Revision metadata, such as…
GUI: 'Differences' viewers: Revision metadata, such as changeset, size, author and modification date, is now shown for binary revisions.
Bug
The changes on a Xlink were not expanded and trav…
The changes on a Xlink were not expanded and traversed during a merge operation when the Xlink is involved on a conflict. Fixed.
Now the Xlink changes are expanded. Fixed also several "null reference" error messages on not so common scenarios involvong Xlink conflicts resolution, such as cherry picks from already merged changes, and path reuse scenarios (delete and add a Xlink with the same name pointing to a different repository).
Fixed an error creating a replication package fro…
Replication: Fixed an error creating a replication package from a repository's branch that contains Xlinks. Fixed.
The 'result' file encoding preference was not con…
Mergetool: The 'result' file encoding preference was not considered in an automatic file merge (when no user intervention is required). Fixed.
The 'Branch Explorer' view was not automatically…
Eclipse plug-in: The 'Branch Explorer' view was not automatically refreshed after checkout, checkin or undo checkout operations. Fixed.
Unable to undo an empty merge (the pending change…
GUI: Unable to undo an empty merge (the pending changes view only shows merge links pending to be checked in). Fixed.
A scenario to reproduce the fixed bug is the following:
Switch to branch '/main'
Create file 'foo.c'
Add & checkin 'foo.c'
Create branch '/main/task001'
Switch to branch '/main/task001'
Delete and checkin 'foo.c'
Switch to branch '/main'
Delete and checkin 'foo.c'
Merge from branch '/main/task001' -> 'empty merge, only a
pending merge link appears in the pending changes view'.
- Undo changes -> before this bugfix, the pending merge link
didn't dissapear, when it should.
History 2D: The 'Branch Explorer' frame was not v…
Visual Studio Package: History 2D: The 'Branch Explorer' frame was not visible when showing the 'History 2D' view if the size of the windows was too small. Now it's fixed.
An error was shown when trying to undo pending ch…
Visual Studio Package: An error was shown when trying to undo pending changes from the 'Check in' dialog. Fixed.
Fixed a 'No tab group available to store new view…
Visual Studio Package: Fixed a 'No tab group available to store new view' error when loading projects that don't have it's solution bound to the source control. Fixed.
The 'Diff' view was showing two scrollbars on Vis…
Visual Studio Package: The 'Diff' view was showing two scrollbars on Visual Studio 2012 or higher. Fixed.
read-only files were not correctly handled. The V…
Visual Studio Package: read-only files were not correctly handled. The Visual Studio Package was unable to overwrite read-only files. Now, a dialog to allow the user to decide what to do when saving a read-only file is shown. (The user will be able to choose among 'Overwrite', 'Save as ...' and 'Cancel').
Now, custom 'Branch Explorer' views, such as 'Sho…
Visual Studio Package: Now, custom 'Branch Explorer' views, such as 'Show selected an related branches in a new diagram', are shown in a new window.
5.0.44.586
Public | 2014-07-22
New
Labels and changesets are now supported in the Pl…
Jenkins plugin: Labels and changesets are now supported in the Plastic SCM selector.
Support for double-byte characters in comments
GitSync: Support for double-byte characters in comments.
Bug
suppose inside a checkout trigger you decide to c…
Now triggers can run recursively: suppose inside a checkout trigger you decide to checkout another file. Now it will work correctly, previously there was an issue with the environment variables. It is very helpful to enforce workflows like checking out associated files.
The "annotate on remote repository" option did no…
Annotate: The "annotate on remote repository" option did not save the correct repository mapping when annotating a file under an xlink. Fixed.
The GUI crashed after defining a color for the sa…
Branch explorer: The GUI crashed after defining a color for the same user in two different branch explorer instances. Fixed.
Also, an scrollbar was added to the user colors panel.
The selected item was not remembered after closin…
GUI: The selected item was not remembered after closing and reopening the items view or the GUI client.
Fixed cut text in the merge view
GUI: Fixed cut text in the merge view.
Sometimes, a "The hierarchy is not in a valid sta…
Visual Studio Package: Sometimes, a "The hierarchy is not in a valid state" error was showed when working in a .rptproj (Business Intelligence for Visual Studio 2012 projects) and switching to another changeset. Fixed.
Merged releases
5.0.44.581
Public | 2014-07-04
New
Plastic SCM is now packaged with the newest BitRo…
Plastic SCM is now packaged with the newest BitRock release. This fixes installation issues detected by some Asian developers.
Bug
The 'branches' view did not work properly switchi…
GUI: The 'branches' view did not work properly switching between 'list' view mode and 'tree' view mode when the list was ordered by name (descending). Fixed.
The progress bar showing the 'current block' uplo…
GUI: The progress bar showing the 'current block' uploading progress was not resized when the dialog was resized. Fixed.
5.0.44.577
Public | 2014-07-18
New
Greatly improved checkin progress. Now when the c…
GUI: Greatly improved checkin progress. Now when the checkin uploads data using a slow network, a detailed progress is displayed so that the user has a much better understanding of what is going on and the detailed upload of each block of 4Mb being uploaded.
Annotate (blame) of the diff views (cset, branch,…
GUI: Annotate (blame) of the diff views (cset, branch, label). Now the diff view is able to show annotations on the left-side and right-side panels. This feature is very useful when reviewing differences, specially checking which lines have been modified during a merge (when a file has been changed on both contributors, annotating the file will show which lines were changed during the merge. This means they were manually edited).
Lines coming from the contributors but not changed during the merge will be marked as coming from the right contributor.
To show the annotations, just right-click in the contents textbox and select the 'Annotate' context menu option.
Also, the look and feel of the annotate panel has been improved.
A tooltip is shown with changeset comments and other info hovering the mouse over an annotation.
Drag and drop support added to the items and 'pen…
GUI: Drag and drop support added to the items and 'pending changes' views.
Now users can drag files from the "items view" and the "pending changes view" to an external application, like an editor or any other app able to accept the file being dragged.
The drag operation is only available for local files: files that are physically available on disk
Xmerge (mergetool) is now able to display more ad…
Xmerge (mergetool) is now able to display more additional information sent by Plastic SCM during a merge.
Added a parameter in mergetool (
--progress
) to notify the current merge operation to the mergetool. This is useful to understand how many files are pending to be merged while you're in the middle of merging a file, without having to switch to PlasticAdded a parameter in mergetool (
--extrainfofile
) to get extra information about the current merge in the mergetoolImplemented a panel in mergetool to show the extended merge info
Improved the symbolic names passed to the mergetool.
Recursive merges are now clearly identified and extra info is available to better understand the operation.
Symbolic paths are now relative to the workspace.
Fixed maximize and restored botton image aligment (also fixed the restore button image, which was wrong)
When the contributor text is trimmed in the "select contributor" buttons, the tooltip will show the entire string.
NOTE: To take advantage of these improvements, change the configuration of your Xmerge (Plastic SCM built-in merge tool) as follows:
--progress="@progress" --extrainfofile="@extrainfofile"
The installer now distributes the Polarion jars a…
Polarion: The installer now distributes the Polarion jars and installation instructions. The 'jar' files will be copied in a directory inside the Plastic SCM "client" folder during an install or upgrade.
The update-merge operation (update that requires…
The update-merge operation (update that requires a merge without conflicts) doesn't support cloaked rules yet. A restriction has been added to avoid misunderstandings. If there are cloaked rules, a regular merge will be launched.
New "find in files" added to the diff cset, branc…
New "find in files" added to the diff cset, branch and label window.
Bug
fixed a bug preventing the annotate to finish
Annotate: fixed a bug preventing the annotate to finish.
It happened only if the ancestor of the annotated revisions met one of the following conditions:
It is a source contributor of a merge
The item was modified by both contributors in the merge
The merge result was equal to the destination contributor (source changes were discarded or source changes were already included in the destination contributor).
This issue has been fixed.
The items view was throwing an 'Index out of rang…
GUI: The items view was throwing an 'Index out of range' exception when selecting items in 'list' view mode and pressing the shift key. Fixed.
5.0.44.574
Private | 2014-06-06
New
Annotate can now be executed with a different rep…
Annotate operation: Annotate can now be executed with a different repository than the configured workspace's repository. This is useful when the workspace's repository is a local replica of a repository in a central server, and only contains a subset of the history. (The local repository only has a subset of branches pulled from the central server). This way, now it is possible to annotate a file with the full info of the central repository.
Usage:
* Command line client:
'cm annotate foo.c --repository=centralRep@myserver:8087'
* Plastic SCM GUI:
Right click on item -> Annotate -> Annotate on remote repository...
(selected repository will be added to the 'Annotate' context menu).
Diff viewers (such as 'Diff branch', 'Diff change…
GUI: Diff viewers (such as 'Diff branch', 'Diff changeset'):
Implemented 'Find In Files' feature. The 'Find in files' control is displayed with the 'Ctrl + Shift + F'
key combination, or clicking in the 'Find in files...' button added in the right side of the toolbar.
Diff viewers (such as 'Diff branch', 'Diff change…
GUI: Diff viewers (such as 'Diff branch', 'Diff changeset'):
Added new Diff options to the context menu of each revision:
Diff revision's branch
Diff revision's changeset
Diff source revision's branch
Diff source revision's changeset
Each Diff action will launch a new window with the differences of the specified item.
Diff window: Added a 'Copy to clipboard' context…
GUI: Diff window: Added a 'Copy to clipboard' context menu option for names and specs shown in the diff window.
Improved progress during merge operations: Now it…
GUI: Improved progress during merge operations: Now it is easier to see the files already merged and the files still pending to be merged.
Also, new menu items are provided to run diff actions for each item while the merge is running.
The changeset tree loading has been improved on M…
Server: The changeset tree loading has been improved on MySql backend for big trees. Now, a temporary table with the involved revisiond is created when loading a tree.
This table will be created in the hard disk by default. To override this setting and create the temporary table in memory, the following parameter in the server's db.conf file can be set:
<MySqlTmpTablesOnMemory>yes</MySqlTmpTablesOnMemory>
The 'LOAD DATA LOCAL' setting in MySql backend must be enabled. (This setting is already enabled by default).
More info on: http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_local_infile
Test performed:
Repository with 11 million revisions. Changeset tree loading measurement, with 418950 files and 27914 folders.
Time to read all the changeset tree revisions (about 440.000 revisions):
Before this release (release 4.1.10.559):
Read 440.000 revisions from the 'revisions' table
(which contains 11 million revisions) -> 11404 ms.
Whith this release (release 4.1.10.561):
Read 440.000 revisions from disk temp table -> 9688 ms.
Read 440.000 revisions from memory temp table -> 6084 ms.
Merged releases
5.0.44.572
Private | 2014-06-04
New
Change in the TCP layer to improve counting of ac…
Change in the TCP layer to improve counting of active and inactive threads.
From now on, if the user performs an update opera…
Update operation on Plastic SCM GUI, Visual Studio and Shell Extension: From now on, if the user performs an update operation on a workspace that already loads the last changeset on a branch but with checked out items in the workspace, the update operation will show an informative message telling that the update operation cannot be run because of those pending changes, instead of an error message.
Bug
Fixed an error when the merge operation or the pe…
Fixed an error when the merge operation or the pending changes view includes a deleted xlink as a change.
When the full workspace is cloaked except some fi…
When the full workspace is cloaked except some files or directories, the merge operation was failing with a 'value cannot be null' error when the source contributor has one or more changes inside the cloaked paths. Fixed.
Example of failing cloaked rules:
/
!/08-2014/an-ers/an-cli-improvements
The URL generated to explore a changeset in an ex…
Polarion: The URL generated to explore a changeset in an external viewer was malformed. This issue has been fixed, and the external viewer is not able to show Plastic SCM changesets.
The console output encoding was not restored afte…
Command line client: The console output encoding was not restored after a command execution with the '--encoding' parameter set. Fixed.
5.0.44.570
Public | 2014-05-27
New
'cm mktrigger' command. Now, Plastic SCM triggers…
Command line client: 'cm mktrigger' command. Now, Plastic SCM triggers can now be created defining the repository that should match before running the trigger indeed. To do that, use the '--filter'
option in the 'cm mktrigger'
command as follows:
'--filter=rep:repositoryName'
This way, before running the trigger, PlasticSCM will check whether the scm operation involves the defined repository. If so, the trigger program will be executed.
The repository filter can be used together with the standard filter if the filters are separated by the pipe character ('|'
).
Example:
cm mktrigger before-checkin "check-files"
"/path/to/script" --filter=rep:default|*.cs
--server=blackmore:8087
In this example, this filter will be executed only before a file with extension ".cs" is checked in in the 'default' repository hosted in 'blackmore:8087' Plastic SCM server.
[code]'cm listtrigger'[/code] command. Added a 'f…
Command line client: 'cm listtrigger'
command. Added a 'filter' field to the list triggers output.
Now, filenames and extensions rules containing re…
Improved filter rules definition for configuration files such as 'ignore.conf','cloaked.conf' and any other configuration file for filtering purpouses: Now, filenames and extensions rules containing regular expression characters will be
automatically matched. This means no '**/' prefix is needed from now on.
Previous format:
**/p?m.xml
**p*.xml
/src/lib/foo.*
Current format:
*/p?m.xml
p*.xml
foo.*
This way, expressions like 'abc.*' are now supported.
Bug
Pending changes view and 'cm status' command. Aft…
Pending changes view and 'cm status' command. After changing the machine time due to a daylight saving, some workspaces were showing changed items when they weren't. Now it is fixed. (If the 'Compare file contents instead of timestamps' option was enabled, the issue was not happening).
5.0.44.569
Public | 2014-05-23
New
Implemented eclipse 3.2 backwards compatibility
Eclipse plugin: Implemented eclipse 3.2 backwards compatibility.
Now it is possible to create a workspace for a gi…
GUI: Now it is possible to create a workspace for a given repository. To do that, just open the 'repositories view', right click on the desired repository and select 'Create workspace for this repository'.
From now on, the built-in mergetool application r…
MergeTool: From now on, the built-in mergetool application returns an exit code different than '0' if the merge result file was not saved.
Implemented also a new option, named '--silent'
, which runs mergetool in silent mode. This is useful combined with the '--automatic'
option: If both options are present, the mergetool won't show the merge dialog that requires user intervention. Instead, an error code different than '0' is returned.
Bug
The installer was not checking whether Visual Stu…
Visual Studio 2013 Package: The installer was not checking whether Visual Studio was running during a Plastic SCM upgrade. Therefore, the VSIX installation might fail because the installer could not replace the old binary files with the new binaries. Fixed.
5.0.44.566
Public | 2014-05-20
New
Pending changes view 'moved file detection' funct…
GUI: Pending changes view 'moved file detection' functionality now enables 0% to 100% values. The search matches dialog previously had a minimum of 50%. Now it is possible to match any file from the added/deleted list. Other aesthetic and usability issues have been improved.
The 'cm find review' is now able to filter the ou…
Command line client: The 'cm find review' is now able to filter the output by the following fields:
title: The title of the code review
targettype: 'branch' or 'changeset'
target: The element being reviewed.
I.e. a Branch Spec, a Changeset Spec, or an object Id.
Examples:
* cm find review where targettype = 'branch'
* cm find review where targettype = 'branch' and target = 'br:/main/br1'
* cm find review where title like '%br2%'
Now, the 'listlocks' command shows the user name…
Now, the 'listlocks' command shows the user name instead of the SID.
Bug
When the 'listlocks' command is used with the [co…
When the 'listlocks' command is used with the '--onlycurrentuser'
option with an authentication mode that uses SID's, no locks were returned, although the current user had locked items. Fixed.
Fixed an issue when performing a checkin which in…
Checkin operation: Fixed an issue when performing a checkin which involves items in an xlinked repository and its parent repository.
If the checkin operation finishes sucessfully in the xlinked repository but the checkin in the parent repository fails, the xlink target is properly updated to the newly created changeset in the xlinked repository.
The 'cm find revs' command was printing unexpecte…
Command line client: The 'cm find revs' command was printing unexpected paths in the output with certain 'where' clause filters. Fixed.
Merge view: The 'open contents' and 'diff' action…
GUI: Merge view: The 'open contents' and 'diff' actions weren't available for xlink conflicts. Fixed.
Merge view: Improved 'view contributors' dialog.…
GUI: Merge view: Improved 'view contributors' dialog. Added scroll to the 'ancestors' textbox when the merge operation detected more than one ancestor (recursive merge).
The 'cm ls' command was failing if the workspace…
Command line client: The 'cm ls' command was failing if the workspace contained xlinks and:
the
'--tree'
option or the'--selector'
option were usedtogether with the
'--xml'
or the'--format'
optionsand the
'-R'
option was not used.
Fixed.
The server was returning a 'CmItemLoadedTwiceOnTr…
Server: The server was returning a 'CmItemLoadedTwiceOnTreeException' performing a checkin after a merge operation, when the merge source contributor has performed changes like the example below:
- Initial content:
/
/dialogs
/dialogs/Progress.cs
/views
- Changes on source contributor
added /gui
moved /views -> /gui/views
moved /dialogs -> /gui/views/common
modified /gui/views/common/Progress.cs
This issue has been fixed.
5.0.44.563
Public | 2014-05-05
Bug
The polarion plugin was designed to work on a sin…
Polarion: The polarion plugin was designed to work on a single branch. Removed the branch parameter from the polarion configuration. Now the polarion plugin allows to query all the Plastic SCM repository, so all revisions are polled by the plugin.
minor aesthetic issues fixed on 'Create / Edit Xl…
GUI: minor aesthetic issues fixed on 'Create / Edit Xlink' dialog.
The 'replication sources' panel of the branch exp…
GUI: The 'replication sources' panel of the branch explorer was showing an incorrect error message when the branch explorer cannot connect to a certain repository.
5.0.44.562
Public | 2014-05-01
New
The plasticlogstats server diagnostics app has be…
The plasticlogstats server diagnostics app has been modified. It now supports grouping by hour (--hour
) and output data in XML format to a file (--xml=outputfile.xml
), which is useful for Excel data analysis. Now the flags are set with --.
Performance
Performance
Server: Improved memory usage when multiple replication operations are running in parallel.
Bug
The update operation was raising an "Access to th…
Update operation: The update operation was raising an "Access to the path is denied" error when updatig hidden files on Windows OS's.
Unity users with VCS mode = "Hidden meta files" experimented this issue. Fixed.
The Maven 'tag' command was failing on Linux syst…
Maven: The Maven 'tag' command was failing on Linux systems when calculating the items that were tagged. Fixed.
The recursive merge operation generates virtual r…
Merge: The recursive merge operation generates virtual revision identifiers to resolve the conflicts between the multiple common ancestors.
These identifiers could be used to track delete operations in the extended merge item information, but they cannot be used in the merge result, as they are temporary identifiers and not real revision identifiers. This issue has been fixed and now the real revision identifiers are used.
The diff command for changesets was not correctly…
Command line client: The diff command for changesets was not correctly using the repository spec inside the fully-qualified changeset spec (Example: cs:529@tools@server:8087
).
It was only considering the repository of the working path. Fixed. Now, the repository will be taken from fully-qualified changeset spec.
showing differences from the pending changes view…
GUI: showing differences from the pending changes view was not setting the configured comparison method to launch the diff tool. Fixed for both the embedded diff viewer and external diff viewer (Ctrl+D
).
unable to replicate new changes in the following…
Replication: unable to replicate new changes in the following scenario:
An empty branch was replicated
Later new changesets were checked in both in the source
and destination repositories
- The new replication was unable to replicate new checkins
Scenario to reproduce the issue:
Create an empty branch task001.
Replicate task001 from repo A to repo B.
Create a changeset on task001@repository A.
Create a changeset on task001@repository B.
Replicate (pull) the branch -> Nothing is replicated (Now it's fixed).
problem updating the 'head' of a branch. It happe…
Replication: problem updating the 'head' of a branch. It happened under the following circumstances:
A branch was replicated again from source to destination
If the new head or some changesets between the old head
and the new head were replicated on different replication
operations.
Note: the issue only happened if empty branches were replicated.
Fixed.
Scenario to reproduce the issue:
Create two changesets on main branch.
Create an empty branch from the last changeset (main head).
Replicate the empty branch.
Replicate the main branch -> The main head was not updated
properly (Now it's fixed).
Merged releases
5.0.44.557
Public | 2014-04-16
New
Now, the eclipse plugin's package explorer prints…
Eclipse plug-in: Now, the eclipse plugin's package explorer prints a different decorator on nodes that have children resources with changes.
Now it is not necesary to restart the web server…
Web UI: Now it is not necesary to restart the web server to reload the avatar images.
Bug
The Web UI was unable to show image diffs. Fixed
Web UI: The Web UI was unable to show image diffs. Fixed.
Pending changes view: The 'checkin dependencies'…
GUI: Pending changes view: The 'checkin dependencies' dialog didn't appear when using changelists. Fixed.
An error is thrown when the source contributor ha…
Merge: An error is thrown when the source contributor has an xlink added inside an added directory. The checkin operation after the merge operation will fail. Now, this case has been fixed.
5.0.44.555
Public | 2014-04-08
New
Performance
Performance
Server: Improved memory usage when caching large number of changeset trees (> 300K items).
Results obtained (450K items in a tree):
Without the new improvements:
1 tree in the server cache -> 230 MB.
5000 trees in the server cache -> 1320 MB.
With the new improvements:
1 tree in the server cache -> 250 MB.
5000 trees in the server cache -> 290 MB.
Performance:
The time loading client.conf file has been improved if the Plastic SCM version is the one compiled in .NET 4. (In .NET 2 these improvements were already available).
Results obtained:
- .NET 2:
Without the new improvements -> 265 ms.
With the new improvements -> 78 ms.
- .NET 4:
Without the new improvements -> 156 ms.
With the new improvements -> 63 ms.
Bug
When the "diff workspace contents" option is sele…
GUI: When the "diff workspace contents" option is selected on the pending changes view menu from a moved element, which is changed too,
an error was shown: "Cannot show diffs. Entry does not have two contributors.". Fixed.
Fixed case where directory conflicts are shown ag…
Merge: Fixed case where directory conflicts are shown again, when they shouldn't, as they were previously resolved. The failing case should met the following conditions:
Merge only a subset of files.
A writable xlink is involved on the merge operation.
There is at least one file conflict pending to be resolved inside the xlink and at least another file conflict on its parent repository.
The xlink has two or more directory conflicts that involve the same delete directory operation (Example: two files were changed on source contributor inside a directory that was deleted on destination), so only one of them must be resolved.
Support recursive groups in AD integrated securit…
Active Directory authentication mode: Support recursive groups in AD integrated security. There were several scenarios where the permissions weren't applied as expected.
Example of failing scenario:
User U1.
Group G1. Members of G1: G2.
Group G2. Members of G2: U1.
If the 'read' permssion is denied to group 'G1' on a repository, the user 'U1' will have read permissions for that repository when it shouldn't.
Now this scenario is fixed, and the read permissions for user 'U1' will be denied.
Merged releases
5.0.44.551
Public | 2014-03-27
New
The data logged in the Plastic SCM custom field c…
Jira extension: The data logged in the Plastic SCM custom field can now be configured. Also, it is possible to open changeset diffs from JIRA.
Please visit the following link to get more info:
'http://codicesoftware.blogspot.com/2014/03/jira-6-integration-improvement.html'
Column filters are now available on all views. An…
GUI: Column filters are now available on all views. An improved filter mechanism lets you specify the column you want to use to filter.
You can still use the old filters to search on all columns, but you can also restrict the search to a given column as follows:
[<column_name>:<filter_value>]*
Examples of valid filters are:
- On changesets view:
"created by":mike comment:"first changeset"
- On pending changes view:
status:changed item:bin/lib type:txt
Bug
Fixed an edge case on a recursive merge (the merg…
Merge: Fixed an edge case on a recursive merge (the merge operation calculates more than one ancestor changeset):
- When one ancestor has removed an xlink and added a new one on the same path, and another ancestor involved on the intermediate merge hasn't changed the xlink (the removed one), the merge was failing with the error:
"Can't add an entry with the same name. Duplicated child [<item name>]"
.
5.0.44.549
Public | 2014-03-25
New
The scm:update operation now checks if a workspac…
Maven plugin: The scm:update operation now checks if a workspace exists in the path being updated. If there is no workspace, a new workspace will be created. Otherwise, the workspace is reused.
Bug
Fix missing data in sematic method history showin…
Semantic method history: Fix missing data in sematic method history showing the history of a method when merged revisions are involved.
5.0.44.548
Public | 2014-03-24
New
Implemented a basic Polarion integration (Please…
Polarion plugin: Implemented a basic Polarion integration (Please contact support to get instructions about how to setup the Polarion integration: 'support@codicesoftware.com').
Now the pending changes view shows the pending me…
Eclipse: Now the pending changes view shows the pending merge links.
Now the Proxy server can be used in 64-bit machin…
Proxy Server: Now the Proxy server can be used in 64-bit machines.
Performance
Performance
The add command performance has been improved when it's executed with several paths.
Test performed: 'cm add' command with 250.000 paths:
Before: 240547 ms
After: 31699 ms
5.0.44.547
Public | 2014-03-18
Bug
The context menu of the "Diff branch" and "Diff c…
GUI: The context menu of the "Diff branch" and "Diff changeset" dialogs was incorrectly hidden after the first time it was displayed. Fixed.
5.0.44.537
Public | 2014-03-04
New
Implemented Team Project Sets support. The eclips…
Eclipse plugin: Implemented Team Project Sets support. The eclipse projects can now be exported to a Team Project Set File (PSF) or import projects from a PSF file.
Show label info when the workspace is configured…
Eclipse plugin: Show label info when the workspace is configured to work in a specific changeset.
several improvements performed
Eclipse plugin: several improvements performed:
Implemented label-changeset support when importing from a PSF files. When the PSF points to a label, Eclipse translates it to its equivalent changeset.
Implemented the 'switch to changeset' action in the eclipse's branch explorer view.
When creating a new workspace, Eclipse plugin now proposes the Eclipse project path instead of the Eclipse workspace path.
Implemented the 'status' command for the Maven pl…
Maven plugin: Implemented the 'status' command for the Maven plugin.
Now, VSIX installation is silent, so no popups ar…
Visual Studio package: Now, VSIX installation is silent, so no popups are opened when registering the package.
XML output is now available for certain cm comman…
Command line client: XML output is now available for certain cm commands. Flag "--xml
" has been added to the following commands to get an output in XML format: showacl, log, history, ls and update.
'[code]cm find[/code]' command: Now, the [code]'f…
Command line client: 'cm find
' command: Now, the 'find'
command can show the hash of a revision.
Example: "cm find revision --format={hash}
".
Bug
The eclipse plugin was not performing the checkin…
Eclipse plugin: The eclipse plugin was not performing the checkin operation of a single deleted file properly. Fixed.
now the plugin preserves executable permissions w…
TeamCity plugin: now the plugin preserves executable permissions when creating the build patch so that the agent can run them.
NOTE: To use this upgrade of the plugin, it is required to run TeamCity with Java 7.
Method history: When clicking the "Load more" but…
GUI: Method history: When clicking the "Load more" button continuously and very quickly, sometimes the information displayed was not correct.
Some elements were remaining as "loading" when in fact the information was already loaded. Some other revisions appeared as not connected, when in fact, all revisions were also conected. Fixed.
An exception was thrown when clicking on navigati…
Mergetool: An exception was thrown when clicking on navigation buttons and there were no conflicts in the file. Fixed.
interval changesets merge: When the same interval…
Merge: interval changesets merge: When the same interval is merged to multiple destinations and, at least one destination is already replicated, the next replication process will fail, showing an error message. Fixed. (Broken since release 5.0.44.502).
Push branches or tags with non ASCII characters w…
GitSync: Push branches or tags with non ASCII characters was failing. Fixed.
Plastic labels with spaces and other illegal git…
GitSync: Plastic labels with spaces and other illegal git characters were not being pushed to Git. Fixed. Now they are pushed, the name exported to git will be the same in plastic but replacing these illegal characters with a dash ('-'). E.g.: "Label 1" will be pushed as "Label-1".
There was an issue when you had two xlinks to the…
There was an issue when you had two xlinks to the same repository and a file (or directory) is moved between them manually (not with a 'cm mv' command but directly using the Windows Explorer or command prompt). The Pending Changes view should detect the scenario but it wasn't working properly.
Since the move between xlinks (even on the same repository) is not allowed, the Pending Changes view should show the result as a file being deleted on the source and a file being added (private file) on the destination. Now it's Fixed.
'[code]cm describebranchhistory[/code]' command:…
Command line client: 'cm describebranchhistory
' command: The command output was not sorted by date. Fixed.
The recursive merge could fail when multiple inte…
Merge operation: The recursive merge could fail when multiple intermediate merges calculate the same writable xlink to be copied (added). Fixed.
There was an issue wihen uninstalling and reinsta…
Visual Studio package: There was an issue wihen uninstalling and reinstalling the VSIX package without opening the IDE. Fixed. Now, the following command is executed in the uninstallation process in order to force to unregister the package inmediately (This affects the upgrade process as well): 'devenv /setup /nosetupvstemplates'.
Issue when Visual Studio 2012 was installed and V…
Visual Studio package: Issue when Visual Studio 2012 was installed and Visual Studio 2013 wasn't. The unregistering of the Visual Studio package was not performed during the uninstall process. Fixed.
5.0.44.536
Private | 2014-03-03
New
The differences window is able to give more infor…
GUI: The differences window is able to give more information about the differences at code level, like the number of lines changed, added or deleted.
Using the external application 'cloc' is even able to identify if the changes are only in blank lines and comments.
Bug
Starting the GUI on Linux having several tabs ope…
GUI: Starting the GUI on Linux having several tabs opened crashed sometimes. Fixed.
5.0.44.534
Public | 2014-02-25
New
The LDAP provider was unable to query a subtree if the domain path didn't start with 'dc='. Now, the following format examples are supported:
- Dotted notation:
'codicefactory.com or mydepartament.codicefactory.com'
- Path notation:
'dc=codicefactory,dc=com'
'dc=mydepartament,dc=codicefactory,dc=com'
Also organizational units are supported:
'ou=USA,ou=CODICE SOFTWARE,dc=development,dc=codicefactory,dc=com'
Added a summary at the end of the output obtained…
Command line client: Added a summary at the end of the output obtained with cm li to provide extended license information.
Example:
cm li -wks=localhost:8084
Plastic SCM license information:
* User-license information:
mark ACTIVE
michael ACTIVE
santiago INACTIVE (Not licensed)
helga INACTIVE (Not licensed)
Licensed to: The Cool Company
Expiration date: 22/06/2007 13:34:23
Total licensed users: 4
Total activated users: 2
Total available users: 2
Bug
Fixed a very rare synchronization case: Import a…
GitSync: Fixed a very rare synchronization case: Import a commit where several file paths are now directories, and the original files were moved inside the new directories will fail. This happens if the machine where it is executed is very fast.
When a move operation was performed between two d…
Move operation: When a move operation was performed between two different mount points loading the same repository, the move operation was wrongly allowed. Fixed.
The "ignore.conf" file was not automatically igno…
Unity 3D: The "ignore.conf" file was not automatically ignored in Mac. Fixed.
Issuing a [code]cm status --changelist'[/code] co…
Command line client: Issuing a cm status --changelist'
command in a partial path was causing that some non-persistent changelists were deleted. Fixed.
An exception is thrown when clicking on navigatio…
Mergetool: An exception is thrown when clicking on navigation buttons and there were no conflicts in the file. Fixed.
"Open with" a custom tool was not working from th…
GUI Linux: "Open with" a custom tool was not working from the repository explorer. Fixed.
Branch Explorer: The format rules were lost after…
GUI: Branch Explorer: The format rules were lost after restarting the GUI. Fixed.
Merge view: When pressing 'F5' key in a merge vie…
GUI: Merge view: When pressing 'F5' key in a merge view, the following error was shown: "RefreshView not implemented for this view". Fixed.
Branch Explorer: When the "home" changeset was no…
GUI: Branch Explorer: When the "home" changeset was not visible in the branch explorer because of the date filter, an error message was shown refreshing the view. Fixed.
The merge operation could apply a change in the w…
Merge operation: The merge operation could apply a change in the wrong path in an edge case (when the destination contributor had left on the same path another item with the same internal identifier from the same repository but a different mount point. Fixed.
5.0.44.533
Public | 2014-02-19
Bug
An error message in the pending changes appeared…
GUI: An error message in the pending changes appeared when showing the embedded diffs for a moved and changed file (locally moved with changed contents) out of the control of Plastic SCM. Fixed.
5.0.44.531
Private | 2014-02-14
New
When a new branch is created inside a custom Bran…
Branch Explorer: When a new branch is created inside a custom Branch Explorer, it is now added to the selected branches used to create the custom Branch Explorer, so the new branch is visible.
Documentation
Documentation
Command line interpreter help: Command options reviewed and updated accordingly. Some options were not public, some of them were obsolete or confusing.
Bug
An advanced sequence of operations (that implies…
Permissions: An advanced sequence of operations (that implies breaking the permissions inheritance chain) over a secured path could end up with denied read and view permissions on the secured path. Fixed.
Fixed a NullReference exception that could happen…
Semantic Method History: Fixed a NullReference exception that could happen when showing an item under some special circumstances.
[code]/main/task001/task001[/code]. Fixed
An error ocurred when renaming the working branch if the branch name was the same of any of its parents; for example: /main/task001/task001
. Fixed.
Diff on GUI failed if an involved Xlink was not r…
Diff on GUI failed if an involved Xlink was not reachable. Fixed.
Fixed a bug when sorting by date modified in the…
Fixed a bug when sorting by date modified in the Diff View (diff branch, diff changeset).
5.0.44.530
Private | 2014-02-11
New
Internal changes and improvements
Internal changes and improvements.
Merged releases
5.0.44.528
Public | 2014-01-31
Bug
The Proxy Server got stuck with some data request…
The Proxy Server got stuck with some data requests when they involved revisions with size 0. This was just happening when the server was using SQL Server as backend.
5.0.44.527
Public | 2014-01-31
New
in the preferences window, "Comment options", sel…
Now it is possible to add multiline autocomments: in the preferences window, "Comment options", select "Custom" in the Comments section.
In addition to User ({0}) and Date ({1}) you can add new lines ({2}).
When creating a workspace it is possible to see a…
When creating a workspace it is possible to see a repository list showing all the repositories in all the registered servers.
Bug
Now it does not set a file as non-readonly when i…
Visual Studio Package: Now it does not set a file as non-readonly when it is not controlled by Plastic SCM.
5.0.44.526
Private | 2014-01-30
New
Now the Branch Explorer can filter the branches t…
Now the Branch Explorer can filter the branches to show. The old conditional format tab has been updated to include new filtering rules.
It is possible to define inclusion and exclusion rules. To get further information about this feature please see the blogpost related to this release in our blog.
Added some shortcuts to the GUI:
Ctrl+D
to show branch and changeset differences from the Branches View, Changeset View and Branch Explorer.Ctrl+V
will focus an item in the Items View if you have copied the item path in the clipboard.The diff view (diff branch, changeset) uses the following shortcuts:
** Ctrl + Alt + +
to navigate to the next file
** Ctrl + Alt + -
to navigate to the previous file
** Ctrl + Shift + Alt + +
to navigate to the last file
** Ctrl + Shift + Alt + -
to navigate to the first file
** There is no need to focus the differences control to navigate through differences (Ctrl+ + or Ctrl + -
).
Bug
When the result encoding is set to NONE, mergetoo…
When the result encoding is set to NONE, mergetool will check the contributors encoding instead of saving the result without encoding.
Now, if --tree or --selector="rep..." are specifi…
The cm ls command did not show proper information if the --tree option was used along with a workspace or a non-existent path. Fixed: Now, if --tree or --selector="rep..." are specified, the path provided must be a server path (/dir/file.txt), not a workspace path (C:/Users/myuser/mywk/dir/file.txt).
cm help reviewed in depth and fixed several issue…
Documentation: cm help reviewed in depth and fixed several issues regarding spelling and formatting.
5.0.44.523
Public | 2014-01-23
New
Now the diff command can download the content of…
Now the diff command can download the content of the changed (modified, added and moved) items to a given folder using the option --download
.
5.0.44.522
Public | 2014-01-21
New
Implemented Plastic SCM Maven SCM plugin, accordi…
Maven: Implemented Plastic SCM Maven SCM plugin, according to the
"http://maven.apache.org/scm/maven-scm-plugin" specifications.
The commands the plugin supports are:
* scm:add
* scm:branch
* scm:checkin
* scm:checkout
* scm:tag
* scm:update
The scm connection spec for a pom.xml file, has the following syntax (in one single line):
scm:plasticscm:[objectSpec]@[rep:]repository_name@[repserver:]
@servername:portnumber[:path:repository_path_to_download]
where:
"objectSpec" is: (br:/name | cs:N | lb:name)
"repository_path_to_download": is only affected by the checkout and update commands.
Example of repository path "/src/main/java/myapp".
(The repository path must exist in the branch, label or changeset to download).
Example:
"scm:plasticscm:br:/main/Rel1.1@thirdpartytools@blackpearl:8087"
- NOTE: The plugin is not provided by the installers. A manual installation in the maven repository is required instead (using the "mvn install:install-file" or "mvn deploy:deploy-file" plugins). Please, contact support (support@codicesoftware.com) to get the plugin .jar binaries.
Performance
Performance
The changeset trees were not correctly cached by the server when they contained xlinks. It could break the performance in some scenarios with large trees and xlinks. Fixed.
Performance
Performance
The update operation performance has been improved significantly when working with cloaked items.
Example:
Workspace with 192.818 files, 33.877 folders and more 400 cloaked rules:
Version 5.0.44.519
Update (Nothing to update)
*With cloaked: 34102 ms
*Without cloaked: 18127 ms
Now
Update (Nothing to update)
*With cloaked: 14867 ms
*Without cloaked: 17722 ms
Bug
cloak /src except the /src/code/lib folder and it…
The update command now is able to work correctly (download changes) with the exception rules in the cloaked system. It means that: cloak /src except the /src/code/lib folder and its content will work fine now.