Release Notes

Public

Release  6.0.16.947

Mar 29 2017
New

Bamboo plugin: Queries for changes in the first builds of each new plan will return an empty set. The improvement in the build time of that particular case is specially remarkable when creating a new plan for an existing repository with a long history (thousands of changesets).

New

Linux: The GPG keys used to sign the repositories have been updated, as they reached their expiration date. If you use a Debian-based distro, please run the following command to update your local apt-key list:


wget https://www.plasticscm.com/plasticrepo/plasticscm-common/${DIST_NAME}/Release.key -O - | sudo apt-key add -

wget https://www.plasticscm.com/plasticrepo/plasticscm-latest/${DIST_NAME}/Release.key -O - | sudo apt-key add -

Replace ${DIST_NAME} with the distro name that applies to your current system: Debian_6.0, Debian_8.1 or Ubuntu_14.04.

New

GoCD plugin: A new Plastic SCM plugin is available for GoCD. It allows Plastic SCM to be set up as a pipeline material.

Bug

Since BL808 (6.0) the listlocks command was complaining that the user didn't have view permissions. The server was checking view permissions on the server instead of the repo. Fixed.

Bug

Visual Studio integration: Fixed an error when open a project from Plastic SCM.

Bug

TeamCity plugin: The build patch operation of server-side checkouts was building incorrect patches when there were moved or deleted changes. Fixed.

Bug

Jet backend: When a checkin operation failed and couldn't be completed, the next checkin operations on the same branch failed with the error 'The object is currently locked. Try later...'. Fixed.

Public

Release  6.0.16.920

Mar 22 2017
New

Windows GUI: dynamic diff window to help diffing code in multi-screen setups.

You can show the diffs from a branch or changeset, move the window to a second screen, and the diffs will be updated when you select a different changeset or branch. This is super useful to review changes.

The diff window will be updated if you select a different branch in Branch Explorer or the branches view, and same for changesets. It works for shelves too.

You can skip this behavior launching the diff window using Shift + DoubleClick. When there are more than one "dynamic" diff, the diffs won't be updated.

New

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.

New

Eclipse plugin: Added support to find locally moved, renamed and deleted files. You can find these options clicking the "options" buttons in the pending changes view.

New

Jenkins plugin: Each build will publish environment variables containing the data of the built changeset for each configured workspace. These are the exposed variables of the main workspace for the project:


    PLASTICSCM_CHANGESET_ID: Number of the currently built changeset

    PLASTICSCM_CHANGESET_GUID: GUID of the currently built changeset

    PLASTICSCM_BRANCH: Name of the branch in Plastic SCM

    PLASTICSCM_AUTHOR: Name of the user who created the currently built changeset

    PLASTICSCM_REPSPEC: The configured repository specification for the current build.

Additional workspaces will include their position in the list, like this:


    PLASTICSCM_1_CHANGESET_GUID

    PLASTICSCM_5_AUTHOR

    PLASTICSCM_9_CHANGESET_ID

etc.

New

Command Line Interface: The checkin result will return the created changesets list as a comma-separated list when the --machinereadable parameter is present.

Bug

Bamboo plugin: Branch detection was only working for direct children of the main plan branch. This restriction has been removed.

Bug

Bamboo plugin: The silent merge (using the Plastic SCM MergeTool) wasn't working anymore. Fixed

Bug

Linux (GTK) GUI and Mac OS GUI: Performing a merge operation using the --nointeractiveresolution parameter didn't have any effect. Fixed.

Bug

Windows GUI: Clicking an object on the Branch explorer seldom displayed an error message regarding an index out of range error. Fixed.

Bug

Windows GUI: Dialogs with multi-line text areas didn't have text wrapping enabled. This affected the checkin comments text field, the create branch dialog, the new label/attribute dialog and the code review comments dialog. Fixed.

Bug

Windows GUI: The Branch Explorer filters where being applied after drawing the diagram, so they were not correctly shown until the Branch Explorer was refreshed. Fixed.

Bug

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'.

Bug

Cloud Edition was incorrectly asking for credentials, when it already had the right ones configured.

Bug

Trying to delete or move the currently loaded changeset in the workspace with privates incorrectly warned of pending changes. Fixed.

Bug

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.

Public

Release  6.0.16.866

Mar 10 2017
New

