Changes in v5.3

Release notes for since version v5.2.0.3

Added a button to the RDI data search window that can be used to export all the search results to the clipboard.

Improved the error handling around processes not initialising correctly.

Fixed an issue where IL table elements with self-referencing module elements could cause NCrunch's RDI to explode with an exception during instrumentation.

Release notes for since version v5.1.0.2

Fixed an instrumentation exception thrown when using RDI on multi-module assemblies (such as those that can be output by Fody)

Implemented a speculative fix to try and resolve RDI exceptions thrown in async state machines.

Turned off package hash checking between grid nodes and clients, so that packages will be transferred only if the directory containing them is completely missing. It is therefore assumed that Nuget packages installed on a grid node are not corrupt and are consistent with client machines if the directory containing them is found on the node. This should help to resolve problems with package binary inconsistencies caused by different versions of Nuget being used between grid clients.

Fixed Azure function projects not building correctly under newer SDKs.

RDI: Fixed an issue where NCrunch would throw runtime exceptions during test execution when Collection.Count methods failed, such as ImmutableArray, which can't be counted on its default instance.

Prevented a rerendering of RDI under Rider when the user scrolls the editor window.

Release notes for since version v5.0.0.2

Fixed a localisation issue that was causing RDI to throw UTF8 buffer exceptions when working with types written in non-ASCII languages.

Rider: Improved rendering performance of RDI on larger source files.

Fixed incorrect contextual documentation for grid node RDI storage settings.

Fixed grid node configuration tool unable to set the RDI storage directory without crashing.

Rider: Decreased idle cpu consumption

Rider: Added a speculative fix for setting up the debugger attachment hooks during the startup of NCrunch.

Release notes for

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.

This is a major feature release containing two new feature areas: Runtime Data Inspection, and support for JetBrains Rider.
Please see for more information about these two new features.

When Runtime Data Inspection is disabled and the product is running under Visual Studio, the behaviour of this build will be almost identical to v4.19.

Other fixes and improvements included in this release are below:

Fixed an issue where specifying a 'TargetFrameworks' with a leading or trailing semicolon inside project XML would cause load errors.

Adjusted the error handling around CPU core allocation settings to give a better experience if these settings go wrong.

Fixed a potential crash issue that could occur when using the AdditionalFilesToIncludeForGridProcessing with files that are being locked and changed while the engine is active.

Implemented a speculative fix to try and resolve data inconsistencies between the NCrunch client and grid nodes caused by differences in environment, i.e. net6 engine vs net4 grid node

Adjusted the corner spinner so this will now show multiple spinners during engine startup, one for every background task.

Fixed an issue where projects making use of the Implicit Project Dependencies and Copied Project Dependencies settings could encounter settings reload loops that could cause engine instability.

Fixed an issue that was preventing Azure function projects from building correctly under net8.0.

Fixed an issue that would cause NCrunch to fail to correctly load .cache files in excess of 2.1GB.

Fixed an issue where referencing a C++ project from a project being used by NCrunch could result in PDB reader exceptions.

Fixed a performance bottleneck that could cause engine efficiency to degrade while under extremely heavy load

Renamed the 'CPU Cores Assigned to Visual Studio' setting to 'CPU Cores Assigned to IDE'. Setting values under the previous name will be automatically ported to the new one.