Release Notes

Public

Release 7.0.16.2057

Mar 20 2018
New

Windows, Linux and OS X GUI apps: The "repositories" view will now remember the last typed server between application restarts if user modifies the default value.

Remark: It only works for the regular "repositories view" and not in the "cloud repositories" view.

New

TeamCity plugin: The plugin do not request anymore all the repository branches when there is no branch specification filter defined. In that case, it only requests the default branch to watch.

New

Gluon: improved the "Checkin conflicts" dialog. Now, the conflicts list is just plain text, so all the messages can be easily read and copied.

New

Mac GUI: New annotate (blame) is here. Just right click a controlled item in the workspace explorer view, and select the "annotate option".

Bug

The 'code reviews view' failed with the following error: "You are working with out-of-date objects. Maybe your client or workspace is out of date, please update it." when there was any review of a branch that had been previously deleted.

Bug

Crucible plugin: The plugin was unable to list repositories from cloud server. Fixed: just enter the server name in the format "<your_organization>@cloud" and leave the port field empty when adding a new repository.

Public

Release 7.0.16.2047

Mar 16 2018
New

Plastic SCM 7.0 is officially out!

7.0 was first introduced back in December 18th 2017 (release 7.0.16.1857) as a preview and was finally moved as official with BL2047.

COMPATIBILITY

7.0 is backwards compatible with 6.0 and 5.4.

* Compatibility is marked by the middle number *16* in the full version number, and it didn't change since 5.4.

* We strongly recommend to update all clients and servers, but progressive roll outs of the new versions are totally possible, which is especially helpful in big deployments.

WHAT IS NEW:

These are some of new features in 7.0:

* New Branch Explorer design (applies to all platforms).

* New web-based server admin tool: it was previewed as a late 6.0, but it is now officially supported in 7.0. http://blog.plasticscm.com/2017/10/webadmin-introducing-new-server-admin.html

* Gluon for Linux and Mac: the tool and workflow for non-coders is now available in all platforms.

* Attributes support for Linux and OS X GUIs.

* Greatly improved Bamboo DevOps support: http://blog.plasticscm.com/2018/03/devops-atlassian-bamboo-plasticscm.html

* Greatly reviewed command line help and usage.

* OS X usability improvements and restyling.

* Added support for Polarion 3.17.1+

* Windows GUI: much better responsiveness since lots of calls made in the main thread were removed. Clearly noticeable with distant servers (like Cloud).

WHAT IS COMING:

7.0 past pace evolution continues with new weekly releases. Here are some of the great features in the backlog:

* Merge-to with full conflict resolution: ability to do workspace-less merges with conflict resolution. Great for teams with full test automation.

* Enhanced DevOps: we are working on improving the integrations with TeamCity and Jenkins as we recently did for Bamboo. DevOps is a core priority for us.

* MergeBot as DevOps core: Plastic server will be able to run merges when branches are ready and trigger builds in CI systems.

* New WebUI: we are working on a full redesign of the web interface to browse repositories, perform code reviews, run diffs. It will be auto-deployed with the regular server as the WebAdmin does.

* More flexible workspaces: regular Plastic (developer mode) will be able to work in "partial mode" (Gluon mode) to enable more flexibility. We are also considering the option to mix working in full and partial mode together, for teams who require more flexibility.

* Improved code review: one of the big requests from customers. We will be finally working on updating the core feature and pushing it to the next level.

New

Bamboo CI Plugin can now update branch attributes based on the branch status.

Example: when a build starts, a 'status' attribute on the branch can be set to 'testing', then updated to 'failed', 'passed' or even 'integrated' depending on the final result.

This feature is key to implement a DevOps pipeline using Bamboo and Plastic SCM.

For further info about DevOps, trunk based development and task-per-branch check:

* A DevOps Primer

* DevOps with Bamboo and Plastic

To configure a Plastic repository in Bamboo and enable this new options:

1. Enable Enabled plan branch filtering (feature recently launched and explained in the 7.0.16.1995 release notes),

2. New fields will appear to set a given attribute name with a desired value when Bamboo triggers one the following events:

* A plan branch starts its build plan

* A plan branch build fails

* A plan branch build succeeds

* A plan branch is automatically merged (only if gatekeeper automatic merge feature is enabled).

The allowed values for these fields are <attribute_name>=<attribute_value>

Examples:


status=testing

status=failed

status=passed

status=integrated

REMARK: remember the <attribute_name> has to be previously created in plastic repository! Example:

cm mkatt status

(The attribute can be also created through Windows GUI too)

New

Windows GUI: The 'items' preview now supports IrfanView as an external viewer. IrfanView is a famous image viewer sofware that supports several image types. Now you can generate item previews of some image files using IrfanView as an external preview provider. To configure it just go to Preferences -> Preview tools -> Add, select it from the combo, and adjust the settings.

