Changes in v4.4

-----------------------------------------------------------------
Release notes for 4.4.0.12 since version v4.3.0.13
-----------------------------------------------------------------

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

Added the option to duplicate tests by a given dimension via a new attribute in 
NCrunch.Framework called DuplicateByDimensions. The tests will be executed for each supplied 
dimension and the dimension name will be available via a call to 
NCrunchEnvironment.GetDuplicatedDimension() or the environment variable 
NCrunch.DuplicatedDimension.

Fixed a VS integration issue that was causing NCrunch to reload and rebuild an entire 
project every time a source file in a CPS project was saved to disk.  This would result in 
entire build trees being run without good reason, significantly degrading performance.

Added a new environment variable, 'NCrunch.IsHighPriority'.  When NCrunch is running the test 
with high priority, this environment variable will be set to '1'.  Its value can also be 
accessed through the NCrunch.Framework assembly under NCrunchEnvironment.IsHighPriorityTask.

Added 'IsFixtureTest' and 'IsNotFixtureTest' expression filter options to allow filters to 
identify whether tests are parent fixtures or child tests.

Added a parameter to the console tool called TeamCityTestFilter. This parameter can be used 
to add a filter to the tests reported to TeamCity. The filters are the same filters that 
can be specified under the engine mode filter "Tests to execute automatically".

Fixed an issue where the .NET core runtime would fail to load the runtime environment under 
NCrunch when working with a test project set to target Microsoft.NET.Sdk.WindowsDesktop with 
the UseWindowsForms property set to true.

Added a 1500ms delay to the reload of CPS projects after changes have been detected in-memory.  
This is being done temporarily to work around a recently introduced issue in VS2019 where VS 
seems to swallow service calls made within a short time of the project changing.

Fixed IPv6 support for the NCrunch Grid nodes.

Added global line code coverage statistics to the TeamCity integration in the console tool.

Fixed a problem when adding a code analysis ruleset that was referenced with an absolute path.

Improved the Allow code analysis setting. This now works with Roslyn analysers.

Implicit project dependencies specified in the NCrunch configuration now support selecting 
a specific multi targeted project.

Fixed an issue that could prevent NCrunch from processing PDB files produced from empty 
projects when using optimised mode.

NCrunch now respects TargetFramework directives supplied to ProjectReferences via the 
AdditionalProperties and SetTargetFramework tags.

Added the option to filter on out of date tests in custom engine modes.

Amended the error message for the restore of NCrunch-related packages to describe a possible 
situation where the package restore may have failed due to inadequate privileges.

Restructured the VS2019 project loader system in an attempt to improve reliability.

Fixed an issue where NCrunch would fail to properly handle the failed parsing of project file's 
XML content.

Fixed an issue that was causing the project loader to complain about unrecognised 
FrameworkReferences when working with some multi-targeted projects.

Fixed an issue that was preventing NCrunch from running MSpec behaviors with multiple generic 
parameters under optimised mode.

NCrunch will now present a warning when working with NUnit3 projects that make use of 
NUnit.Framework.ParallelizableAttribute.  NCrunch cannot reliably support this attribute and 
the use of it can result in instability during test execution.

Adjusted the handling of test entry points so that these will still be shown inline even when 
a coverage filter is active.

Fixed an issue that was preventing execution of MSpec generic behaviors when using optimised 
instrumentation mode.

Fixed an issue where NCrunch would fail to discover generic test fixtures under dynamic 
analysis in NUnit2.

Fixed an issue where NCrunch was corrupting large x64 assemblies during instrumentation when 
working under optimised mode.

Coverage Data is now cleared when you right click a test in Tests window and select 
Advanced>Reset selected test status.

Improved the storage of splitter positions to cope with different DPI settings per 
monitor/session.

Fixed a performance issue where removing a large number of UI navigation markers could cause 
the engine to temporarily stall.

Fixed an issue that could prevent navigation markers from being properly removed.

Adjusted the handling of navigation markers to improve performance when dealing with many 
markers.

Improved the rendering speed of the coverage markers.

Made a speculative to prevent locked hashcache files.