NCover Release NotesSitting still is not a strength of ours

NCover v5.5.4144.642

July 5, 2018

  1. Fix for missing source documents in v3xml exports.

NCover v5.5.3706.979

Sept 6, 2017

  1. Don't mark assemblies without method bodies as incomplete.
  2. Fix for race condition when creating temporary files during static analysis.

NCover v5.5.3672.681

March 21, 2017

  1. Fix for aggregation of methods that are visited multiple times during coverage run. At least some customers have seen incomplete results when a method is called more than once.
  2. Fix for immediate synchronization of new projects created on Code Central. This fix ensures that all connected clients recieve immediate notification when a new project is created on Code Central.
  3. NOTICE: The NCover extension for Visual Studio 2008 has been discontinued as of this release. The last installation of NCover containing that extension is available at the following download location.

NCover v5.5.3611.482

January 18, 2017

  1. Pre-instrumentation coverage files now include PID of covered process.
  2. Improve process watcher logic to avoid false positives detecting process exit.
  3. Add better event log messages for pre-instrumentation memory allocation errors.
  4. Improve detection of failed static analysis and auto-correct on next execution of an application.
  5. Fix key list indexing problem that was causing document stats to be lost after reindex of coverage statistics.

NCover v5.5.3543.583

November 11, 2016

  1. Aggregation correction for module level summary. In certain scenarios the aggregate of the coverage for a module was not reported correctly. After installing this update, the "ncover aggregate" command can be used to re-aggregate any executions which have reported incorrect summaries.

NCover v5.5.3541.6022

November 9, 2016

  1. Always sync static captures to Code Central when triggered by a collected execution.
  2. Correct logging information for Code Central licensing to correctly reflect licenses in use.
  3. Added option to aggregate command that adds support for aggregating merge components when the merge is aggregated by command line.
  4. Add self-shutdown trigger to windows service when it triggers the upgrade installer. The intent of this change is to provide more graceful shutdown time during upgrades.
  5. Fix logic around aggregation of complexity and CRAP score. Re-aggregation will be necessary to correct bad CRAP score.
  6. Fix javascript error reported during trend chart rendering when browsing coverage by Folder and document.
  7. Correct logic stats aggregation that was triggering a large number of internally handled exceptions.
  8. Correct a problem discovered in Document indexing which was creating duplicated unused index entries.

NCover v5.5.3519.852

October 19, 2016

  1. Fix for accumulation overrun on stats exceeding data structure limits.
  2. Add logging to display override of profiler timeout when read from registry.
  3. Fix for statistics nodes indexing that one customer demonstrated to cause a summation error.
  4. Add optimization for aggregate accumulation to improve performance.
  5. Fix for conditional instrumentation in exception offsets demonstrated in VB.
  6. Improve aggregation speed through aggregation at the datastore level.
  7. Fix satisfactory complexity count.
  8. Error checking to prevent service failure due to security issues when checking for available disk space.
  9. Fix project edit and synchronization of project enable and disable.
  10. Expand auto detection and replacement of static analysis captures which are incomplete.
  11. Provide better feedback in the GUI to show the ongoing reaggregation caused by forced static analysis updates.
  12. Add additional error recovery to datastore code to improve recovery from corrupted data on disk.

NCover v5.5.3450.842

Aug 10, 2016

  1. Fixed enable/disable of projects from the GUI in Code Central and Desktop. One customer reported a problem that the api was returning 422 error.

NCover v5.5.3438.590

Jul 29, 2016

  1. Fixed error in execution merging when static capture has mismatched ID and BinaryHash
  2. Revision of threadpool managment to reduce overall thread count.
  3. Improve handling of static capture state machine checking for completion.
  4. Improvements to data synchronization to Code Central for retry attempts on lost connections.
  5. Increase timeout of data upload to facilitate large capture sync completion.
  6. Fixed appdomain pointer management in profiler which was manifesting as ExecutionEngineException in vstest.executionengine.
  7. Dynamically calculate execution summary if execution still exists in Code Central.

NCover v5.5.3387.1052

Jun 13, 2016

  1. Ignore additional appdomain for vs2015 test runner "test-domain-*".
  2. Fixed build type Debug/Release enumeration was reversed.
  3. Update profiler dictionary locks for appDomain lookup.
  4. Update profiler to ensure in memory modules don't get invalid pointer for missing module name.

NCover v5.5.3382.552

Jun 3, 2016

  1. Fix javascript indexing of project cache for compatibility with IE. One customer reported repeated loop of errors of '.find' not supported for object.

NCover v5.5.3381.622

Jun 2, 2016

  1. Fix for execution merge failure. Merge is incomplete when a capture is dropped for a deprecated module. A unique key violation was caused when statistics for an ignored assembly were included in the statistics aggregation. The failure reported demonstrated merge results where some or all modules reported 0 coverage. The fix provided in this release will recover the data when execution merge is repeated. To do this, delete the existing merge. Select the executiions to be merged and perform the normal merge procedure.

NCover v5.5.3375.479

May 31, 2016

  1. Added --recover option to the Verify command. This options attaches orphaned executions to a _RECOVERED_EXECUTIONS project. Subsequently deleting this project will purge the executions from the data store.
  2. Added recursive data delete for projects. Executions get removed from data store on background thread when Projects are deleted.
  3. Improved some asynchronous behavior in javascript calls to API for software updates, query for executions, and project settings.
  4. Improved matches found for assemblies based on IL Hash. This change revises the hashing algorithm so that static analysis collected previous to this update will not have a matching IL Hash to assemblies collected after this update. This means a one-time impact of full static analysis on all covered assemblies to update the the IL Hash. This has no impact on Binary hash of the assembly file.
  5. Improved caching of current user information to avoid chatty calls to API.
  6. Added requestor IP address to the log entries for API requests to allow for easier identification of clients and associated server side requests.
  7. Fixed issue with filter combinations which allows exclude filters to subtract from the content of an include filter.

NCover v5.5.3353.1077

May 6, 2016

  1. Fix for document browsing reported by customer caused by missing link from document to specific module.
  2. Improved import speed for coverage data exported to json native coverage format.
  3. Revised merging algorithm to correct rollup errors which caused indeterminate results based on merging order.
  4. Fix for condition coverage merging keys across captures.
  5. Added detection of JIT optimization flags to mark captures at “Release” build or “Debug” build.
  6. Improved aggregation speed for document based coverage queries.
  7. Fix import so that merged results are properly re-merged during an import.
  8. Fix problem with application of Document filters across the code nodes so that navigation of classes and methods are filtered as well as the statistics totals.
  9. Improve response time of merge execution deletes with background processing.
  10. Fix a problem reported by one customer who demonstrated that the IL hash of modules was impacted by the location of the module on disk.
  11. Added de-duplication of assemblies in the execution merge process by default. This change largely benefits continual collecting and merging of coverage for the same modules over a period of time when some modules change regularly and some remain unchanged. When a new build is merged to an old build only the newest modules and unchanged modules will by default be displayed. There will be no duplicate assemblies.
    • Module duplicates are not propagated into a merge. Only the most recent module will be kept in the merge.
    • Most recent is defined by the most Assembly Create Date.
    • Merging does not lose the old assembly data, it simply doesn't include it in the roll up for the merge.
    • Consolidate will cause the old assembly coverage data to be lost because only the most recent assembly will be kept.
    • De-duplication is the default merge behavior.
    • Behavior is configurable in the ncover.exe.config file.

NCover v5.5.3309.878

Mar 22, 2016

  1. Modified Appdomain investigation in coverage profiler to prevent attempts to interrogate the appdomain before a module has attached to an assembly. At least one customer reported failure to collect coverage on assemblies in IIS which was traced back to a failure to acquire appdomain metadata.
  2. Updated the report link provided from the summarize command line to reflect changes to the summary report url.
  3. Revised statistics filtering in post coverage filters to add Condition Coverage as a valid filter field.
  4. Corrected post coverage statistics filtering which was not properly applying exclude/include rules to the method stats. Filters on coverage stats will now filter out the stats for any method that is included/excluded by the defined filter rules.
  5. Updated Summarize command to handle timeout of stream during heavy server load that is frequently encountered at the end of a test run as statistics are stored and aggregated. At least one customer reported receiving a “Project not found” error on the command line due to this timeout.

NCover v5.5.3305.643

Mar 18, 2016

  1. Modified Appdomain investigation in coverage profiler to prevent attempts to interrogate the appdomain before a module has attached to an assembly. At least one customer reported failure to collect coverage on assemblies in IIS which was traced back to a failure to acquire appdomain metadata.
  2. Updated the report link provided from the summarize command line to reflect changes to the summary report url.
  3. Revised statistics filtering in post coverage filters to add Condition Coverage as a valid filter field.
  4. Corrected post coverage statistics filtering which was not properly applying exclude/include rules to the method stats. Filters on coverage stats will now filter out the stats for any method that is included/excluded by the defined filter rules.

NCover v5.5.3298.623

Mar 11, 2016

  1. Corrected issue with v3xml export to use the .nccov file extension by default.
  2. Added profiler logging for failure when metadata of assemblies is unavailable.
  3. Corrected a problem with the Summarize command for Code Central so that the --wait option will suspend until the project is neither collecting, aggregating, merging, or receiving data.
  4. Added configuration to more easily support coverage collection on the NUnit GUI as a launched external tool from within Visual Studio. This means that the GUI will automatically trigger coverage collection, but users will not see the collection complete until the the GUI has exited or the testing assembly has been rebuilt.

NCover v5.5.3294.1056

Mar 7, 2016

  1. Update profiler to gracefully suspend profiling of assemblies that do not provide an interface to emit code and references. In at least one case, this issue presented as an Access Violation when accessing string.Normalize.
  2. Update the ignored list of assemblies to automatically exclude .nlb files.
  3. Added Collector download link for client machines that don’t have an HTML5 browser installed. This allows easier access to installing collector from XP or other platforms which are limited to IE 8.
  4. Fixed error in command line HTML report generation which was not applying the requested filter to the report summary header.
  5. Tweaks to automatic profiling and exclusion rules for covering web sites and web apps in Visual Studio.
  6. Modify automatic watched processes to include NUnit.exe GUI from Visual Studio Extension.
  7. Add pnunt.* to ignored system assemblies.

NCover v5.5.3284.928

Feb 26, 2016

  1. Updated ignored assemblies to include Webgrease.dll, Antlr3.runtime.dll
  2. Corrected instrumentation of methods containing contiguous conditions points which span a protected region.

NCover v5.5.3281.984

Feb 23, 2016

  1. Fix bug reported by one customer experiencing “hung” coverage shutdown after testing. This was caused by app domains that were created but had no coverage to finalize.
  2. Fix filter application for Code Central on HTML report for <Active Filter>. Report was not filtering the header information when choosing this filtering option.
  3. Don't ignore appdomain mask "test-domain.*". Some coverage was being ignored for nunit tests using nunit test adapter.

NCover v5.5.3280.693

