Changes in v3.31

Release notes for since version v3.30.0.1
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.

Fixed a critical problem with the integration of Visual Studio 2019 16.3.0 Preview 2

Removed the Track engine performance setting and enabled it by default. This will show an extra tab on the tests window,
this tab will show how time was spent during the execution of the test.

Added a bar graph to the Execution Steps Duration column. This will give a visual indication where the engine spent
its time during the execution of a test.

Set the 'Deterministic' build property to 'False' to force NCrunch builds to be non-deterministic, as otherwise we
end up throwing nasty errors when trying to build some projects (particularly under FSharp).

Fixed the coverage markers not responding to VS theme changes.

Fixed VS theme not being applied immediately on the Execution Steps tab.

Fixed an issue where MSTest DataRow tests constructed using both empty strings and null values could result in tests
not being correctly detected.

Fixed an issue where some MSTest DataRow tests were not being correctly annotated with warnings under Static Analysis.

Fixed an impact detection issue that could cause the NCrunch engine to lock up for long periods of time when very
frequent changes are made to a fast compiling codebase with long running tests in the background.

Fixed a performance issue that could cause the engine to lock up for long periods at a time once the number of impacted
tests reached a critical threshold.

Added a setting to disable the global hot key ALT+U.

Fixed a problem with the NCrunch Processing Queue window where part of the window was rendered outside of the form.

Fixed storing the position of the splitter in the NCrunch Processing Queue window.

Adjusted the handling of NCrunch attribute related test metadata to improve reliability and performance.

Restructured the identification routine used to find test entry points to improve stability and performance.

Retired MSpec's DynamicAnalysis framework utilisation type, as this setting gave no apparent benefits and couldn't be
supported with the new entry point identification routine. MSpec is now enabled/disabled using a simple true/false
configuration setting.