Release Notes

Public

5.0.44.555: Apr 08 2014

New

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.

New

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

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.

Bug

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.

Bug

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.