Bug

7.0 Known Issues:

* Mac OS X Server: An issue related to self-signed certificates with bundled Mono Framework prevents Mac Server to pull data from another server through SSL.

* Linux and Mac apps: Sync with Git feature don't support the TLSv1.2 cryptographic algorithm for HTTPS, so synchronizing against some providers (e.g. GitHub) fails.

Bug

The item preview locked the images when reading, so when you opened the preview of the same revision in both items and history view, an error occurred. Now it's fixed.

Bug

If you were using spanish localization for mergetool and difftool, lot of texts were missing. Now, it's fixed.

Bug

Windows GUI: Fixed a "index out of bounds" exception when restoring a difference in the pending changes view, when the source file has a encoding mark (BOM).

Bug

Gluon and Plastic for Linux: both the "Checkout" and the "Open" menu items of the workspace explorer had the same accelerator keys. Fixed. Now, the accelerator for "Checkout" is "Ctrl + Shift + O", while for "Open" is still "Ctrl + O".

Public

Release 7.0.16.2031

Mar 09 2018
New

Improve the analyze differences feature so, if it fails when analyzing the differences for a revision, show the information for the rest of the revisions (not like now that it showed nothing). In case of any error, an error message will appear in the diff view notifying the user.

New

Mergetool: Disabled the C# language error highlighting feature of the textbox -developed by ActiPro- until it supports C#6/7. This will help avoid the confusions reported by users. We're in contact with the ActiPro guys to get it available as soon as possible.

New

GoCD plugin: now, the plugin binary .jar file is distributed in windows and linux installers inside "client" install folder.

New

Linux GUI: The attributes tab is finally in the branch explorer! The panel is updated each time the branch explorer selection changes, showing the attributes of the selected object.

The user will be able to apply new attributes, editing the value of the existing ones or remove them from this new panel.

New

CLI: A new 'cm patch' command is now available! It allows patches to be generated from a diff and applied in a workspace. The patch output is in the diff unified format, as usual.

By default, patches are written to standard output unless a path is specified using the --output optional parameter. There's also the possibility to manually set the external tool to be used (diff to generate patches, patch to apply them) using the --tool optional parameter. These tools will be searched in the PATH environment variable if the --tool parameter is not used.

Examples:


cm patch br:/main/task035

cm patch cs:958@myrepo@myserver:8084 --tool=C:pathtodiff.exe

cm patch cs:30@myrepo cs:39@myrepo --output=output.patch

cm patch --apply output.patch

The 'patch' command is not supported in our Java client.

New

OS X GUI: The attributes tab is finally in the branch explorer! The panel is updated each time the branch explorer selection changes, showing the attributes of the selected object.

The user will be able to apply new attributes, editing the value of the existing ones or remove them from this new panel.

Bug

Mac: The dynamic pending changes view shown next to the items view could be displayed in an inconsistent state after Add or Checkout operations in the items view tree. Fixed.

Bug

Mac: Sometimes a message like "Unexpected error: Cannot access a disposed object. Object name: '[name]'." would appear when a workspace window with an open dynamic view was closed. Fixed.

Bug

Command line help failed to display if language was not English or Spanish. Now it default to English if the specific translation is not available.

Bug

If you launched the mergetool for Windows directly without any argument, it failed because it couldn't find the appropriate resources for the launcher form. Fixed.

Public

Release 7.0.16.2006

Feb 28 2018
New

From now on, the merge tools included with plastic will have their own configuration. Before they were using both config files, the client.conf and the mergetool.conf. Now, they will get the configuration only from the mergetool.conf file. The configuration moved is:

* language=es

* fipscompliant=true

* stacktrace=true

Please add these keys to your mergetool.conf file in case you want to change those values.

Bug

OS X GUI: The merge view opened the branch explorer properties in the side panel when a merge finished. It was a minor detail, but it could be slightly confusing to users. Fixed.

Bug

OS X and Linux GUI: After processing a merge, the hint message at the bottom of the merge view was wrong. It informed that the merge search finished without results, instead of notifying that the merge was successfully completed. Fixed.

Bug

Workspace update (you know, switching to a different branch or cset) had an issue if a directory or file was locked (i.e. directory in use). Now the operation keeps the locked item as private (or out-of-date) and goes on updating the rest of the workspace.

Example: you have a console open in src/server and then you switch back to changeset where src was named "code". Before, the operation failed and the workspace was dirty. Now it works great, leaving just src/server as private. In fact, if you later go back to the initial changeset, the private is reused.

Bug

Windows: Sync with Git feature didn't support the TLSv1.2 cryptographic algorithm for HTTPS, so synchronizing against some providers (e.g. GitHub) failed. Fixed.