Feb 22, 2016

  1. Dramatically faster coverage collection during test runs in Visual Studio.
  2. Integrated coverage collection for Apps launched/debugged in Visual Studio:
    • WinForms
    • WPF
    • Console apps
    • ASP.NET web apps
  3. Test Explorer and test adapters are supported for automatic coverage collection.
    • MSTest
    • NUnit
    • XUnit
  4. TestDriven.Net test runner supported for coverage.
  5. ReSharper test runner supported for coverage.
  6. Coverage window now has “Clear Coverage” command for the default coverage project.
  7. Coverage window now has “Enable/Disable” coverage command in the toolbar.
  8. Coverage window now has “Snapshot Coverage” command in the toolbar. This allows the user to get a preliminary look at coverage results for long running test cycles or manual testing of apps that stay resident like web apps.
  9. Pre-Coverage filters are selectable from dialog in coverage window and settings are properly saved.
  10. Archive command for executions has been enhanced to speed the process of archiving older execution data. This is now an asynchronous operation so multiple executions can be archived in parallel.
  11. Fixed authentication error reported by Code Central users when trying to execute some command line commands like archive.
  12. Improved Instrumentation of protected regions and corrected instrumentation around exception handling.
  13. Coverage profiler now supports PCL assemblies.
  14. Profiler changes made to support compatibility with PostSharp. Specifically changed the handling of tail-call instructions.
  15. Bolt test runner deprecated, but still provided for convenience.

NCover v5.2.3270.910

Feb 12, 2016

  1. Corrected instrumentation issue reported by one customer who experience and InvalidProgram Exception due to improper instrumentation of nested protected regions which had identical starting offsets.

NCover v5.2.3225.1060

Dec 30, 2015

  1. Corrected summary aggregation problem for coverage in namespaces with a large number of classes. The indexing was overlapping and including methods from outside the class which inflated the numbers. In most cases this resulted in reporting a lower coverage percent than was actually in place. This error was isolated to the class level in all known instances. Module totals and individual methods were not affected.
  2. Improved profiler efficiency by reducing the number of calls to GetMethod information.

NCover v5.2.3170.689

Nov 4, 2015

  1. Updated Profiler instrumentation to handle conditions that surround protected blocks. Several new instrumentation updates to address reports of Invalid Program Exceptions.
  2. Bolt handling of menu item availability has been improved to prevent inadvertent side effects caused by conflicting commands. For example, enabling and disabling coverage requires the testing agent to be restarted so that the profiler settings can be modified. These updates prevent changing the coverage setting while tests are already running. This means a user will have to cancel tests before changing the setting. These fixes also correct a problem reported by users that changing this setting interrupted test finding.
  3. Reduced the amount of documents scand performed by Bolt in order to cache the location of tests. This behavior has limited benefit in large solutions where the majority of files would never be opened by a user.
  4. Revised synchronization between Collector and Code Central to improve efficiency of synchronization tasks and in some cases eliminate duplicated data transfer. Static captures are synced in batch with the associated Run time capture within a set of executions currently being synced. Only a unique set of static captures are sent. This prevents multiple queued executions from triggering the sync of the same static capture.
  5. Update to optimize code node tree indexing and correct problem with some aggregations.
  6. Bolt test loading improvements to reduce initial load time.
  7. Updated Bolt agents for 4.0 CLR to allow loading of 2.0 CLR mixed mode assemblies when referenced by a 4.x testing assembly. This corrects an error seen by a few customers stating that Bolt was unable to load mixed mode assembly because it was built with the 2.0 target framework
  8. Corrected an issue reported by one customer who could not generate the Detailed Method report in Code Central.
  9. Updated Bolt logic for detecting and rebuilding projects as needed.
  10. Fix initial test load display in Bolt Test Window. One customer reported a solution which when loaded was not fulling displaying the test set even after rebuilding the solution. This problem is corrected with this release.
  11. Updated NCover concurrent static analysis to allow 1 active analysis process per CPU in the environment. This is a change from what was previously 0 concurrency.
  12. Fixed a problem reported by a customer using VB which caused coverage failure when the profiler reported the source document as having an empty filename.
  13. Fixed an issue in NCover capture status reporting in the case where local aggregation is disabled on a Collector. A loaded capture is no longer reported as “Collecting” when aggregation is disabled. If aggregation is disabled the correct completed status of a capture is “Loaded”.
  14. Fixed a problem with automated merging on Code Central which was reported by a customer. In some cases executions sent to Code Central were being left unmerged even when they met the automatic merge criteria.

NCover v5.1.3130.1169

Oct 16, 2015

  1. Correction for instrumentation of protected blocks.

NCover v5.1.3130.1169

Sep 29, 2015

  1. Further refinement of protected region instrumentation to resolve invalid program exception in reported cases.
  2. Revised build out of date detection in Bolt Extension to improve detection and reduce unnecessary rebuild.

NCover v5.1.3126.626

Sep 21, 2015

  1. Update installer to fix bug installing Bolt to VS2015 Community edition
  2. Fix static analysis issue regarding Debug/Release build.
  3. Fix for collecting count reported in sync-status command.

NCover v5.1.3123.1026

Sep 20, 2015

  1. Instrumentation update to support nested protected blocks with condition coverage.
  2. Aggregate command updated to allow missing executions to be re-aggregated.
  3. Update to support installation of Bolt Visual Studio extension on VS2015 Community edition.

NCover v5.1.3114.844

Sep 9, 2015

CAUTION: upgrading to v5.1 will modify the datastore to a format that is not backward compatible with 5.0. Please make a backup of your NCover data store before installing this version.

Major Updates to NCover for v5.1:

  1. The primary benefit of v5.1 is the optimization of data storage. Many beta customers are seeing 50% or decrease in storage requirements after the upgrade. This savings is accomplished by two primary improvements; the first is normalization of statistics and regions and the second is a more thorough compact routine that eliminates stale records in the datastore. The result of the data optimization is decreased storage requirements and improved aggregation speeds.
  2. Post-coverage filters have been enhanced to merge the functionality of class filtering and document filtering. Filters created for browsing documents are now applicable when browsing code by namespace and class. The converse is also true, that class and namespace filters now apply to document browsing as well.
  3. Prune command has been added to NCover to allow users to remove unwanted modules, namespaces, classes, and methods from any or all projects in the data store. A --global option is provided to allow assemblies, like XML serializers, to be removed across the entire data store. Read the documentation carefully and use this feature with care. Always create a backup before pruning coverage data. The Prune command cannot be undone. The default action of the Prune command is to show the data that would be removed; data will only be deleted if the --force option is used.
  4. Compact command has a new option to --rebuild the data store. This option very thoroughly strips out any dead records in order to recover disk space and improve query performance. This command can be very useful for periodic maintenance.
  5. Trust Version option has been added to the the Merge execution command. This is a user selectable option that overrides the NCover failsafe merging criteria and allows data from modules to be merged as long as those modules match on file version. Users must exercise caution in the use of this command. Merging data that doesn’t truly match can lead create merged coverage results that are inaccurate. Leaving this option unchecked will maintain the strict merge criteria native to NCover, which require validation of binary equivalence, identical source documents, or identical IL in order to permit a merge.

Additional Fixes and Improvements

  1. NCover GUI popup color correction for IE showing visit count.
  2. NCover data queries and filtering performance is improved.
  3. NCover command line merge has test feature to show potential duplicate assemblies.
  4. NCover profiling fixes for protected regions which caused Invalid Program exception.
  5. NCover GUI now displays project add/remove buttons in Firefox.
  6. Code Central will auto refresh the GUI after execution aggregation.
  7. NCover command line merge supports option to select executions by caption.
  8. NCover GUI charting corrected to prevent whole number rounding.
  9. NCover pre-instrumentation improved to handle variations of neutral culture specification.
  10. NCover GUI fix for switching between module and document view.
  11. Bolt reloads tests when switching project target framework.
  12. Bolt agent pre-loads modules and provides placeholders for tests.
  13. Bolt reloads tests when project bitness level changes.
  14. Bolt agents are more responsive to test cancellation.
  15. Bolt runs test fixtures created without a namespace.
  16. Bolt command line supports category include/exclude option for test run filtering within an assembly.

NCover v5.0.3022.603

Jun 9, 2015

  1. Correction for instrumentation error in exception handlers. At least one customer reported an "Invalid Program Exception" when instrumenting VB conditional exceptions.

NCover v5.0.3010.472

May 29, 2015

  1. Fixed project add, enable, disable buttons for Firefox.
  2. Restored “report” command for Collector command line.
  3. Bolt handles pre-coverage filter updates for solution modifications.
  4. Enabling Bolt extension now reloads test assemblies.
  5. Coverage highlighting reloads when Bolt extension is enabled in Options.
  6. Bolt communication disables when extension is disabled.
  7. Bolt starts initial test run more quickly.

NCover v5.0.2983.1113

May 6, 2015

  1. Fixed exception being thrown in tagger within Visual Studio.
  2. Bolt extension now handles project add/remove from solution without reopening solution.
  3. Bolt support added for static test fixtures.
  4. Bolt fix for null reference in LoadDocData.
  5. Bolt improved handling of UNC paths for current directory.
  6. Bolt stability fix for switching target from release to debug in VS2013.

NCover v5.0.2953.994

April 2, 2015

  1. Bolt bug fixed that allowed bolt to use Desktop datastore for creating background projects.
  2. Bolt fixed issue with disabling NCover projects while tests are loading.
  3. Bolt test runner now uses MTA threading by default.
  4. Bolt now supports RequiresSTAAtribute for tests.
  5. NCover fix for include module post-coverage filter that failed when merges contained multiple versions of the same assembly.

NCover v5.0.2952.1103

April 1, 2015

  1. Bolt handles ValueSource via inherited test classes.
  2. Bolt fix for ExpectedException being treated as as Test identifier.
  3. Bolt fix for unexpected Bolt_Agent_VS projects being created in NCover Desktop.
  4. Bolt Extension document glyphs reflect last test run status.
  5. Fix exceptions encountered in Bolt because of events subscribed to document tagger.

NCover v5.0.2947.786

March 26, 2015

  1. Bolt Extension improved handling of menu and button enabling based on state of build or testing run.
  2. Bolt Extension improved test run cancellation.
  3. Bolt updated to fix error with ExpectedException test failing.
  4. Bolt Extension improved handling of inner exceptions.
  5. Bolt fix for creating some parameterized tests.
  6. Bolt Extension reduce reloads of prior test results after incremental rebuild.
  7. Bolt Extension when parameterized setup fails mark all children as failed.
  8. Bolt Extension fix for re-adding test glyphs to documents after re-enabling extension.
  9. Bolt fix for working directory case sensitivity. Use lower case.
  10. Bolt Extension fix for progress bar and test loading status.
  11. Bolt Extension fix for non-test assembly throwing exceptions.

NCover v5.0.2925.738

