Changes in v4.18

-----------------------------------------------------------------
Release notes for 4.18.0.3 since version v4.17.0.7
-----------------------------------------------------------------

*****
This version of NCrunch introduces changes to the grid protocol. This means that grid
node servers must be updated before they can be used with the new version.
*****


Improved the error reporting for situations where a .NET (Core) task runner fails to fully initialise.

Adjusted NCrunch's internal serialization system to improve reliability and performance.

Fixed NCrunch being unable to work with cache files in excess of 2.1GB.

Fixed an issue where NUnit discovery exceptions were not always being correctly surfaced by NCrunch. This would result in the analysis passing with no tests being reported.

Fixed an issue where reloading and rebuilding more than one variant of a multi-targeted project at the same time would cause the engine to become unstable.

Adjusted the NCrunch Console Tool reports so that tests excluded by the current engine mode will no longer be shown in the coverage, NUnit and raw results reports.

Fixed a race condition that could cause internal issues sometimes on startup.

Fixed a compatibility issue where NCrunch was not correctly working with DataRow tests under newer versions of MSTest with Static Analysis.

Fixed an issue that could cause a client to monopolise a grid node's processing in certain scenarios where UsesThreadsAttribute was applicable.

Fixed an issue that could cause grid nodes to neglect clients unfairly when balancing processing between multiple connections.

Fixed an issue that could cause grid nodes to get stuck in a work request loop that could consume bandwidth unnecessarily.

Added support for the latest version of MSTest. Recent changes introduced to MSTest caused NCrunch to fail with an exception when trying to read DynamicData tests with MSTest dynamic analysis enabled.

Added support for German stack trace extraction for netcore runners.