This is the seventh release of the new Plastic SCM 6.0 series. It includes important core improvements and features. It is published in the "labs" channel instead of the official one because there are some important design changes still to be delivered, although it is stable enough to be used in production.

Bug

Mac OS GUI: The 'Create'/'Rename' dialogs of the 'Workspaces' view and the 'Repositories' view allowed tabs to be inserted at the beginning or end of the text input fields. Fixed.

Bug

Windows Mergetool: code folding was wrongly enabled for the merge, causing drawing errors when code regions were folded. Fixed.

Bug

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.

Public

Release  6.0.16.857

Mar 03 2017
New

This is the sixth release of the new Plastic SCM 6.0 series. It includes important core improvements and features. It is published in the "labs" channel instead of the official one because there are some important design changes still to be delivered, although it is stable enough to be used in production.

New

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.

New

Windows GUI: Improved merge view performance with very big workspaces.

* Without the performance improvement:


Time populating 189344 conflicts: 56.9sec

Memory populating 189344 conflicts: Ini: 394.6Mb, End: 1.41Gb, Increase: 1.03Gb

* With the performance improvement:


Time populating 189344 conflicts: 6.8sec

Memory populating 189344 conflicts: Ini: 398.1Mb, End: 438.2Mb, Increase: 40,1Mb

New

Office plugin: The Plastic SCM plugin for Office now supports Office 2016 (Word, Excel and PowerPoint)

New

Jenkins plugin: A retry mechanism was implemented so any failed command will be retried two times. This should solve any issues caused by network micro-cuts, for instance.

New

Mac OS GUI: Buttons re-designed. The actions in the views ('items', 'pending changes', etc.) were difficult to find because we used icons instead of native buttons.

New

Axosoft extension: The list of statuses considered as 'pending' (affecting the list of tasks displayed on the Create Branch dialog) is now editable as a comma-separated values string on the Axosoft configuration.

New

Linux (GTK) GUI and Mac OS GUI: Implemented "Create workspace from this repository" action. The action is available from the repository context menu. Additionally, when you type a server in the repositories view and press enter key, the view is now refreshed.

New

Experimental support for organizations in the server. Starting the server with 'plasticd --organizations=organizations.conf' allows you to have independent sets of repositories (organizations).

'organizations.conf' is a text file with an organization name on each (or empty line for empty (default) organization).

* What does it mean? You can do things like:


cm mkrep repo00@org1@localhost:8087

cm mkrep repo00@org2@localhost:8087

cm mkrep repo00@org3@localhost:8087

And org1, org2 and org3 (the 3 on organizations.conf) will be 3 independent organizations with different sets of repositories and independent permissions (repository server permissions will affect to each of the organizations independently of each other).

New

Branch Explorer global configuration: Now the Branch Explorer can be globally configured for all users adding a branchexplorer.conf file in the "global configuration files repository" (plastic-global-config) under the "allrepos" directory. More about global config here.

This feature closes the UserVoice request Create a master conditional format that can be pushed from the server to all users.

A global branchexplorer.conf file looks as follows:


[Default]

filters.conditional.numrules=1

filters.conditional.rule0.branches_query=attribute = 'status' and attrvalue = 'RESOLVED'

filters.conditional.rule0.description=Unresolved branches

filters.conditional.rule0.enabled=true

filters.conditional.rule0.related.branches=None

filters.conditional.rule0.type=exclusion_rule

* REMARK: use rule0 if you only have one rule. Start on 0 and continue, or it won't work.

While a local branchexplorer.conf contains user-specific information too:


[Default]

display.attributes.visible=true

display.changestats.visible=true

display.extension.visible=true

display.navigator.visible=false

display.options.branch_level_filter=-1

display.options.changeset_color=1

display.options.dag_mergelinks=false

display.options.draw_branches=true

display.options.draw_crossbranch_changeset_links=true

display.options.draw_labels=true

display.options.draw_merge_links=true

display.options.draw_only_relevant_changesets=false

display.options.draw_taskinfo=true

display.options.end_date=0

display.options.end_date_enablement=false

display.options.full_branch_names=true

display.options.layout_mode=0

display.options.show_parent_to_child_arrows=false

display.options.start_date=636136983268496003

display.options.visible=false

display.properties.legend=false

display.properties.visible=true

display.properties.zoom=0,9999999

filters.conditional.numrules=1

filters.conditional.rule0.branches_query=

filters.conditional.rule0.color=0,128,192