March 4, 2015

  1. Bolt improved performance in finding tests.
  2. Bolt improved performance in starting test runs.
  3. Bolt reports build failures when run started.
  4. Bolt reports out of date assemblies in test window.
  5. Bolt improved feedback for test loading process.
  6. Bolt stability improvements.
  7. Bolt fixed exception serialization from agent for better troubleshooting in Visual Studio.
  8. Bolt handling of TestCaseSource for NUnit working with static source classes.
  9. Bolt TestCase combinations updated to match cartesian product when not marked Sequential.
  10. Bolt test finder correction to avoid missing tests.
  11. Bolt test window pre-populated with all assemblies from solution that have a reference to a known unit testing framework. Gray items are not loaded.
  12. Bolt detects MsTest assemblies that need OleDb and suggest use of 32-bit agent.
  13. Bolt does not call fixture constructors until tests are run.
  14. Bolt will construct objects needed to resolve Test parameters during test finding stage.
  15. Code Central detail report fixed for executions with duplicated modules.
  16. NCover improved performance of static analysis and coverage collection for Bolt.
  17. NCover stability improvement for applications that use multiple app domains. Dropped coverage issue has been corrected.
  18. NCover corrected data import failure when no document source is included in zip file.
  19. NCover improved use of static analysis caching for assemblies loaded by Bolt for better performance.

NCover v5.0.2903.1037

February 11, 2015

  1. Bolt extension update to prevent UI locking in Visual Studio for pending tests.
  2. Bolt extension update to prevent unhandled exceptions causing Visual Studio unexpected exit.
  3. Bolt test runner update to properly execute inherited Setup/Teardown.
  4. Bolt test runner Improved handling of AssemblyInitialize (MsTest).
  5. Added better logging of Bolt Agent errors for improved troubleshooting .
  6. Bolt test runner added support for AssemblyCleanup (MsTest).
  7. Bolt test runner added error handling in AssemblyTeardown.
  8. Bolt Extension improved coverage queries to prevent end of stream exceptions.
  9. Bolt Extension Increased use of Asynchronous UI thread usage for better responsiveness.
  10. Bolt Extension test cancellation improved for data-driven tests.
  11. Bolt Extension better handling of Thread Abort exceptions on cancellation.
  12. Bolt Extension fix for null reference exception when changing coverage project from NCover menu.

NCover v5.0.2884.998

January 23, 2015

  1. Updated the interaction of pre/post coverage Include filters to allow post-coverage inclusions to eliminate pre-coverage inclusion.
  2. Fixed state machine locks and management to avoid functional deadlock in collecting coverage and synchronizing coverage to Code Central.
  3. Fixed layout in sidebar filters so scrollbar doesn’t appear on hover.
  4. Record clear software updater messages showing failure reasons.
  5. Increased pre-instrumentation shared memory page size from 1Mb to 16Mb. One customer reported a single class requiring 8.4Mb of counter space.
  6. Updated account permissions used to be compatible with non-US english localization of Windows.
  7. Improved process exit monitoring to eliminate “hung” executions during collection. Under extremely heavy load, some application exits were getting lost so executions were not signalled for collection. This typically requires the simultaneous coverage of dozens of processes to duplicate.
  8. Added debug logging to Bolt with configurable log location.
  9. Handle unknown object types in document highlighting regarding the UIHierarchyItems in Visual Studio.
  10. Fixed error in Bolt test tagger when it encounters non-code document types.

NCover v5.0.2874.611

January 12, 2015

  1. Updated license lease ping for floating licenses to allow for failed renewal between connections. At least once customer reported having duplicate machines listed in the licensed clients. Ping success/failure now allows a machine to retry without being seen as a duplicate.
  2. Clean up exception handling in Bolt to reduce messages logged when tasks are aborted. This reduces confusion by not printing messages the user can’t utilize.
  3. Move test management activities to thread pool to reduce reliance on longer running GUI tasks.
  4. Increase logging support in licensing process to aid in troubleshooting.
  5. Send load message to agents in Bolt when Visual Studio finished a build.
  6. Fixed a bug in license activation that was preventing some clients from successful license installation after build v5.0.2857.1095.

NCover v5.0.2868.996

January 7, 2015

  1. Updated pre-instrumentation licensing to verify license via 64-bit registry when a process is 32-bit.
  2. Several updates for Bolt document test finder and COM object thread management to improve stability and performance.
  3. Handle exception in Bolt encountered when Visual Studio document COM object snapshot is out of date.
  4. Fix for license cache on local ncover service. This problem manifested by inability to re-license the NCover service.

NCover v5.0.2857.1095

December 29, 2014

  1. Updated floating license lease renewal to detect failed renewal attempts and handle out of sync renewal timestamp between client and server. This issue was reported by 2 customers who were seeing the same machines assigned more than one floating license at a time.

NCover v5.0.2853.967

December 22, 2014

  1. Fixed checkbox selection in process auto-detect filter creation.

NCover v5.0.2853.638

December 22, 2014

  1. Fixed installer Beta labeling for Bolt
  2. Implemented Filters command for command line filter addition/clearing for Code Central.

NCover v5.0.2849.892

December 18, 2014

  1. Added --folder option to the Archive command which allows users to specify location of exports from the archive command.
  2. Added --no-delete option to the archive command to allow the backup of coverage data to an archive folder without deleting from the live data on the server.
  3. Fixed a problem with Archive command that was not deleting merged component executions after export.
  4. Fixed a problem with Import of merged executions.
  5. Fixed text wrap in license release button of Code Central
  6. Updated logging queue to detect logger with a disposed base stream and recover automatically.
  7. Clarify command line help based on installed license to remove unavailable commands/options.
  8. Fix issue with Bolt not triggering static analysis update for document changes.

NCover v5.0.2848.583

December 17, 2014

  1. Enable console output in session 0 for command logging from service initiated processes.

NCover v5.0.2847.810

December 16, 2014

  1. Fixed threshold key label layout on the Threshold settings tab in project dialog.
  2. Fixed fail-build option for checking condition coverage. One customer reported continuous failure on Condition Coverage.

NCover v5.0.2847.573

December 16, 2014

  1. Add exception handling for software update request failures.
  2. Add locking around machine identifier creation to reduce repetition of machine id change.
  3. Add DeploymentItem support for TestFixture.

NCover v5.0.2843.608

December 12, 2014

  1. Removed overlapping event handler for solution load improved performance of Bolt at solution load.
  2. Improved performance of datastore session access for Bolt by reducting lock actions.
  3. Fix for theme color setup in Bolt which caused an error attempting to construct color format definitsions before the VSUIShell service was available.

NCover v5.0.2841.677

December 10, 2014

Version 5 key feature additions:

  1. Static analysis reused when module IL is unchanged after rebuild. This reduces space requirements and processing time as well as expanding what executions can be merged.
  2. Pre-instrumented coverage provides a mechanism to embed coverage collection in an assembly rather than use the .Net CLR profiler API for collection. Pre-instrumented assemblies within a process collect coverage data into a shared file on disk.
  3. Windows Store apps coverage collection supported for debug and deployed applications using pre-instrumentation.
  4. Condition Coverage added to the core NCover metric set. Condition coverage is a chief indicator that all conditions to reach a specific branch of code have been exercised.
  5. Report generation from GUI of Code Central is now available within any level of an execution. The coverage report detail is selectable to 3 levels of detail: summary, class, and method. The class and method detail are embedded in the HTML for portability. In addition, the report option allows the post-coverage filters from the GUI to be applied selectively based on user's browsing context.
  6. Code Central projects can now be marked as public. This allows a user with server access to view coverage on shared projects without requiring a login to Code Central.
  7. Branch Visualization has been expanded to show dashed lines where conditions have not been exercised during coverage.
  8. Baseline executions added to allow the selection of certain coverage collections as the baseline for comparison. Once selected, the baseline execution is retained in the charting output for the coverage trend. Up to 3 baselines are displayed at a time. Baselines are especially helpful for watching coverage changes between releases while tracking the most recent trend.
  9. The Bolt extension has been refactored to function more independently of the GUI in Visual Studio resulting in overall improvements to responsiveness and test execution peformance.
  10. Bolt now supports additional elements of MsTest: AssemblyInitialize, AssemblyCleanup, DeploymentItem, TestContext, DataSource, and more.
  11. Bolt now supports additional elements of NUnit: TestCaseSource and ValueSource.
  12. Bolt now support theme changes in Visual studio with automatic color adjustment for custom themes.

Select updates and fixes for NCover:

  1. Code Central admin page now display last access license time in local time rather than UTC.. This allows a user reviewing the admin console to see the access times in his local time zone.
  2. API cache usage performance improved by reducing the use of query parameters. This change improves the overall performance of cache across the application.
  3. NCover GUI now allows navigation into a project even if no executions exist. Since project post-coverage filters are defined within specific projects, the admin is now able to create a project on Code Central and create an initial set of post-coverage filters that are shared with client before any coverage is collected or synced to Code Central.
  4. Added json format version to exported coverage for informational purposes for customers who are creating custom integrations.
  5. Update lic-request/lic-release to use local service so that the GUI client does not have to have admin access to the local machine for license updates.
  6. Allow local API calls to succeed even if the command can't validate the certificate on the local machine. Many customers use self-signed certificates on local machines for testing and this feature change just bypasses validation of certs to the local machine when requesting coverage data for display.
  7. Import command --file option now allows file masks and folders as import sources. This option is especially useful when collecting coverage via the new pre-instrumented method. This streamlines the import process by allowing the use of wildcards and folders as the import source.
  8. NCover Import command now reports errors and successes of each file when multiple files are processed and results are mixed. Supporting the new wildcarded import, this enhancement makes sure the user receives feedback for specific files being imported.
  9. CSV exports have been expanded to include a full set of execution data. This request is in support of customer user reporting requirements.
  10. Namespace Counts in static analysis now disregard nested namespaces which do not contain unique classes.
  11. NCover service now has a low disk space threshold warning and will disable profiling of new processes when disk space is below set threshold. The threshold can be modified in the NCover.exe.config. By default, this minimum available disk space is initialized to 1Gig.
  12. Users can now create projects without match rules. This is especially useful for projects that are intended for import only. This makes it possible to create a project on Code Central that is synced to clients for the collection of imported data.
  13. Import has been improve on Code Central and Desktop to create a project if it does not exist at the time of import. Creating projects manually or via import is not supported on Collector.
  14. Users can now assign a build ID for the Import command. This will assign the build ID to each execution imported by that command.
  15. Sync-wait command reliability has been improved on the Collector machine.
  16. Updates to checkout/release of handling floating licenses to reduce reported over allocation of licenses to a single collector.
  17. NCover service auto start on the XP platform has been improved so that NCover service is able to restart gracefully on reboot of XP systems.
  18. Corrected an aggregation in the rollup counts of Method, Type, and Namespace. Manual re-aggregation of any affected Executions will be required to see these fixes.
  19. Summarize command not working for build-id and merged executions. This was corrected by rebuilding the execution summary cache after merge.
  20. Fixed an issue with the Collector auto update which was blocking automatic updates for some customers.

