Changes in v2.24

*****
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.
*****

New Features:

Added a new return result to the console tool (exitcode 5), indicating when no errors or failures were
encountered but some tests were not executed during the run.

Added the number of connected grid nodes to the corner spinner tooltip.



Fixes and Compatibility Improvements:

Fixed a compatibility issue with NUnit 3.4.1, where errors encountered during test discovery would cause tests
to be lost from NCrunch's model.

Fixed a performance issue that could cause the VBCSCompiler.exe process from stealing CPU away from VS when
working with NCrunch.

Fixed a serious issue where deleting the entire contents of a tracked source file would result in permanent
corruption of NCrunch's code coverage data. The only way to solve this was deletion of NCrunch's .cache file.

Fixed an issue where tests were not correctly being marked as outdated when the engine was initialised. This
had the potential to create misleading results during execution runs of the NCrunch console tool.

Fixed an issue where the engine would hang during initialisation if a project experienced a load failure and
the 'Infer project references using assembly names' setting was enabled.

Strengthened the error handling around the loading of cached data. This should help to prevent the engine
entering a critically failed state in the event of cache data corruption.

Added additional information to the 'NUnit tests have been detected with the same name' warning to help people
better understand why this issue exists and how to solve it.

Fixed several potential crash/performance issues when working on systems with 32 processors or above.

Fixed issues with the 'Configure selected components' option not working correctly when the configuration
window was closed.

Fixed an issue where blank coverage markers could be shown in some circumstances where there was no actual code.

Fixed an issue where resizing the tests window output pane could result in the scrollbar being removed and the
output text locked above the view pane.

Fixed inconclusive MSTest tests being reported as failing when using ExpectedException and the
'Consider inconclusive tests as passing' setting is enabled.

Introduced a fallback routine for when coverage mapping problems are encountered. This should allow the engine
to continue relatively normally if something goes wrong.

Added codes to build warnings for NCrunch builds.

Fixed an issue where commenting out a line of code being executed by a background test run could cause code
coverage corruption.

Fixed an issue where content/resource files with a 'link' property set were not being copied to the correct
build output directory when the 'Copy referenced assemblies to workspace' setting was enabled and project
references were 2 levels deep or above.