Release Notes

Public Feb 27 2020


All platforms - .NET Core Server: Great news! We just published the Plastic SCM server built on .NET Core, the cross-platform, rock-solid, super-fast and officially supported framework.

The new servers are available for Linux, macOS and Windows since version

The new servers are fully compatible with your current installation but as of they still don't include WebAdmin, WebUI and mergebots. We'll release a new version packaging those soon.

The Linux servers are available as tar.gz and also regular packages.

Windows and macOS servers are only available as zip and tar.gz at this point. We'll make them full regular installers soon.

You can read more about the brand new .NET Core server in this blogpost.


All platforms - Plastic, Gluon (Cloud Edition): This release has a known bug that causes repositories to appear duplicated during the configuration steps. This bug is not critical, is just a graphical nuissance when selecting the repository you want to join. It will be fixed in the upcoming releases.


All platforms - Server: We introduced a buffer pool for the network buffering.

Now Plastic Protocol takes advantage of a buffer pool and larger buffers (2MB) when reading from and writing to the network, which speeds up operations when sending lots of metadata.


All platforms - Server: We added extra logs and a list of active connections.

Added a new log to Plastic Proto (only when it runs standalone without remoting) to track socket accepts:

conn 1231. port 8088. Connection accepted from [33.41.xx.xx]

Also, added a new command (conns) to plasticd --console shell and extra info to the ServerStats log that prints the active connections:

    id port                 from                 status   since    alive    requests
     3            Active   00:00:01 00:00:04        2
     4            Active   00:00:00 00:00:03        2
     5            Active   00:00:02 00:00:02        1
     6            Active   00:00:01 00:00:01        1
Total connections: 4

Total connections is redundant with the former:


In the log.

The counter shows all the open socket connections, whether they are waiting or actively used.

Also, added an extra security setting: If SSL stays being negotiated more than 10 secs, the conn will be aborted.


All platforms - Server: We added a new shell that lets you interact with locally running plasticd processes. Yes! This is particularly useful when the Plastic SCM Server is running as a daemon, in which case you couldn't interact with it.

Probably best explained with some examples:

To start the shell:

C:\path\bin\server>plasticd shell
Found 2 servers running:

1. MY_LAPTOP:8084
2. MY_LAPTOP:8085

Please choose a server [1-2]: 2
Connecting to MY_LAPTOP:8085

Of course, if there were only one, it would have connected to it directly.

To see the list of available commands:

MY_LAPTOP:8085> help
Shell commands:
    help        Shows this help
    connect     Connect to an active server
    exit        Exit the shell

Server commands:
        'gcinfo' shows info about garbage collection
        'procinfo' shows process info
        'gc' runs garbage collector
        'collect' runs GC.Collect
        'stats' shows network stats
        'cleancaches' cleans all caches
        'showcaches' shows info about all caches
        'perfcounters' shows the available perf counters
        'showmethodlist' shows active requests
        'netpause' pauses the network connections - current connections are broken and new ones rejected
        'netrestart' restarts the network connections
        'shutdown' performs a controlled stop, first stops accepting new requests, then waits for all requests to finish


For example:

MY_LAPTOP:8085> gcinfo

======= ================
GC-Gen0 1
GC-Gen1 0
GC-Gen2 0
GC total memory 05.19 Mb


Switch to my other server, and shut it down:

MY_LAPTOP:8085> connect
Found 2 servers running:

1. MY_LAPTOP:8084
2. MY_LAPTOP:8085

Please choose a server [1-2]: 1
Connecting to MY_LAPTOP:8084
MY_LAPTOP:8084> shutdown
Shutting down server...

Connecting to MY_LAPTOP:8085

And end scene:

MY_LAPTOP:8085> exit



Windows - Plastic: When editing the path permissions for a repository that is not the workspace active one, the dialog allowed to choose folders for the currently active repository instead of the one that was selected. That was wrong and now it's fixed.


Windows - Plastic: After refreshing the Repository browser view (the view that shows the files in a branch, label or changeset), the expanded and selected nodes were lost. Now it's fixed.