Select updates and fixes for Bolt:

  1. Improved handling of security principal changes in tests, setups and teardowns.
  2. Improved performance of test finder while editing a document.
  3. Improved reliability and accuracy of test display.
  4. Improved behavior when using a split view.
  5. Improved integration between bolt extension and desktop web app when using a desktop project as a coverage source.
  6. Improved reliability when choosing a different test ordering rule.
  7. Improved performance of loading and running large numbers of tests (2000+).
  8. Improved performance and reliability of running tests in a different order (failed first or fastest first).
  9. Improved handling of test timing.

NCover v4.5.2758.719

September 18, 2014

  1. Updated summary caching to account for merging of executions which use the same build id. Previously the cache from the most recent collection was retained even after that execution was merged. Merge command now creates a replacement summary cached for a build id once the merge completes.

NCover v4.5.2749.727

September 9, 2014

  1. Corrected Type Count at the Summary and Module level.
  2. Altered the count for Name Spaces to count only the combination of nested namespaces that contain definitions of Types. Previously each nested name space was counted individually.
  3. Fix for NUnit tests in Bolt which use Expected Exceptions. This fixes a mismatch of expected type and type name that reported some tests as failing.

    *After installing this update it will be necessary to aggregate any executions needed to reflect the aggregation changes listed above..

NCover v4.5.2745.646

September 5, 2014

  1. Updated installation to retry service creation when “Service is marked for deletion” error occurs.

NCover v4.5.2744.921

September 4, 2014

  1. Fix static calculations to apply appropriate filters to method count, type count, and name space count.
  2. Fix module export duplicates handling.
  3. Fix splash text null exception so help usage text displays properly.
  4. License checkout through local windows service to ensure proper registry permissions.
  5. Version information added to all json data serialization. This will be maintained for all future json content additions or changes: "ncover_version_info": { “ncover”: “”, “json”: “4.5”}
  6. Corrected Summarize command so that it only uses command line build id's rather than environment variable.

NCover v4.5.2673.635

July 21, 2014

  1. Fix to handle CSV export for duplicated modules.
  2. Better handling of GetCoverageTag errors in Bolt.
  3. Removed “TestElevation” message from installer.
  4. Update License validation to reduce ping interval.
  5. Corrected Help links on the Getting Started page of NCover GUI.
  6. Bolt changed to look first for the output file in the directory specified in the project working directory, when getting the assembly path of a project.
  7. Fix for Bolt options page registration in VS2008.

NCover v4.5.2622.755

May 5, 2014

  1. Bolt now honors the configuration selected in the Visual Studio UI.
  2. Bolt build of dependent projects improved before running tests.
  3. Bolt no longer notifies the GUI about fixtures which are not in the current selected run set.
  4. Bolt null reference exception handled in cases where viewing non-covered code file type.
  5. Bolt fixed issue with extraneous namespace added for assemblies which contain no tests.
  6. Bolt fixed issue where old namespaces were retained in test window after renaming a namespace.
  7. Bolt default behavior disable automatic static analysis by background operation. This reduces work performed at first load of a solution.
  8. NCover commands on machine using SSL are allowed to succeed even if the local certificate fails to validate. This is allowed only for requests made on the local machine.

NCover v4.5.2608.1094

April 23, 2014

  1. Bolt now supports AssemblyInitialize and AssemblyCleanup attributes of Mstest.
  2. Improve server connection checkin in Bolt to reduce chatty requests for server status.
  3. Move Bolt change listeners to threadpool thread to improve responsiveness in Visual Studio UI.
  4. Fixed exception that could occur in Bolt when caching test items of open documents.

NCover v4.5.2595.1126

April 9, 2014

  1. Bolt issue resolved where FixtureSetup was not being called for certain fixtures containing parameterized tests.
  2. Bolt test finder updated to improve support for finding parameterized tests.
  3. Bolt logs have been moved to the Application Data folder to support environments where the user does not have admin privileges or chooses not to run admin privileges for Visual Studio. This affects the logging of Bolt extension errors only and has fixed a crashing situation for some users.
  4. Bolt now has support for Expected Exception property on the TestCase attribute for NUnit tests.
  5. Ensure captures in child appdomains get connected to to merkle hash static captures. This problem was causing some assemblies to fail to show coverage.
  6. Improve menu command enabling and disabling in bolt by tying some commands to the Solution Open condition.

NCover v4.5.2561.1062

March 6, 2014

  1. Preserve system.web and nodes of ncover.exe.config during upgrade installation.
  2. Update binary hash calculation for reduced repetition of static analysis. Two phases of hashing review assemblies for binary equivalence. Second phase considers hash of IL contained within the assembly to provide improved matching to multiple builds of the same assembly. This reuse of static analysis saves data space and processor load.
  3. Add pnunit to pre-filtered test frameworks that are applied to every project covered by NCover.
  4. Detect machine id collision and retry license request with new id to improve the experience of customers who are using VM images in deployment. This reduces license not available responses.
  5. NCover coverage export for v3xml fixed to support the export of methods with no region data. Fixes a crash during export.
  6. Installer issue resolved for erroneous reporting of Devenv error on systems which did not have vs2008 installed.
  7. NCover import command usage display now show all import options.
  8. Bolt test runner will now execute methods in base classes marked with various setup/teardown attributes.
  9. Bolt test runner will now honor multiple security principal changes inside test/fixture setup/teardown methods.
  10. Bolt test window now has an additional test status icon which is half red half green to indicate tests that pass but have teardown failures. Previously test and fixture teardown failure was reflected as failed execution of the tests. Now tests show as passed, but icon and descriptor text help identify teardown failures.
  11. Bolt test window fixes for test results not rolling up correctly in all circumstances.
  12. Bolt setting has been added to allow a user to select an alternate location for Bolt data storage. This is a global setting for Visual Studio. Default behavior of bolt is to store all data locally in the solution folder under a uniquely named folder. This solution allows a user to place data for all solutions into a secondary location separated into subfolders by solution name. The user need only specify the containing folder and solution folders are created beneath that main location as needed.
  13. Bolt test runner option Cover Child Processes moved to the global options page and applies specifically to each solution.
  14. Bolt test runner enabled property is now a global setting rather than a solution level setting.
  15. Bolt output pane is selected within the Visual Studio output window when tests are run. The output window is not automatically activated, but the Bolt output is made active within that tool window if the user has chosen to view the window.

NCover v4.5.2527.802

January 30, 2014

  1. Improvement to Bolt extension in startup of test run for large solution.
  2. Installer maintains settings in and system.web sections of ncover.exe.config.
  3. Fixed issue in Bolt that prevents restarting the tests when tests have been cancelled during the preparing test run phase.
  4. Add message to installer which instructs user that Visual Studio will need to be restarted if devenv process is running when installation of Bolt extension occurs.

NCover v4.5.2521.836

January 24, 2014

  1. Decreased default httpruntime cache allocation for server.
  2. Improved memory reclamation after coverage collection cycle.
  3. Corrected issue in Bolt serializing types across app domains. This problem was reported to stop test processing within a given agent or test assembly.
  4. Released Bolt client to Visual Studio Gallery and allow auto updates of Desktop through the gallery update.
  5. Fixed an installer issue reported which prevented installer from running if old license skus were encountered in the registry.
  6. Update coverage display inside Visual Studio when the execution is deleted from the Desktop GUI.
  7. Force Bolt Agent environment to be set each time the agent is launched to ensure coverage is collected during test run.
  8. Reduced priority of http cache items to allow them to be cleaned up more readily under system memory pressure.
  9. Implement datastore level cache clearing when cache-reset command is used.
  10. Decreased the sliding window timeout on internal cache items to 1 hour in order to more quickly release in-use memory for the NCover windows service.
  11. Update navigation to test for parameterized test instances.
  12. Correct an issue encountered serializing interfaces between app domains in the test runner.

NCover v4.5.2510.1025

January 13, 2014

  1. Improved execution and collection time in Bolt Extension by decreasing the number of Global Event handles used to track the completion of coverage collection.
  2. Bolt extension now shows certain types of unsupported tests rather than just reporting as inconclusive.
  3. Bolt extension test window roll-up now shows Inconclusive if any test within a suite is inconclusive.
  4. Bolt extension cleaner usage of the default project avoiding unwanted project creation in the visible desktop GUI.
  5. Added more detailed messages and logging around Automatic Software update to report specific errors rather than default to no update available message.
  6. Fix for glyphs not reflecting test result in Bolt extension source code document.

NCover v4.5.2500.554

January 3, 2014

  1. Implemented default parameter value support for TestCase attribute in parameterized test implementation.
  2. Implemented Bolt Agent reuse for multiple assemblies. Bolt agents now load multiple testing assemblies into the same process in order to reduce the number of data merges required to collect for a single execution of a large test set contained in multiple assemblies.
  3. Ignore Interfaces during coverage collection. Both static analysis and profiling will ignore any type definition which is an interface. Since these types will never have branches or sequence points the collection of coverage is not possible.
  4. Filter rule editing updated to allow patterns that contain < and >. These types of rules can be used for matching generic typed methods: mymethod<t,u>.
  5. Editing filter rules in CSV now handles embedded quotes and commas within quotes.

NCover v4.5.2492.828

December 26, 2013

  1. Fixed issue with arrays that are passed as parameters to unit tests. Tests receiving arrays were previously failing when invoked.
  2. Fixed issue with variation in the way parameters are encoded in the metadata of the method attributes for parameterized tests. This issue caused test parameters to be parsed incorrectly.
  3. Improved the printed names of tests which contain array parameters so that the array contents are readable in the test name. Previously arrays were listed only by the name of the type.

NCover v4.5.2486.818

December 23, 2013

  1. Added thread watcher to in-memory static analysis to prevent, when possible, the exit of a browser process that is hosting static analysis. This happens when testing silverlight applications. It is possible for the static analysis threads to still be running in the background when the browser is closed by the user. This change will prevent the background process from exiting until static analysis is completed or the process is killed by the user. This prevents incomplete coverage collection when the browser is closed by a user or script before static analysis has completed.
  2. New option added to Archive command --delete-only which allows for deleting executions from the command line without exporting to zip archive.
  3. Run command handling of process arguments improved so that quotes are not forced on parameters unless they were provided to the NCover Run command already quoted.

NCover v4.5.2483.1104

December 18, 2013

  1. Fix Bolt extension creating an unused projected entitled Bolt_Agent_VS in the NCover Desktop datastore. This project is unused by the extension and is not needed.
  2. Enabled the use of HTML reserved characters in filter values. This eases the complication of filtering anonymous types which contain < and > signs.
  3. Enhanced the filtering algorithm to improve filtering speed in cases where a large number of filtered elements are identified.
  4. Corrected issue introduced with parameterized tests that caused the Fixture Setup to be executed again prior to running a set of parameterized tests.
  5. Fix Bolt extension error encountered on XP when attempting to open the licensing dialog within Visual Studio.
  6. Fix Bolt extension display of initial code highlighting when a solution is opened and the documents are opened before the solution opens all the projects.
  7. Fix Bolt extension coverage window not loading when a solution has already been opened before the coverage window is constructed.
  8. Fix an error in Bolt extension which occurs due to non-existent theme registry entry in VS2010.

