Release Notes

Public

10.0.16.5328: Apr 08 2021

New

All platforms: Plastic 10 is out!

Plastic turns 10! It has been almost fifteen years since Plastic was initially released and we celebrate it upgrading to an iconic number: 10.

== What was released during last year ==

These are the key features added to Plastic during the last year:

* cloud2. The new Cloud system, visibly faster, more scalable and with more features like triggers, shelves, move changesets from branches and more. We released it back in July 2020.

* Code review for macOS. The code review system landed in macOS, another step towards feature parity across platforms.

* New Unity Plugin. In August 2020, together with the announcement of the acquisition by Unity, we announced a shiny new Unity Plugin that did not stop evolving since. A much better experience for creators, and it is just the beginning.

* Improved Perforce synchronization. Bi-directional sync with Perforce is now multi-branch and expands to Linux and macOS. A huge step ahead for teams willing to migrate out of P4.

* Unity ID OAuth support. Added support to secured, two-factor authentication with Unity ID.

* Added localization for Chinese, Japanese and Korean. We owed this to our great users in Asia. Now Plastic looks native in these languages and our commitment to keep improving and expanding to other areas like documentation stays.

* Security configuration added to Linux and macOS. Now the users of these platforms no longer need to rely on the command line to set permissions.

* We greatly improved image diff.

* Upgraded Linux and macOS servers to run .net core builds. This improves speed and stability and opens a brighter future for cross-platform Plastic.

* Plastic links for Windows. An awesome way to share links to specific changesets and files.

* Whitelist restrictions in servers, both on-premises and cloud.

* Added Incoming Changes support for Linux, a great way to deal with conflicts when working on single branch.

* Added GitSync UI support to Linux and macOS!

* Added Git LFS support when syncing repos from GitHub.

Plus hundreds of bug fixes, usability improvements, great performance gains and minor features.

== What is coming ==

There is really a huge number of new things coming with Plastic 10. Some of them cannot even be unveiled yet, but here you can find a short list:

* Greatly improved code review for webUI.

* Improved Single Sign On support, adding more providers like Google and Okta.

* Plastic links on macOS and Linux.

* Reduce cloud repo sizes.

* Plastic links on macOS and Linux.

* Improvements in how we handle locks.

* Tons of usability improvements.

* Lots of new great features for the Unity Plugin.

* More code review improvements.

* Auto-upgradeā€¦

And many, many more.

Stay tuned!

New

Windows - Server: Installers with .NET Core on server component are now available!

We're about to replace all our windows installers so they will bundle a netcore-compiled server component, replacing the net framework compiled server.

But there will be a transitory time frame where both flavors on Windows installers will live together. The recommended flavor is now the netcore server.

Remarks:

* SQL-based backends support will end up with netcore installers. Just super-fast 'Plastic Jet' backend will be the way to go.

* The installer & binaries size of netcore server increased compared to net framework server, but we will address this soon.

* The default installer proposed to download in plasticscm.com site is still the net framework server.

Bug

All platforms - Server: Fixed file conflict not detected by the incoming changes.

The incoming changes feature didn't detect a specific type of file conflict: someone else modified a file in the branch head, while you moved it and checked it out in your workspace. It was wrongly detected as a file that just needs to update.

Additionally, Plastic didn't apply the change when you updated your workspace, to avoid overriding your local change. The incoming changes view showed the files modified in the branch head as pending, again and again.

Now the file conflict is show and its content is merged during the update.

Let's see a case:

* Setup workspaces wk1 and wk2. Ensure both are up to date, they point to the same branch and contain the file '/foo.c'

* In wk2, edit /foo.c and move /foo.c to /bar.c (don't check it in)

* In wk1, edit /foo.c and checkin

* In wk2, show the incoming changes view and click to update it. -> Item /foo.c appeared as a file that just needs to update. Now it is fixed, and appears as a file conflict.

Bug

All platforms - Plastic, Gluon, Command line client: Fixed wrong source path for a pending move after applying the incoming changes.

The incoming changes view left a wrong source path for a pending moved item. This happened when you exchanged the path of 2 items and both appear as pending moves when you apply the incoming changes.

Let's see a case:

* Setup two workspaces, wk1 and wk2. Ensure they're up to date, loading the same branch with the following content:

/lic.txt
/doc.txt
/readme.txt

* In wk 2, exchange doc and lic files:

mv /doc.txt /lic_tmp.txt
mv /lic.txt /doc.txt
mv /lic_tmp.txt /lic.txt

* In wk1, edit /readme.txt and checkin the change

* In wk2, apply the incoming changes. After applying the changes, the two pending moves are still there but:

** Before this fix, the second one has a wrong source path:

Moved lic.txt -> doc.txt
Moved doc.txt.tmp-833fe88e -> lic.txt

** After this fix, the second one has the right source path:

Moved lic.txt -> doc.txt
Moved doc.txt -> lic.txt

Bug

All platforms - Plastic, Gluon, Command line client: Fixed generic error message while applying incoming changes.

The incoming changes view showed an error message ("An error occurred processing your request") if you updated the workspace in a scenario like the following one:

* Setup two workspaces, wk1 and wk2. Ensure they're up to date, loading the same branch with the following content:

/doc
/doc/admin-manual.txt
/guides
/guides/user-manual.txt
/readme.txt

* In wk 2, unify both folders:

mv /doc/admin-manual.txt /guides/admin-manual.txt
mv /doc /doc_tmp
mv /guides /doc
rm /doc_tmp

* In wk1, edit /readme.txt and check it in.

* In wk2, apply the incoming changes. Before these changes, the operation failed and displayed the error: "An error occurred processing your request". Now it's fixed.

Bug

All platforms - Plastic, Gluon: Reduce the times we ask for credentials when using UnityID.

When using Unity ID login, when the access token was expired, but the refresh token was not expired, the user was incorrectly asked to sign in. There was a bug in the renew token logic that now's fixed.

Bug

Windows - Plastic: Deadlock solved

Plastic could hang if it had to display the credentials dialog on start-up. Now it's fixed.