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 22.214.171.12417.
The new servers are fully compatible with your current installation but as of 126.96.36.19917 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:
NETWORK CONNECTIONS id port from status since alive requests 3 127.0.0.1:8084 127.0.0.1 Active 00:00:01 00:00:04 2 4 127.0.0.1:8084 127.0.0.1 Active 00:00:00 00:00:03 2 5 127.0.0.1:8084 127.0.0.1 Active 00:00:02 00:00:02 1 6 127.0.0.1:8084 127.0.0.1 Active 00:00:01 00:00:01 1 Total connections: 4
Total connections is redundant with the former:
ACTIVE CLIENT CONNECTIONS
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 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 MY_LAPTOP:8085>
MY_LAPTOP:8085> gcinfo GARBAGE COLLECTOR USAGE ======= ================ GC-Gen0 1 GC-Gen1 0 GC-Gen2 0 GC total memory 05.19 Mb MY_LAPTOP:8085>
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... OK Connecting to MY_LAPTOP:8085 MY_LAPTOP:8085>
And end scene:
MY_LAPTOP:8085> exit C:\path\bin\server>
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.