NCover v4.5.2479.981

December 16, 2013

  1. Bolt test runner now support inherited setup/teardown attributes for test fixtures in both nunit and mstest.
  2. Bolt test runner now supports parametrized tests via the TestCase and Values attributes for NUnit.
  3. Fixes to compatibility of Bolt test runner with the WindowsXP platform.
  4. Improvement to prepare steps before test run which shortens the startup time to begin running tests.
  5. Filters added for NCover Coverage window. Users can now choose which assemblies are to be covered from the projects defined in a solution.
  6. Enable/Disable automatic static analysis - "NCover.Analyze" processor usage from with the settings dialog of the Bolt Extension. This allows more user control over the frequency of static analysis of assemblies.
  7. Multi-threaded live static analysis for in-memory-only assemblies such as silverlight and generated assemblies.
  8. Synchronization of Silverlight static analysis to Code Central is now possible.
  9. Recurring creation of Bolt_Agent_VS project has been corrected.
  10. Disabling Bolt extension completely disables static analysis and coverage activities in Visual Studio.
  11. Improved clearing behavior of the Bolt Tests Window when solutions are changed.
  12. Improved reliability of test debugging. Some customers had reported intermittent failures of the debugging feature.
  13. Bolt Extension reduced number of static analyses automatic launched after each build by relying on Visual Studio to identify the changed assemblies.
  14. Documentation updates for 4.5 and Bolt extension.

NCover v4.5.2461.941

November 25, 2013

  1. Reduce testing startup time in Bolt by saving fixture object creation until time of use.
  2. Relaunch NCover Explorer when needed even if the upgrade is happening in the background on Session 0.
  3. Enable navigation to tests while tests are still in progress.
  4. Fix problem with test tree being emptied unexpectedly.
  5. Fix error that occured when running tests on a folder in solution explorer.
  6. Fix of intermediate test item getting added to test tree when a new test is being created in the source code editor.
  7. Improved Error logging to Bolt output window in Visual Studio to better diagnose highlighting and other document tagging problems.
  8. Improve reliability of NCover Bolt extension install and uninstall. In some cases the update process was not properly replacing the old extension with the extension from the auto upgrade.

NCover v4.5.2455.1090

November 19, 2013

  1. Testing agents modified to use STA apartment thread model.
  2. By default each TestFixture will have a generic security principal assigned to the execution thread before fixture setup is run. This makes sure that security principals set on other fixtures don't bleed into the execution of another fixture.
  3. Test execution in Bolt Extension modified to execute tests sequentially rather than allowing parallelism by default.
  4. Corrected total execution time in the test tree roll up.
  5. Added config file for both 4.0 Bolt.Agent executables with entries to allow 4.0 to load 2.0 framework assemblies when needed. This is useful when a 4.0 test is run that links in a library for the 2.0CLR.
  6. Fix for intermittent loss of tagging in a test source file that would remove the test glyphs during a build, but not put them back.
  7. Fix for NCover installers that closes out an open NCover.Explorer during the installation to allow the Chrome.pak files to be replaced during a silent upgrade. Previously this problem would block successful automatic upgrades and a manual reinstall was required to recover.
  8. Improved detection of NCover Service restart after Visual Studio has already been started.

NCover v4.5.2454.916

November 18, 2013

  1. User selectable option to cover child processes created by tests when running tests with Bolt Test Runner in Visual Studio and from the command line.
  2. App Domains created in Bolt.Agent test runs now get Base Directory set correctly.

NCover v4.5.2451.817

November 15, 2013

  1. Corrections to handle culture variation for security principal.
  2. Disable the use of native images in profiling to avoid type conflicts in Security Critical applications.

NCover v4.5.2450.952

November 14, 2013

  1. Corrected profiler instrumentation problem encountered when CLR loads profiling version of dotnet native image assemblies.
  2. Revised appDomain creation in test runner so that the BaseDir for the appDomain defaults to the location of the testing assembly.
  3. Updated Extension installer to account for European decimal formatting that uses commas. This error was causing the NCover Bolt extension not to install for some customers.
  4. Removed automatic test tree expansion and added smart expansion macros to the context menu. The user can now collapse or expand the test tree at any node level by choosing Collapse All/Expand All/Expand Failed.
  5. Enable/Disable the Bolt Test Runner so that a user can collect coverage using the test runner of their choice. This allows flexibility and removes the overhead of test finding and publishing in the NCover Bolt Tests Window.
  6. Removed the auto activation of the test runner window when tests are initiated except when they are started from the main menu.
  7. Removed auto activation of the Output window during test run.
  8. Improved reliability of the Go To Test feature in the Tests Tree.
  9. Resolved a problem that occurred when loading a new solution that wasn't correctly loading the test list for the new solution, but was retaining the tests from the old solution.
  10. Hovering branch visualization nodes and paths highlights the corresponding elements in the source code.

NCover v4.5.2448.864

November 12, 2013

  1. Improve reliability of VSIX installer for Extension in Vs2010 and above.
  2. Speed navigation to test item source from the test tree window.
  3. Reduce work performed when working with a small set of tests to improve the response time of edit/build/run.
  4. Remove output window forced activations during test runs.
  5. Remove test window forced activations during test runs.
  6. Corrected problem with USE command for console.
  7. Support to install extension on Visual Studio 2013.
  8. Speed up in Test Finder on initial VS open.
  9. Improved build handling to focus on building only the assemblies needed to run the requested tests.

NCover v4.5.2441.1101

November 6, 2013

  1. NCover datastore speed improvements for large projects (10x measured speed improvements).
  2. NCover datastore space requirements decreased for projects using Consolidation and Archiving.
  3. New datastore Compact command added to recover unused datastore space.
  4. Memory utilization improved for profiling, static analysis, and reporting.
  5. Disk i/o dramatically reduced improving datastore performance.
  6. Command added for Datastore Reindex.
  7. Improved server log maintenance and history management.
  8. Introducing Bolt Test Runner for the command line.
  9. Introducing Bolt Test Runner for Visual Studio Extension for Desktop/Bolt.
  10. NCover VS Extension integrated coverage Window for Desktop/Bolt in native WPF and WinForms.

NCover v4.3.2419.448

October 14, 2013

  1. Fixed automatic check for updates on 24 hour cycle.
  2. Enable failsafe Save of data items large than 2Mb. This will successfully truncate Document Regions and Document Statistics if the file exceeds 2Mb so that the entire assembly data is not lost. Plan is to remove the 2Mb limit for document data in a future release.

NCover v4.3.2391.684

September 17, 2013

  1. Fixed pre-coverage filter in auto-merge/consolidate which was dropping coverage statistics if include rules were present in the pre-coverage filter.

NCover v4.3.2371.616

August 27, 2013

  1. Updated license lease renewal to prevent lease expiration that requires software to be reactivated.
  2. Corrected problem with Coverage Snapshot feature. Snapshot feature now displays coverage for the snapshot execution in NCover Desktop.
  3. Fix syntax parsing of source codes with Unicode by forcing GPLEX to run in Unicode mode rather than in byte mode.
  4. Fix for instrumentation issue in 4.0 framework and that generates invalid IL when an empty finalizer is encountered.

NCover v4.3.2328.990

July 16, 2013

  1. Fixed an issue where a .NET 2.0 assembly with the AllowPartiallyTrustedCallers attribute was being loaded in a .NET 4.0 process. This situation causes the assembly to run in SecurityTransparent mode, which was not being detected properly. NCover now detects this situation and adapts accordingly.

NCover v4.3.2309.939

June 26, 2013

  1. Modified coverage export command to honor the file extension specified on the export to v3xml format. If a user specifies --file=myfile.myext then .myext will be used on the file. Otherwise, the default NCover 3 extension of .nccov will be used.
  2. Modified coverage export to v3xml to always include a document 0. Document 0 is used in the xsl and reporting from NCover 3 and will generate an error in some cases if document 0 is missing. (NOTE: Document 0 is used as a placeholder for any code which does not have source code.)
  3. Improved process watching algorithm to use native methods. There are a handful of cases in which .Net Process object throws exceptions in the previous implementation. These exceptions are most easily seen when covering an elevated process. The use of native methods to check process status avoids these errors.

NCover v4.3.2282.551

May 30, 2013

  1. Removed duplicate requests from execution merging to prevent server errors and improve merge performance for consolidation originating from multiple collection sources.
  2. Correct issue with Pre-coverage filter keys which were not unique across all assemblies. This was causing inconsistent pre-coverage filter results for some customers
  3. Improve merge result handling of merge failure and do not attempt to merge executions which contain errors that make them un-queryable.
  4. Corrected issue with Consolidate that deleted some executions even when they were not successfully merged.
  5. Skip capture aggregation for captures received to Code Central which will be consolidated and deleted

NCover v4.3.2267.747

May 15, 2013

  1. Corrected command errors when executing requests after the ncover service is stopped. This affects the lic-release as well as other commands.
  2. Enabled export of projects from Collector to better support the new options for disabling local aggregation and selecting auto-merge functionality.
  3. Enabled the modification of the logging level by project on a Collector.
  4. Corrected an issue with data collection flags which caused app domain executions to be excluded from auto-merge.
  5. Enhanced filter and match rule edits to trim leading and trailing spaces by default.
  6. Corrected issue with alert reporting charts bar width of 0. This error was reported by one customer.
  7. Clarified logging on server to record different message to discriminate between capture only finalization and full execution finalization.
  8. Fixed a problem with capture synchronization which allowed a capture to be duplicated if synced multiple times.
  9. Enabled caching of filter context to speed up certain data queries.

NCover v4.3.2246.846

April 24, 2013

  1. Improved handling of static analysis processes to improve coverage collection reliability on large projects.
  2. NCover projects can now be configured to merge executions automatically by build id.
  3. NCover projects can be configured to disable local aggregation of coverage. This is especially useful for Collectors which need no local data analysis. Aggregation is offloaded to Code Central.
  4. Code Central projects can merge by build id when the executions are received from clients.
  5. Desktop and Collector can override the Local Aggregation and Merge by build Id settings for Code Central projects.
  6. Merge functionality has been expanded to include a feature named Consolidation. Consolidation works just like merging except that the executions that make up a consolidated are deleted and can't be unmerged. Consolidation greatly reduces the amount of data stored over time and is especially useful for remote collections. This feature can be used on a Collector to consolidate all coverage to a single execution before synchronizing that data with Code Central, greatly reducing data transfer requirements. Consolidate option is available from both the GUI and the command line interfaces.
  7. Improved performance of static analysis and added a configurable pipe timeout.
  8. Improved memory usage across the collection process to improve the resource management of large project collections.
  9. Improved stability and efficiency of data synchronization to Code Central.
  10. Coverage data grid displays now retain the resized column widths for Captions/Names of the items. This setting is shared across all pages of code browsing and honored on restart of the browser.
  11. More resilient treatment of partially completed executions which previously appeared as “hung” in the GUI. These executions now complete successfully and list the errors encountered when browsing into the execution data.
  12. Execution synchronization to Code Central now provides more feedback. Captures show synchronization counts and feedback on both client and server are more incremental.
  13. NCover Explorer issue with properly sizing initial display has been resolved.
  14. Additional commands for scripting Collector synchronization have been added: sync-status sync-wait
  15. Added a more visible indicator of the filter applied to the coverage data grid.
  16. Duplicating projects from Code Central on a Collector or Desktop now creates those projects disabled by default.

