Release Notes

Public

8.0.16.3785: Nov 28 2019

New

All platforms - SCC Plugin: Good news! Our SCC plugin now supports logging the checkin results in your configured issue tracker.

This was detected by a customer using PowerBuilder, so we can now proudly say that PB can log the checkins through SCC :-)

New

Windows - Plastic: increased the default width of the code review window. This way the controls aren't drawn on top of each other.

New

Windows - Plastic: fixed the vertical alignment of the label of the filter on the code review window.

Bug

Windows - Plastic: fixed "unable to cast object" error that appeared when choosing "Only relevant" on the 2D history view.

Bug

Windows, Linux - Proxy: Added a few extra protections to the code to avoid deadlocking while downloading data.

We increased the size of the buffer pool we use to download data, because we suspect it can be creating a deadlock. We are not 100% sure but we saw a proxy stalled and so far this is the only reason we can think of.

Bug

Windows - Visual Studio Package: Checkin failed when there are NuGet packages outside the solution directory. This could happen with Visual Studio 2019. Now it's fixed.

Bug

Linux, Windows - Proxy: Protected the new timers controlling cache clean up from unexpected exceptions.

We detected a bug in our internal proxy when one of the new timers (introduced a few releases ago to support auto-cleanup) threw an exception.

 Application: plasticcached.exe
 Framework Version: v4.0.30319
 Description: The process was terminated due to an unhandled exception.
 Exception Info: System.IO.IOException
 at System.IO.__Error.WinIOError(Int32, System.String)
 at System.IO.File.InternalDelete(System.String, Boolean)
 at Codice.CM.PlasticCacheServer.StoreProxyLeastRecentlyUsed.ToDisk(System.String, Codice.CM.PlasticCacheServer.ProxyLeastRecentlyUsed)
 at Codice.CM.PlasticCacheServer.CacheSystemRunner.StoreLruToDisk(System.String, Codice.CM.PlasticCacheServer.ProxyLeastRecentlyUsed)
 at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
 at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
 at System.Threading.TimerQueueTimer.CallCallback()
 at System.Threading.TimerQueueTimer.Fire()
 at System.Threading.TimerQueue.FireNextTimers()
 

We are more used to threads than timers, and we didn't protect them correctly.

Now it's fixed.