Today is a good day for a release. The sun is shining (here in Auckland anyway!), the birds are chirping and there is a nice sea of green tests all over the NCrunch codebase.
I'm particularly excited about 2.11, as I feel this is a significant release that makes NCrunch a much faster and more solid product.
v2.11 introduces the ability to host the NCrunch engine outside of devenv.exe. As the IDE continues to get bigger and hungrier, this allows NCrunch to step out of the way, taking a big load off the IDE garbage collector while improving stability and greatly reducing the risk of OutOfMemoryExceptions inside VS. This is by far the biggest feature in v2.11, involving extensive development around the engine's connections to the UI. You can read more about this feature in my previous blog post, or check out the new Engine Hosting Strategy configuration setting that controls it.
Visual Studio 2015 Support
VS2015 is getting closer, and is now in an advanced preview state. v2.11 adds support for this new version of the IDE, including support for the .NET 4.5.3, the new version of MSBuild and CSharp 6.
Test List Popup Window Upgrades
The test list popup window has been in NCrunch since its first beta release, and it's been due for some love. v2.11 adds some useful pieces to this window, surfacing information that was always available in the engine but not easily accessible in the UI.
The updates include a new Execution Time column that shows the time each covering test takes to execute the line that was clicked on. There's also a new selection of columns that surface more information about these tests. As in the other NCrunch windows, these columns are sortable and their arrangement is preserved between sessions.
v2.11 has a wide range of changes intended to improve the performance and responsiveness of the engine. Many of these changes were necessary in order to implement the engine separation, as this feature needs to have a very thin pipe between the engine and the IDE in order to work as efficiently. The performance improvements also include changes to make the test batching more intelligent and reduce the drag on the engine when many elements of the NCrunch UI are in use.
Fixes, Fixes, Fixes!
This release also brings a new wave of fixes for many problems reported over the last few months. A very significant fix has been targeted to resolve the dreaded loss of debugging information in async/iterator code blocks. If you find any new issues (or old ones that don't seem to be fixed and should be fixed), please do report them ASAP so I can get them resolved.
A full list of changes for v2.11 is also available. Go download it now!