NCover v4.2.2181.944

February 18, 2013

  1. Fixed javascript error in Project Settings for delete all match rules. This error was remotely reported by a user and is generally present for all users.
  2. Added null reference checking for aoData in the grid controls for executions and code nodes. This error was reported by users and indicates some unusable or intermediate state of the grid object and row instantiation. The error was remotely reported by a user but is not reproducible by normal means.
  3. Corrected problem with NCover Explorer becoming unresponsive when high update recurrence of project summary page is required. This manifested itself when there was a high level of activity refreshing the project summary page and rebuilding charts. This would affect all users of NCE.

NCover v4.2.2178.513

February 15, 2013

Note: The focus of the 4.2 release has been to provide a quicker data browsing experience for our customers with large projects. There are substantial speed improvements across the board for coverage browsing in this version update. This upgrade adds new indexing to the data store and re-aggregates all coverage history. This could be a lengthy process for customers with a large number of coverage runs. The re-aggregation can be safely interrupted by restarting the NCover Windows service, but any Executions not aggregated will show no coverage results. The NCover Aggregate command can be used selectively to aggregate specific projects or executions if preferred.

  1. Substantial improvement in browsing speed of coverage data provided by revised aggregation and pre-aggregation of data at the highest levels of a project.
  2. Revised project dialog which include CSV copy/paste/edit for match rules.
  3. Added a new setting for each project that will trigger collection after each app domain unloads rather than force the merge of all appdomains into a single execution. This can be especially helpful for separating coverage of multiple app domains under IIS.
  4. Auto-configure in project editing has been updated to have a more configurable result. Assembly filters are now optional and the user can choose Include or Exclude rule creation when filter rules are desired.
  5. Revised filter edit which includes CSV copy/paste/edit of filter rules.
  6. Revised aggregation using pre-ordered tree for speed improvements
  7. New feature in GUI to archive selected executions will export selected executions to the Archive folder in the NCover data folder and then delete the execution from the live data store. The zipped export can be reimported to restore the execution if needed.
  8. Collector GUI is now browsable from remote machines.
  9. Improvements to coverage instrumentation that resolve a few issues resulting in Invalid Program exceptions.
  10. Improved speed of document browsing for larger projects.
  11. NCover Run command has been given a new option “--reg-dlls”. This option will register the profiler dlls in the process being run for coverage. This works well on systems which do not have the profiler registered globally.
  12. Code Central user edit dialog posts confirmation message for change of password before closing the dialog.
  13. NCover Aggregate command was given new options “--pre-aggregate” and “--pre-aggregate-force”. These options bypass full aggregation and build only the missing pre-aggregate records or force all pre-aggregates to be rebuilt.
  14. Corrected an issue using periods in build-id environment variables that would interfere with coverage summary report at the end of NCover Run.
  15. No Coverage and Server Unavailable messages in the VS2008 Extension have been removed. These labels were large and user feedback indicated they were unneeded.
  16. Remote connection attempts to NCover Desktop no longer redirect users to Users are instead presented an informative message:
    NCover Desktop does not support remote connections for browsing coverage data.
    					If you are attempting to connect to a local instance of the NCover service please retry using

NCover v4.1.2136.1439

January 4, 2013

  1. Precoverage filters were hiding all coverage if include filter rules were used. To recover data affected by this issue upgrade to minimum of version 4.1.2136.977 and use the "NCover Aggregate" command to re-aggregate the execution.

NCover v4.1.2134.677

January 2, 2013

  1. Fix error connecting new clients to Code Central.
  2. Optimization of node filtering algorithms using binary comparisons.
  3. Uninstall for all products unregisters profiler and launcher dlls.

NCover v4.1.2115.1409

December 17, 2012

  1. Improved performance of data queries significantly for customers using large filter sets. Tests show 40% improvement in speed for projects whose filter sets exceed 8k.
  2. Added new command line options for Desktop and Collector to pause data synchronization to Code Central. This is especially useful for performing large test runs and creating a single merge that is sent to CodeCentral. Data is retained locally and sync initiated when sync is re-enabled. (See sync-enable and sync-disable commands.)
  3. Page size selection is now stored between browser sessions and page navigations for both the Executions grid and the Code and Document grids.
  4. Installer now has options for disabling Restore-Point and Global-env flags
  5. Improved error recovery of installers on some systems that were not able to report available disk space properly. Also improved installer logging detail.
  6. Fixed an issue with javascript rendering that woudl fail in IE9 when console object was unavailable. This was preventing the HTML coverage summary report from rendering correctly in IE9.
  7. Improve the server connection handling so that NCover better detects when the protocol scheme is not provided by the user. Should make connections easier to specify.
  8. Fixed Project-Export/Import usage description printed on the command line.
  9. Changed the "Connect to Code Central" dialog box hint to the default port of 11235.
  10. FIxed problem in the 2010 VS extension which was reported by some customers that modifying a file outside of VS was crashing the extension.
  11. NCover Verify command now has enhanced repair features:
  12. Deletes empty executions which have 0 captures.
  13. Creates missing document tree and class paths if valid document or method nodes exist but parents are missing.
  14. Repair also reaggregates each execution and saves the execution to make sure indexes are correct.
  15. Merge command updated to have additional option of --each-build. Each-build reviews all executions for a project re-merging by build id across the entire data set.
  16. Fixed a problem encountered in the indexing of Executions that prevented them from merging correctly. This problem is inherent to existing data stores and can be corrected using Verify --repair command.
  17. Fixed a javascript error which occurred when trying to clear the search text within the executions data grid.
  18. Added scrolling to the log lists on the log viewer page.

NCover v4.1.2105.575

December 4, 2012

  1. Corrected installer failure when encountering uninitialized options --global-env and --restore-point options. This problem occurred only on first install when no registry options were set for NCover installations.

NCover v4.1.2101.816

November 30, 2012

  1. Merging of coverage data for modules has been expanded to include modules which may have differing binary hash, but still have identical source code. This solves the problem of building the same source code on multiple machines or multiple times on the same machine for which the coverage data previously would not have been merged.
  2. Enhanced the projects overview page to limit full page redraw when a single project is added or removed.
  3. Corrected a problem which allowed invalid Regex strings in the coverage filters to crash the NCover server.
  4. Added command line option to all installers which allows the user to turn off installation of the global profiling variables. The default is for this setting to be on. --global-env=false will turn this setting off. This setting is stored for all future updates until changed on the command line.
  5. Added command line option enable or disable the creation of system restore point. The default setting is to create a system restore point on install. --restore-point=false will turn off this setting. This setting is stored for all future updates until changed on the command line.
  6. Corrected a problem reported by one user who could not properly collect unit testing coverage across multiple app domains.

NCover v4.1.2099.921

November 28, 2012

  1. Fixed problem with Summarize and Run commands that caused the command to hang and not complete when waiting for an execution to finalize.
  2. Added more detailed logging to projects for app domain execution collection.

NCover v4.1.2098.479

November 27, 2012

  1. Enabled searching of help documents from Collector GUI.
  2. Updated the functionality of the NCover Run command to force the assignment of COR_ENABLE_PROFILING and COR_PROFILER to the values needed to enable NCover to profile processes. Some customers reported NCover Run operations under build environments which did not have the proper environment initialized.
  3. Update NCover.exe command line options to be case insensitive. This update resolves an inconsistency between the Commands and the Options. Previously commands could be mixed case but all of the options were case-sensitive. Now both commands and their options are case-insensitive.
  4. Correct an issue with assemblies marked for prefer 32-bit. At least one customer reported a problem which occurred when trying to perform static metadata analysis of assemblies built with this option. This metadata flag is new to the 4.5 framework.
  5. Provide better datastore compatibility by detecting fields not contained in the server data model but encountered in the data store. This will provides the ability to remove obsolete data fields from future releases of the data model without causing compatibility problems to older data stores.

NCover v4.1.2087.729

November 16, 2012

  1. Prior to NCover installation, the installer now creates a system restore point before each installation including the background installer. This step is logged to the installer log file and there is feedback in the GUI indicating when this step occurs.
  2. A deadlock issue was resolved in the client notification mechanisms.
  3. The NCover Windows service now logs the framework version and service pack levels found in the registry whenever the service starts.
  4. Fixed a problem with the help system for Code Central that was preventing help documents from displaying.
  5. Update Package Load Key to fix issue encountered by some customers with plugin failed load on VS2008.
  6. Updated installed software details to display in Visual Studio Help About dialog for the NCover Desktop extension.

NCover v4.1.2078.723

November 7, 2012

  1. Improved speed of modules page with server-side query optimization.
  2. Fixed an issue encountered on Windows 8 regarding the marking of temp files for delete on reboot.
  3. Improved handling of capture aggregation so that it better accommodates a process exiting before the static analysis of assemblies is completed.
  4. Fix deadlock for deleting temp files encountered on Windows8 when attempting MoveFileEx call to delete on reboot.
  5. Fix state machine deadlock for processing completed capture notification which also request collecting capture information during the notify process.

NCover v4.1.2066.463

October 26, 2012

  1. Service is now installed with dependency on HTTP. There have been a number of customers reporting that NCover Windows Service does not automatically start after rebooting their machine. This dependency addition will correct this issue.

NCover v4.1.2064.845

October 24, 2012

  1. Fixed issue where executions were not signaled to be completed when a process exited, but no modules were loaded which matched the pre-coverage filters. Previously these projects appeared to be profiling continually.
  2. Fixed an issue with expiration header of http responses in non-culture-invariant languages like Chinese. Previously this issue would prevent any response from the NCover Window's service from completing successfully in these environments.
  3. Added detection step in installer to check if the Windows target platform was new enough to support HttpListener. This warning now appears if it is not supported -- Windows XP SP2 or Server 2003 is required to support NCover HTTP Listener
  4. Improved CSV export by using Culture Invariant string exports and quoting each value in each column.
  5. Changed download of CSV files and log files to avoid opening extra browser windows before launching the file download.
  6. Corrected authorization problem for command line commands for Code Central were not properly authorized after the merge of the ncover.exe and ncover.codecentral.exe executables.

NCover v4.1.2056.977