filters.conditional.rule0.description=Unresolved branches

filters.conditional.rule0.enabled=true

filters.conditional.rule0.related.branches=None

filters.conditional.rule0.type=non_integrated_branches

filters.conditional.visible=true

The GUIs will combine the global and local filters. The resulting configuration for filters will be as follows:


filters.conditional.numrules=2

filters.conditional.rule0.branches_query=attribute = 'status' and attrvalue = 'RESOLVED'

filters.conditional.rule0.description=Unresolved branches

filters.conditional.rule0.enabled=true

filters.conditional.rule0.related.branches=None

filters.conditional.rule0.type=exclusion_rule

filters.conditional.rule1.branches_query=

filters.conditional.rule1.color=0,128,192

filters.conditional.rule1.description=Unresolved branches

filters.conditional.rule1.enabled=true

filters.conditional.rule1.related.branches=None

filters.conditional.rule1.type=non_integrated_branches

As a result of the combined rules in the example above:

* Users will NOT see branches which the 'status' attribute is set to 'RESOLVED' (because the rule type is 'exclusion_rule'). (Global config).

* Use will see the branches that are not merged (type 'non_integrated_branches') colored blue (RGB 0,128,192). (Local config).

How to create a branchexplorer.conf global configuration file:

* Go to your GUI and set some preferences.

Then, find the generated configuration file at:

* Windows: %USERPROFILE%/AppData/Local/plastic4/branchexplorer.cfg

* Linux and macOS: $HOME/.plastic4/branchexplorer.conf

Copy the resulting file to the global configuration repository.

What can be globally configured?

* Only the filters and conditional format rules can be globally configured.

* The user-specific configuration, such as displaying full branch names, merge links, the start and end date, and so on, will always prevail from the local configuration file. If these settings are set globally, they will be ignored during the "merge" of global and local rules.

Bug

Windows GUI: The size position and size was not remembered between application restarts. Now it's fixed.

Bug

Widows GUI and Gluon: Fixed the following error diplaying the preview of image files (jpg, png, gif, etc.):


Error generating the preview file <file>. The file already exists.

Bug

Windows GUI: Fixed a cut tag in the merge-needed dialog (the dialog that appears during a checkin, when a merge is needed).

Bug

Windows GUI: Branch Explorer lost focus after refresh. Fixed.

Bug

Windows GUI: Fixed an "Index out of bounds" exception in the annoatate view. This can happen while annotating a file that have a big history.

Bug

Axosoft extension: The New Branch dialog was incorrectly using the Defect prefix regardless of the actual issue type. Fixed.

Bug

Axosoft extension: The URL no longer needs to end with a slash ('/') to allow the extension to work.

Bug

Axosoft extension: The checkin result wasn't being logged in the Axosoft issue custom field. Fixed.

Bug

TeamCity plugin: TeamCity was unable to store the last affected changeset for each build when the VCS root was configured to use long repository/server names. Fixed.

Bug

Cloud Edition incorrectly prompted cloud credentials even when the default ones were set. Fixed.

Bug

Jenkins plugin: A failed polling operation caused builds to be launched. Fixed.

Bug

Bamboo plugin: The checkout directory in the Source Code Checkout task was being ignored. Fixed.

Public

Release  6.0.16.812

Feb 21 2017
New

This is the fifth release of the new Plastic SCM 6.0 series. It includes important core improvements and features. It is published in the "labs" channel instead of the official one because there are some important design changes still to be delivered, although it is stable enough to be used in production.

New

Gluon: now, both file and directory sizes are displayed on the "configure workspace" mode. This way, you can know the size of the files and directories before downloading them from the server.

New

Jenkins plugin: Our plugin supports Pipelines now! You can either use the form included in the snippet generation or write the command yourself.

These are the supported parameters:

 cm branch: '/main', changelog: true, poll: true, repository: 'default', server: 'localhost:8087', 
              useUpdate: true, workspaceName: 'Jenkins-${JOB_NAME}-${NODE_NAME}' 

Bug

Gluon: the size of modified and checked out files was not correctly displayed in the workspace explorer. The size displayed was always the one from the last time the file was checked-in, instead of the real one from your disk. Fixed.

Bug

Windows GUI: The visual diff of the analyze refactors functionality from the diff window was broken. Fixed.

Internal and public releases

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

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

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

Version numbering

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

  • major.minor.compatibility.buildnumber

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