Release Notes

Public

9.0.16.4292: Jun 04 2020

New

All platforms - Server, clients: Improvements in LZ4 compression when used with SSL.

LZ4 compression for metadata is still experimental, and we just fixed an issue in combination with SSL that made it use more bytes than without LZ4.

New

All platforms - Server: We added HTTPS support to the WebAdmin/WebUI!

The web server will automatically use the first certificate you configured in your network settings. This means that the web interface will use the same certificate you use for your Plastic SCM SSL connections automatically, without any further configuration. Just keep in mind that you'll need to access the server using https:// instead of http:// now!

If you change the certificate you use for the SSL port at some point, make sure you restart the server to refresh the certificate information in the WebAdmin/WebUI.

New

All platforms - Issue tracker extensions: We added some missing parameters in the issue tracking configuration example files.

New

All platforms - Bamboo plugin: We added support to perform customized runs.

This kind of runs let you specify the changeset to build. Before these changes, Bamboo considered those runs as simply building the latest contents.

New

All platforms - Server, Client: New expiration token system for LDAP.

When you enable LdapTokenPrivateKey in your server that is connected to LDAP, a new token expiration system will greatly reduce calls to LDAP.

This will greatly increase performance for command line applications, and overall server response.

The reason why we implemented this is to support external login systems in cloud2, but it will help in LDAP servers too.

New

All platforms - Server (.NET Core flavor): We moved the location of loader.log.conf in the .NET Core bundle.

You see, the ideal way of upgrading your Plastic SCM Server in custom setups (this is, when you DON'T use the installer) is just replacing the binaries. That's also pretty much what our Watchdog does when upgrading (although with some fancy steps such as preparing a sparse node to prevent downtimes and the like).

The issue is that if you just replace your binaries' directory contents with the content of the .zip or .tar.gz, you will override your loader.log.conf file! No more - we just moved it to the config_samples directory.

New

Windows - Plastic: Add scrollbars to the comment dialog you get after merging a branch or changeset to a different branch (merge-to operation).

The lack of scrollbars could be annoying if you typed a multi-line comment. We added a vertical scroll bar to help you with that.

New

All platforms - Server, clients: We enabled code optimization flags that will make serialization and deserialization faster.

We enabled optimization on some components that do CPU intensive operations. Optimizations were disabled because they caused issues with localization. We're trying to fix those issues to benefit from better serialization/deserialization speed. Clearly noticeable when sending big trees, big merges, etc.

New

Linux - Server: improved UDT data transfer speeds for Linux.

We tweaked some parameters in our .Net Core Udt implementation, and got a 300% performance increase when running on high latency connections. In our tests we downloaded 250 mb of data from a server in Singapore to a client in Paris.

We also found you can considerably boost udt download rates by increasing your udp receive buffer size, using the following command:

$ sysctl -w net.core.rmem_max=26214400

This helps to eliminate packet loss, which can slow down the transfer.

With that setting, we achieved transfer rates of 600 mbps using udt, compared with 70 mbps using tcp over the same connection.

Bug

Windows - Plastic: We fixed a race condition in the Code Review Window.

If you open a branch code review that contains a really large number of changes and/or changesets and quickly selected "Review branch", you could see sometimes that the branch diffs vanished and were replaced by the first changeset diffs. It's now solved!

Bug

All platforms - Gluon, Plastic: Credentials asked twice on first installation of Cloud Edition.

There was a bug introduced in the previous releases that forced to enter creds twice during Cloud Edition installation. Now it is fixed.

This is part of the transition to cloud2, and we had a loose end here :) Sorry.

Bug

Windows - Plastic: fixed occasional "File not found" error in the diff view

Following a contrived sequence of steps including editing a file in the Pending changes diff window, saving the edit but then making another edit, cancelling the dialog asking if you want to Save changes, switching to another application and back to Plastic with the edit still not saved, with "auto refresh" enabled on the Pending changes view, resulted in a mysterious "File not found" error dialog because a temp file got deleted when it was still required. Now it does not.

Bug

All platforms - Devops: The log files were not generated in the expected folder.

The server wasn't writting the log files of built-in mergebots and plugs to the "$server/devops/logs" folder. This could happen when the server is installed in a path that contains whitespaces. Fixed.

Bug

All platforms - Server (.NET Core flavor): Fixed an obfuscation issue in the PlasticMethods enum.

This obfuscation issue made the ChannelCall log useless in the .NET Core flavor of our server, as it was impossible to identify the methods without the obfuscation mappings.

Bug

All platforms - Server (.NET Core flavor): We fixed an obfuscation issue that affected merge rules.

The WebAdmin didn't properly write the merge rules to file when you saved them in your browser. It's fixed now!

Bug

All platforms - Server: fixed trigger script hangs.

If your trigger script produced so much output that it would fill the StandardOutput buffer, the script process would hang.

We fixed that.

Btw, the output buffer is only 4096 bytes.