October 16, 2012

  1. Mark captures as incomplete when empty tree paths are encountered. This allows a more robust data analysis experience and eliminated partially aggregated results from queries. These incomplete results can be recovered via the verfiy/aggregate commands
  2. Added a new Verify command which will query a capture and allow the user to re-aggregate a capture if tree path indexes are missing.
  3. Speed up top level pages for project summary, executions, and modules by limiting the scope of trend data accessed and by loading only displayed execution rows.
  4. Modified grid loading for executions and code nodes so that the grid does not reposition as data is lazy loaded.
  5. Fixed an issue reported by 2 customers who were seeing duplicated executions in the execution grid. These duplicates did not have a checkbox visible.
  6. Fixed a problem with the VS2012 extension reported by customers who were seeing an intermittent problem that code highlighting was not being loaded.
  7. Modified the VS extensions to clear the content of NCover Tool windows when a solution is closed so that the data is not carried over and displayed in the next opened solution.
  8. Modified log downloads to add attachment header so the download will more reliably prompt the user to save a file rather than open it for viewing.
  9. Made log viewer smarter to report when a requested log file does not exist. Also added the server console log to the list of logs available for viewing.
  10. Corrected a problem introduced in the 4.1 release that was prematurely turning off the green Collecting LED on the projects page.
  11. Modified the load strategy of the projects page to reduce amount of data required to display the page and also to reduce the likelihood of failed data reads leaving a project with the loading spinner active even when no data can be read.
  12. Improved the consistency of the Executions grid sizing for the varying heights of the execution caption data group that are displayed.
  13. Fixed a problem with date formatting in the x-axis of the codenode view pages. Converted the trend data to serialize dates using the expected epoch date based format.

NCover v4.1.2049.760

October 9, 2012

  1. Merge command now has additional options of --start-time and --end-time. Start time or build id must be provided for any command line merge. If end time is not specified with start-time then all executions since the start time will be merged.
  2. Visual studio extension clears all tool window views when a solution is closed so that the coverage data for the previous solution does not appear with a newly opened solution.
  3. Several improvements to the log viewer including the addition of the server console log and the display of an error message when no log file exists rather than just a blank screen.
  4. Corrected collecting notifications for processes with multiple app domains. The collecting LED indicator was not flashing for the duration of the process execution if there were no modules loaded in the primary app domain.
  5. Improved the consistency and spacing of the Execution rows and the hover tools to vew logs.
  6. Make buildId optional parameter on merge command rather than required.

NCover v4.1.2044.1072

October 4, 2012

  1. Server logs are deleted on server restart whenever the log is more than 10 days old.
  2. Fixed a problem which had been redirecting console output on OS's older than Vista. This was reported by customers specifically on Windows 2003 Server.
  3. The version number on the NCover menu is now a link to the live release notes on the NCover website.
  4. Improved automatic javascript update detection - customers having a hard time with Shift+Refresh requirement when new updates of NCover are installed. Now the javascript and server exchange version numbers so that it is possible to recognize and force a page refresh in the browser when the javascript version does not match the server.
  5. Added a new command to merge executions from the command line based on the build-id. ncover merge --project=”my project” --build-id=”%NCOVER_BUILD_ID%”

NCover v4.1.2042.944

October 2, 2012

NCover 4.1 Release Announcement

  1. NCover can now produce a self-contained HTML report for use as an artifact of coverage. This report shows the coverage results of the most recent execution by default or an execution specified by the user. As a self-contained HTML report this file can be kept as a build artifact or easily shared via email or as a static web page. The page, when generated from CodeCentral, has hyperlinks back to the live coverage results within CodeCentral.
  2. A snapshot of coverage can be collected by pressing the camera button on the project toolbar within the NCover GUI. The snapshot is collected as an incremental image of ongoing coverage. Snapshots are cumulative so that subsequent snapshots are a superset of the previous snapshot, and the final execution completion is the final superset of all coverage during a coverage run.
  3. When merging coverage executions it is possible that an assembly has changed and the data can't be merged. In this case an assembly may appear more than once on the modules page when browsing the NCover data. In order to better differentiate these assemblies, NCover now collects the module create date and file version to display in the modules list.
  4. The Caption and Name columns in the NCover data grid are now resizable by dragging the width of the column header.
  5. Code Central now allows console commands like Desktop and Collector. This makes it possible to import/export coverage data and project definitions and run other command line tools which previously were restricted due to authentication requirements. This change assumes that anyone with access to the Code Central server command line is an authorized administrator of the projects and data on that machine.
  6. Users can re-connect source on their local machine to software and pdb's built on a different machine. This allows the user to use NCover.Analyze to extract the assembly metadata and substitute a local root path for all source references. Using this feature a user can now browse the source for an assembly when the original build machine was not used to capture NCover Static Analysis on the assemblies.
  7. It is now possible to unlicense and relicense NCover from within the application. This is especially helpful for customers transitioning from one form of license to another (i.e. trial to permanent, or stand alone to Code Central managed). This feature also supports the new floating license for NCover.
  8. NCover will suspend profiling of processes if it detects that the installed license has expired.
  9. A prominent filter badge is now displayed at the top of the NCover data view whenever a post-coverage filter is applied to the data on screen.
  10. Code Central no longer supports a local installation of Collector or Desktop. Code Central has been enhanced to operate as a coverage collection agent. All defined projects on Code Central will collect locally on the Code Central server. Local collection can be disabled via the config setting "disableLocalCollection" if desired. If Desktop or Collector is currently installed on the same machine as Code Central, they will need to be uninstalled before the Code Central automatic update to 4.1 can complete successfully. NOTE: default port for all new Code Central installs is 11235. Previous installs will remain on 11233 unless modified in the Code Central config file.
  11. NCover Explorer browser has been upgraded to support CSV downloads from the coverage grid.
  12. Project overview page in Code Central and Desktop has been enhanced so that the entire project summary is clickable for drill-through operation. This makes the drill-through action more discoverable.
  13. Summarize command has been enhanced to include the Code Central links to the live coverage data. This allows the links to be embedded in the build log or output to any text log as needed.
  14. NCover Desktop and Collector now support floating licenses. A floating license is managed by Code Central and provides the ability for short-term license allocation to specific users or servers without dedicating a permanent license to those machines.
  15. NCover Explorer now has Start Server and Retry connection buttons prominently displayed when the server is unreachable.
  16. NCover is now compatible with Windows 8.
  17. NCover Visual Studio Extension is now compatible with VS2012.
  18. Project import to NCover can now update an existing project. Previously each project import created a new project.
  19. Executions containing incomplete captures now display an exclamation badge and tooltip indicating which modules do not have valid coverage completed.
  20. The Run command has been added to NCover to allow the user to encapsulate a process with the correct profiling environment for NCover to collect coverage. This feature provides similar command line functionality to v3 of NCover.
  21. Pre-coverage filters can be augmented on a Code Central client by importing additional filter rules to a project. This allows pre-coverage filters for Code Central projects to be customized manually to a specific client machine.
  22. NCover Analyze command has been added to the ncover.exe so that static analysis of assemblies can be initiated manually from the ncover command line.
  23. Upgrades to the internal state engine to make for more reliable data collection.

NCover v4.0.2020.905

September 10, 2012

  1. Remove the Admin menu from Desktop and Collector. This menu item was erroneously exposed in mid-August. This is not a breaking defect in the software, but it would certainly be confusing for the user.
  2. Provide better clues to what is clickable on project overview. Entire project detail charts and static info summary are now highlighted and clickable for drill-through.
  3. Temporarily patched an issue with .NET 4.0 applications not analyzing correctly because of an incompatibility of reading the assembly in v3.5 framework.

NCover v4.0.2015.1097

September 6, 2012

  1. Fixed javascript problem in ncover.js that breaks the Visual Studio extensions
  2. Added example server URI in the Connect to Code Central Dialog

NCover v4.0.2014.707

September 4, 2012

  1. Merging executions can result in similarly named modules showing up on multiple lines on the modules page. That's because as modules slowly change over time they can't be merged if they don't have the same sequence points so generally each new build produces a unique module even though the name may be unchanged. The Module page now shows version information to help identify why particular modules may be listed multiple times.
  2. The font in the licensing dialog for manual activation has been changed to be a more readable font.
  3. The licensing process has been improved to allow a user to unlicense an NCover installation and re-license from within the GUI. This facilitates license upgrades from trials to permanent keys as well as various other situations that require a license replacement on a given machine.
  4. NCover will no longer collect coverage if the the installed license has expired.
  5. One of the requests from users has been a more prominent indication of when a post-coverage filter is applied to a data view. NCover now has a badge that shows up beside the filter button when a filter is applied to the current view which displays the name of the active filter.
  6. Corrected an intermittent problem with initial assembly static analysis that may have been causing some assemblies to fail analysis the first time they were encountered by the profiler. This was a timing issue that wasn't allowing long running static analysis to complete before attempting to aggregate the coverage data.

NCover v4.0.2003.894

August 24, 2012

  1. Fixed a handful of Firefox compatibility issues dealing with mouse events. Enable/Disable projects is working now and the branch visualization mouse overs are also working propery.
  2. Added CSS for ellipsis at the end of truncated captions when they are resized to hide text.
  3. Fixed loading of executions in Desktop so it is no longer limited to first 20. Trending is still limited to charting most recent 20 executions.
  4. Fixed a problem reported by customers that some Desktop/Collector clients were getting an error when trying to connect to Code Central.

NCover v4.0.2001.697

August 22, 2012

  1. Resizable captions now have ellipsis when truncated.
  2. Date time serialization modified to conform to RFC822 format for improved localization in non-US browsers.
  3. Visual Studio extension now looks only for a module in the most recently completed execution of a project in order to show coverage.

NCover v4.0.2000.1070

August 22, 2012

  1. Resizable captions on the Execution and Code nodes tables. No wrapping of text but width is modifiable by the user.
  2. Problem with LogViewer corrected. Javascript was failing and reporting an error. No field reports that the logviewer wasn't working, but this fix should prevent problems in the field.
  3. Fixes for Silverlight profiling to improve the auto-detect to get the correct name when loading dlls.
  4. Installer now checks OS version to interpret if the target OS is below Vista before looking at UAC settings in the registry. Some users have reported that system policy pushes UAC settings to all machines on their network and thus invalidates the check for UAC. UACAdd OS check to installer for XP systems which have had the UAC registry entry added.
  5. CodeCentral service was not starting for some customers. This release corrects a problem with processing the command line for CodeCentral on service starts.
  6. Fixed an issue encountered via automated error reporting for a null object reference in searchResults. No specific user error submitted.
  7. Updated % bar displays in the grids to handle situations where no sequence points exist. This used to display NaN messages, now it says ‘n/a'.

NCover v4.0.1994.983

August 15, 2012


  1. Fixed customer reported error with some silverlight applications caused by dynamically created assemblies.
  2. Fixed issue with log viewer throwing an error when attempting to view execution/server logs.

NCover v4.0.1993.1031

August 14, 2012


  1. Corrected issue with updating the NCover Explorer config file. Installer was improperly setting the serverUrl key in the configuration. This was causing NCE to fail to initialize the configuration system.

