UX and Performance Improvements. NCrunch V5 is getting closer

by Remco 11. May 2022 16:40

Today we're announcing the release of NCrunch v4.12.  Given that it's been 6 months since our last release, I understand that this release probably appears somewhat underwhelming.  However, I assure that it's still well worth the update, and there are good reasons for the time taken between these releases.

The frequency of NCrunch releases has decreased over the last two years for a range of reasons, including:

  • The platform is more stable.  The rate of platform churn (i.e. MS's deeper level changes) has significantly decreased.  Much of this can be attributed to the eventual stabilisation of .NET Core, which involved a complete ground-up rebuild of .NET, resulting in 5 years of chaos at platform level.  In years gone by, we were forced to push new NCrunch releases with very high frequency to align the product with breaking platform level changes.  This had serious consequences for our development capacity, as most of our effort was being spent just maintaining the product on shifting sands, instead of developing new features.
  • NCrunch is more mature.  After more than 13 years in development, NCrunch is now a very mature product supported by a comprehensive test suite.  We've had enough time and real-world exposure to iron out the kinks and resolve edge cases.  This means we are under less pressure to push frequent releases to address critical issues found in production.
  • We've done the quick-wins.  We've now implemented most of the features that can add value to the product with minimal effort required.  The most popular feature requests for NCrunch now tend to be monstrous projects that take considerable time and determination.  Implementing these features is often difficult to do incrementally and they end up better suited to larger, less frequent releases.
  • NCrunch V5 is a big one.  We are currently much of the way through the development of two very large feature areas that together will form the basis of NCrunch version 5.  These new features will significantly expand the capabilities of the product and will ultimately drive our future development over the following years.  Without wanting to spoil the surprise, I can at least say that NCrunch V5 will have a significantly positive impact on every user and will take the product in a direction that will greatly improve the utility of automated testing on the .NET platform.  NCrunch V5 is the focal point of over a decade of careful planning and R&D.  It's going to be a big deal, and we're doing our best not to disappoint you.

With that aside, I'd like to draw attention to the new stuff we're releasing in v4.12!


Improved Progress Indication

Falling under the category of a general UX improvement, v4.12 introduces improved indication of progress on long-running engine activities, such as starting/stopping the engine and changing the Tests Window filters on a solution with a large number of tests.  The new progress indication is a direct improvement on the original indicator shown when the engine is starting.

The new indicator now shows the number of concurrent tasks involved in the same manner as NCrunch's corner spinner (represented by the white/cyan orbiters).

There is also progress reported for the individual tasks themselves, in terms of a percentage or fraction.

We now also track the normal start time of the engine for the selected solution (in seconds) and report this as a number that counts down in the middle of the indicator.

Overall, the new indicator is a grudging admission that there will always be activities inside the NCrunch engine that we can't optimise down to zero, so it seems better to try and report them sensibly instead.


Internal Performance Improvements

NCrunch V5 is expected to contain features that will push the engine to its limit.  To make room, we're pushing through another round of performance optimisations.

Most of these optimisations are targeted at the nuts and bolts inside the engine, essentially improving efficiency across the product rather than focusing on specific areas.  However, we have managed to greatly reduce the time needed to swap Tests Window filters or to shut down or reset the engine.


Fixes and Compatibility Improvements

As usual, v4.12 contains the usual range of fixes to address issues reported over the last few months.

The most significant fix is a workaround for a threading issue recently released in VS2022.  This issue causes the NCrunch engine to get stuck while initialising around 50% of the time.  Naturally, with the workaround in place it's my hope that we've seen the last of this problem.


Licensing Adjustment

v4.12 includes a small change to the NCrunch EULA that prohibits users from purchasing Named User Licenses and being reimbursed for these by a company.  Although such a loophole was always excluded by general intention, the EULA did not make this clear enough.. so now it does.



For a full list of changes, please see the release notes.  Go grab v4.12!


Month List

Trial NCrunch
Take NCrunch for a spin
Do your fingers a favour and supercharge your testing workflow
Free Download