Release Notes

Public

Release 7.0.16.2926

Jan 22 2019
New

CLI: 'cm hist' command: we added new fields to the output so it is now possible to print the repository name, server, full repository spec (name + server), and then we added format helpers like "tab" and "newline".

* repository

* server

* repspec

* tab

* newline

In addition, human-readable parameter names are now accepted. Note that the old parameters based in numbers are still supported:

New

All GUIs and command line client: It is now very easy to add ignored files if needed.

So far it was not possible to add an ignored file. You had to un-ignore it, and then add it.

We made two improvements:

1) Now you can select a single ignored file or directory and simply add it.

2) If you add a directory, all the files not explicitly ignored will be added, even if they are in ignored directories.

These changes affect both to the all GUIs and the command line.

A few examples:

Suppose that foo.c is ignored. You can right click on it on the GUI and simply add it. Or you can run cm add foo.c successfully.

Now, let's consider a more complex scenario. Check the following structure:

src/
src/lib/           - ignored
src/lib/bar.c      - not ignored
src/lib/foo.c      - ignored
other/             - ignored
other/other.txt    - ignored

Now suppose you add a recursive add in the root of the workspace ("cm add -R . --addprivateparents" on command line or "add directory tree to source control").

* Then the non-ignored file "bar.c", and its parent "lib", will be added.

* The directory "other" will not be added because it does not contain any non-ignored files.

The following figure explains the scenario:

New

Server: Jet backend. We added detailed logging and additional integrity checks to the Jet backend to ensure its stability and improve traceability.

When the server detects that a Jet file is corrupt, it throws the following error:

"The content of '{filepath}' is not valid. Please contact support@codicesoftware.com for assistance.".

Before, the server tried to use it and failed with an unexpected error like an "End of file".

We also added extra log to monitor the file size and its changes. When every Jet file is used the server logs its size (e.g. "File '{filepath}' opened for reading. Length: X bytes. Size: Y bytes.").

The server also logs size changes (e.g. "Commit append for '{filepath}'. Length X bytes.").

We introduced these changes after detecting (and recovering) a corrupt Jet file in one customer after a big power failure in their server.

Bug

CLI: The cm diff command always displayed "Workspace revision" as symbolic name in both left and right revisions when the diff was launched from the command line using revision specs. Now it's fixed.

Bug

WebAdmin: The migration to Jet failed with the error 'Could not map file' when there was an existing Jet database in the destination database path. Now, we report correctly to the user that the database path must be empty instead of showing a weird error like 'Could not map file'.

Bug

Gluon for windows: When clicking the button "Scan network" in the preferences dialog, general section, a "missing resource" error was displayed. Now it's 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: 8.0.16.3333 means:
    • 8 -> major release number
    • 0 -> minor release number
    • 16 -> compatibility -> all clients and servers with "16" in the compat number are compatible, even if the build number changes
    • 3333 -> internal build number