NCover v4.0.1988.900

August 9, 2012


  1. Allow local command line requests from ncover.codecentral.exe have auto authentication for all routes to the api. This publishes the same command line exports and other utilities as NCover.exe has for desktop and collector.
  2. CSV export was not previously available in NCE. NCE now supports the download of CSV attachements to a local file.
  3. The Summarize command was updated to print out the links to the execution and modules trends pages for the specified coverage collection run.
  4. Project-import command now has an --overwrite option that allows the user to specify if he wants to replace the configuration of an existing project matching the specified name during the import. This will associate all past coverage executions with the newly imported project settings.
  5. Fixed the breadcrumb Class drop downs to show siblings for the node being expanded. This previously showed the child nodes which was incorrect implementation.
  6. Execution page will now display executions with errors even if those errors were previously undetected by the server. This has also made the loading of execution data a little more snappy.
  7. Modules page will now display even if the capture data for that module will not query properly. This allows the user to see specifically which modules may have encountered coverage errors during the profiling session.
  8. Update Finalize Execution to not wait for queryable executions. Once all collection has completed the system will not pause to wait for a queryable execution. It is possible that a coverage session will complete without collecting any data due to filters or possibly errors during execution.
  9. Projects sent to Code Central are now disabled by default. When the user creates a project on Desktop and saves it to Code Central it was previously enabled by default and therefore automatically sent out to start collecting on all CC clients. Now the new projects must be intentionally enabled on CC before they collect on clients.
  10. Update method filtering to handle full namespace and type names so that methods having the same signature within differing classes with can be uniquely filtered.
  11. Command option for --all has been added to the enable and disable commands for projects. This allows the user to disable or enable collection on all projects with a single command. This works in Code Central, Desktop and Collector.
  12. Run command was added to allow users to specify a command line for NCover to execute for collecting coverage. This is a throw back to NC3 style of operation, but in a much more simplified manner.
  13. Reduced the overall install package and footprint by consolidating the vs2008 files into the main install directory for Desktop.
  14. Fixed errors in executions grid to remove ajax call back errors when a user navigates away from the executions screen before the ajax calls are finished populating the Execution data.
  15. User reported that docid in the old style XML was not exporting correctly for branch segments. Updated the xml to use the same doc id as the sequence points for the same context.

NCover v4.0.1979.834

July 31, 2012


  1. NCover.Analyze has been updated to rebase source paths. This allows a user who has the source code associated with an assembly and its pdb's to perform static analysys on their machine and redirect the source code lookup to a new location. Multiple --rebase-path options are allowed in a single ncover.analyze command. The command syntax is as follows: ex. NCover.Analyze.x86 my_assembly.dll --rebase-path=”C:\old path|f:\new path”
  2. Installation updater has been enhanced to retain a wider set of modifiable config settings including “dataStorePath”. These settings will be retained during the normal update process if they have been modified by the user.
  3. Some users have reported slow startup times when launching coverage in their build process. This appears to have been most noticeable in a codebase with extremely large methods. The instrumentation algorithms have been improved to better handle large method instrumentation and dramatic speed improvements for this special case are now in place.
  4. Installer elevation has been signified by the embedded manifest in the NCover Installers. This should allow Windows to recognize the elevation requirement and smooth the installation for some instances where elevation by programmatic means was previously blocked.


  1. One customer reported a problem profiling assemblies for Sharepoint/IIS that was resulting in a Null Reference Exception. Unable to reproduce this issue after updates for other replicated errors.
  2. Fixed an issue to clean up the bad login errors for CodeCentral.
  3. Javascript refactoring was undertaken to reduce a number of undefined object references.

NCover v4.0.1974.857

July 26, 2012


  1. Added “Server Updating” mode for software update cycle. This change will make sure that any clients trying to view data once the software update has begun will be shown a wait screen. When the server returns to normal operation the client's page will be refreshed to pull new content provided by the update.
  2. Improved log file handling so that the user can browse to the log viewer even when logs are not being collected for a project.
  3. Updated copy of Code Central project so that the filters are editable locally after saving a local copy. Enhanced the NCover.exe Summarize command to always succeed by default. If this command is used to indicate build failure the --fail-build option must be specified. This will return a non-zero exit code if any of the metric thresholds are not met or exceeded. ex. ncover summarize --project=”myappcoverage” --fail-build


  1. Several customers reported that merged executions did not seem to total correctly. This manifested by having coverage numbers which also did not match the code highlighting. The error was in the merge functionality. Customers should re-merge previous executions after this update installs to ensure that the merged totals match the components. Re-merging the data works just like the orginal merge process. Follow a few simple steps:
    1. Expand the existing merge.
    2. Check the checkbox by the top merge execution component.
    3. Hold the shift key and check the bottom merge component in that merge and it should highlight all the merge contents.
    4. Click the merge button at the top of the data view.
    5. Previously deleting all executions within a project would occasionally display an error before sending the user back to the projects page. The GUI will now display an empty data view and the user will need to manually return to the projects page.
  2. Corrected a problem causing a NULL object exception in querying trend data under some circumstances.

NCover v4.0.1966.878

July 18, 2012


  1. Added --fail-build option to the NCover summarize command. This will change the default behavior of the summarize command to be non-failing. Failure when enabled will occur if any defined threshold for a project is not met or exceeded.
  2. Enhanced license encryption algorithm to work with FIPS enabled windows servers. On servers with FIPS encryption enabled the licensing had failed with the managed encryption methods previously used.
  3. Overtly block NCover GUI from loading in an unsupported browser. Some users had cancelled the warning message and use of NCE. This message informed them of the incompatibility, but if cancelled allowed the page to continue to load. Now the gui will not be loaded.


  1. Corrected an issue with the framework version checking algorithm that was failing under certain settings of the Windows culture for European customers.

NCover v4.0.1965.546

July 17, 2012


  1. Added log entries for deleted executions to provide an audit trail for removal of data at the execution level.


  1. An intermittent problem with the in memory data store was corrected which was causing occasional problems with merging of executions. This would also manifest itself under high load of data collection and requery. The problem was limited to in memory operation and all finalized data written to disk appears to have been unaffected.
  2. Enhanced command line project lookup in the USE command to double-check the raw project list before reporting a project as not found. There is at least one case where project name index was out of sync with the actual table. The project name update has been corrected so the index should not get out of sync.
  3. Corrected document lookup for coverage so that it will successfully find documents in all projects for the 2010 plugin.
  4. Fixed the uncovered code bar in the VS plugin so that it updates properly when switching between projects.
  5. Corrected an issue with the system reporting an error when navigating away from branch visualiztion via the breadcrumbs. This was caused by obsolete events still being wired up in the page to handle the branch visualization scrolling.
  6. Corrected several issues with branch visualization at the the method detail level.
  7. Production javascript errors can now be submitted by users back to NCover error tracking system.
  8. Corrected a problem with log file viewing within the NCover GUI. Users will now be able to enable logging for a project and view the logs from the executions page by clicking the log icon by an individual execution.

NCover v4.0.1954.913

July 6, 2012


  1. Plugin enhanced to utilize data from within merged executions. Previously the plugin looked specifically at the last completed execution outside merges. It will now find the most recent coverage even if it exists in a merge.


  1. Merged captures were missing the details available in their components. ModulePath, Assembly Identity, and addition information. Those fields are now being propagated into each merge capture.

NCover v4.0.1947.959

June 29, 2012


  1. Improved the display of execution data so that additional execution rows may dynamically be added which were not in existence when the page was first requested. This minor change provides a more robust experience when working with execution merges. This also solves a problem reported by some users that the execution page was in an repeating loop of reporting an error then reverting to the projects overview.
  2. Added server side filters which merge with local filters for Code Central projects. Code Central filters are read only on the client machine, but no longer override local filters.
  3. Improved data sync by increasing the number of connections the client can make to the Code Central server. This prevents deadlocks when submitting upload requests.
  4. Modified the framework detection in the installer to pull the framework install location from the Windows registry. Some non-english installations of windows have alternate naming schemes for the framework install location.


  1. VS2008/Extension: When a document is changed it becomes out of sync with the coverage already collected. Previously the highlighting in the document was removed when the edits take place, but the uncovered code bar was not updated to match the change in highlighting. The uncovered code bar is now removed from the window when the document loses synchronization with the assembly which was covered.
  2. Fixed an issue with the project breadcrumb that was throwing an error if the gui was unable to determine the current project. This normally happens in an edge case when all projects are removed by Code Central changes or interaction in a second browser removes the project.
  3. Fixed a problem reported by one user whose visit counts were overflowing the integer counter. This was producing the error “negative numbers are not supported.” This has been corrected so that the maximum visit count cannot exceed the maximum value of an integer.
  4. VS2010/Extension: Some users reported that the plugin for VS was not enabling the NCover menu items. This problem presented itself for customers using multiple plugins with VS. This issue was resolved by handling longer delay times for VS startup.


  1. Corrected a problem for FireFox in the alignment of the method markers in the document vew.
  2. Updated the branch visualization algorithm to work with the current page size for improved performance and corrected drawing for some canvas elements on larger page views.
  3. Improved alignment of dropdown menu items which are extremely wide so that truncated items are not wrapped away from their associated icons.
  4. Corrected menu sizing and search page to be contained fully within the view port size.
  5. Improved the usage of breadcrumb for longer names. They had been hard to use when they were extremely long and the window was particularly narrow. The final element dropdown button should appear more consistently.
  6. Added “(empty)” element for all drop down menus where no additional options are available.
  7. Fixed document folder breadcrumb menus so that the drop down list matches the same level of the displayed folder. Menu had been showing child nodes not siblings of the selected folder.

NCover v4.0.1946.734

June 28, 2012


  1. To provide easier feedback and quicker resolution to customer issues we have added error handling in the browser that prompts the user when an unhandled error occurs and offers to send the information to NCover for troubleshooting.
  2. Changed the behavior on the Executions page to show an empty page after deleting all executions rather than going immediately back to the projects home.
  3. Performance improvements were made to data aggregation which is noticeable at most levels of the application.
  4. Added an immediate update of sync status when marking an execution as unsent. This provides better feedback to the user that the request has been executed.
  5. Improved cache handling for Ajax requests so that a larger percentage of queries to the server can be cached. This results in performance improvement and smaller memory footprint.


  1. Removed the Mark as Unsent button from the executions page for projects which are not Code Central projects.
  2. Fixed coverage collection on large methods encountered in code base.
  3. One customer reported a problem with a failed install which was caused by Visual Studio having certain installer files locked during NCover software update. Some error handling improvements were added to head off this error.
  4. Fixed static analysis failure for some C++ assemblies which did not report a document hash.
  5. Fixed coverage export which had been failing if no documents were stored and --include-source option was specified for the export.
  6. Fixed an error which occurred when changing the password for the current user in Code Central. Password changes were accepted, but a faulty error message was displayed.

.NET Code Coverage Solutions For Improving Code Quality