Release Notes

Public

 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.