REMARK: Still pending to fix this issue for non-windows plastic applications.

Public

Release 7.0.16.1995

Feb 23 2018
New

We made some changes in our custom file preview sytem so you can configure IrfanView as a external preview tool and, this way show previews for .psd files.

You can configure it by using the following command options to generate the thumbnail previews:

"@src" /convert="@output" /resize=(1024, 1024) /aspectratio

New

Bamboo CI Plugin: Added support for Bamboo 6.x.

New

Bamboo CI Plugin: Enable plan branch filtering based on Plastic attributes.

The goal is to support testing and merging task branches to main when a given attribute is set. This way trunk-based development can be easily implemented.

The recommended configuration for a Bamboo plan is as follows:

* Branch to track in the Bamboo plan when configuring Plastic repo is "/main".

* Enable automatic plan branch creation ("when new branch in repository is created" option is OK).

* Enable automatic plan branch merging. Select the Gatekeeper strategy (with "push on successful" enabled, which means the resultant merge will be checked-in to /main on successful build).

* Do not enable the "After branch was deleted from repository" checkbox when configuring the plan branch.

* Enable the plan branch deletion for just a couple of days of branch inactivity ("After branch inactivity in repository" option). Once the branch is merged to /main, you shouldn't be working on it anymore (this way you will save disk space and Bamboo plan branches available, if limited).

* Enable repository polling to track new changes once the plan branch is created.

When configuring the Plastic repository for a Bamboo plan, a new checkbox named "Enable Plan Branch filtering" will appear.

Once it is enabled, a textbox allows filtering the candidate branches to create a new plan branch in Bamboo in two ways:

* Specifying an attribute name and value pair as follows: attribute_name=attribute_value. Example: status=resolved which means that only the branches with an attribute named "status" with the value "resolved" will be sent to Bamboo to create a plan branch.

* Specifying a complex query valid for "cm find branch" command (which is the underlying plastic command executed to retrieve the candidate branches). It is not mandatory to specify a plastic attribute in this mode. Two examples below:

where owner!='john_snow' and date > '3/2/2018'
where attribute='stage' and attrvalue='done' and name like 'JIRA-%'

REMARKS:

* Remember to create the Plastic attribute and apply the desired value (manually or through an external trigger) to the branches that you want to be built and merged by Bamboo.

* Find more info about Plastic attributes here

Bug

Mac: There were two BranchExplorer display options that weren't properly working: "display full branch names" and "display branch task info". Fixed.

Bug

Unity 3D Plugin: It failed to get the status of a locked item when the lock configuration was done through the webadmin. This happened because webadmin does not fill the lock server field in the lock.conf file and the unity3d plugin did not support an empty lock server specification.

Bug

Using Gluon, when we try to move a file that is in exclusive use by another application (another application has it open and locked), the move operation fails as expected with the error 'The process cannot access the file because it is being used by another process.'. But sometimes after release the file, when we try to move the file again, using gluon, the operation failed unexpectedly with the error 'Selector can't locate a revision for the item foo'. Now it's fixed and after release the file, gluon can perform move operation.

Bug

The new version for the Polarion plugin referenced '3.17.1+' instead of '3.17.3+'. Fixed

Bug

Bamboo plugin: The bamboo plugin was unable to retrive source code for a plan branch from Plastic repository after the first auto-merge operation performed on that plan branch. Fixed.

Bug

Bamboo CI Plugin: The path to the Plastic SCM command line was not printed when saving the configuration. Fixed.

Bug

Bamboo plugin: The bamboo plugin shown the data of the default repository instead of the selected one when users edited a repository in the plan configuration. Fixed.

Bug

KNOWN ISSUE: We have just detected an issue with "Sync with Git" feature targeting a GitHub repo. This issue prevents performing a sync operation correctly due to SSL/TLS restrictions on GitHub side. We're working on fixing this.

Internal and public releases

The Plastic SCM development team works in short iterations delivering frequent releases.Our goal is to have at least one new release every week, with new functionalities, bug fixes and performance tweaks.

Every 'weekly' release is not published to our customers, but we like to detail each of them in the release notes so users can easily follow what we achieved on every short iteration.

The releases marked with the word "public" are the ones we do publish on the website. The ones marked as "internal" are the releases we create in-house to keep the project moving week after week.

Version numbering

Starting in Plastic SCM 4.0 the version numbering schema has been modified:

  • major.minor.compatibility.buildnumber

  • Sample: 5.0.44.511 means:
    • 5 -> major release number
    • 0 -> minor release number
    • 44 -> compatibility -> all clients and servers with "44" in the compat number are compatible, even if the build number changes
    • 511 -> internal build number