123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874 |
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>NCoverExplorer Release Notes</title>
- <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR" />
- <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema" />
- <style type="text/css">
- body { font-size: 10pt; font-family: Verdana; }
- p.title { font-size: 20pt; font-weight: bold; }
- .subtitle { color: maroon; }
- p.question { font-weight: bold; }
- pre { font-size: 10pt; font-family: Courier; }
- pre.usage { background-color: #F0F0F0; }
- .quote { background-color: #F0F0F0; margin-left: 36pt;}
- .method { color: maroon; font-size: 10pt; font-weight: bold; }
- .hdrcell { background-color: #DDEEFF; font-size: 10pt; }
- .datacell { background-color: #FFFFEE; text-align: right; font-size: 10pt; }
- .hldatacell { background-color: #FFCCCC; text-align: right; font-size: 10pt; }
- .box { border: 1px solid; padding: 10px; }
- .treeviewBlack { color: black; }
- .treeviewGrey { color: grey; }
- .treeviewRed { color: red; }
- .treeviewBlue { color: blue; }
- .sourceBlue { background-color: #E0EDFD; color: black; }
- .sourceRed { background-color: #E6B0A5; color: black; }
- </style>
- </head>
- <body>
- <p class="title">NCoverExplorer Release Notes</p>
- <p>The latest version of this document is located <a href="http://www.kiwidude.com/dotnet/NCoverExplorerReleaseNotes.html">here</a>.
- <br/>For the latest NCoverExplorer news and updates, visit my <a href="http://www.kiwidude.com/blog/">blog</a>.</p>
- <hr/>
- <p class="question">v1.4.0 - Sep 16th 2007</p>
- <p class="answer">The following new features were introduced:</p>
- <ul>
- <li>
- Major rewrite of the underlying object design for future maintainability. Should improve treeview
- performance for .NET 2.0 users (and load performance for all users) as well as make it easier to
- add new features.
- </li>
- <li>
- Changes to the project setting file format and location, both as used by the NCoverExplorer gui
- and the NCoverExplorer.Console.exe application. If you use the /c argument supplying a configuration
- file to NCoverExplorer then you must modify your project file format. See ConsoleExample.config
- for details (replace the outer tag to be called ConsoleSetting).
- </li>
- <li>
- Replaced ICSharpCode text editor with Actipro which offers far superior features, more attractive
- appearance and provides a more flexible licensing model for the future of NCoverExplorer.
- </li>
- <li>
- A new attribute added into the coverage report xml of "totalSeqPoints" which includes the
- total of any excluded sequence points at that level. In response to a feature request in
- <a href="http://ncover.org/SITE/forums/thread/697.aspx">this</a> NCover forum thread to allow
- people to report how much code was excluded from coverage.
- </li>
- <li>
- Add a copy command to the right-click menu for the source code area.
- </li>
- <li>
- Add a print preview command to the File menu.
- </li>
- <li>
- Add support for profiling a specific process module to the Run NCover dialog.
- </li>
- <li>
- Add a /fc (failCombinedMinimum) option to NCoverExplorer.Console.exe for emulating the
- original behaviour of failing based on total coverage to supplement the /f option which
- fails if an individual module is below the coverage threshold.
- </li>
- </ul>
- <p class="answer">The following minor changes were made:</p>
- <ul>
- <li>
- Rewrite the options dialog to use a VS.Net style property pages approach.
- </li>
- <li>
- Exclusions tab in Options dialog - delete key is now a shortcut to removing an exclusion.
- </li>
- <li>
- Reorder the file menu slightly so Run NCover is separated.
- </li>
- <li>
- Source code window now has a splitter bar.
- </li>
- <li>
- Command line generated for NCover 1.5.7+ in NCover Runner dialog includes the //reg
- option if choosing to register coverlib.dll.
- </li>
- <li>
- Statistics pane auto-sizes the last column to fill the width of the listview.
- </li>
- <li>
- Coverage exclusions now support '?' and more complex wildcard expressions such
- as Test.*.Something*.
- </li>
- </ul>
- <p class="answer">The following bug fixes were made:</p>
- <ul>
- <li>
- Line number foreground colour not displayed correctly in options dialog tab.
- </li>
- <li>
- Directory not created if not existing when writing output report.
- </li>
- <li>
- Corrected typo in full name of parameter when using /quiet option with NCoverExplorer.Console.
- </li>
- <li>
- Reduce GDI usage by editor control.
- Rnsure Actipro renderer is correctly utilised.
- Turn off text margins in NCover run dialog for editor.
- Ensure C++ code has whole line highlighted even though no sequence point values.
- (Build 1.4.0.6)
- </li>
- </ul>
- <hr/>
- <p class="question">v1.3.6 - Apr 5th 2007</p>
- <p class="answer">Bundled with TestDriven.Net from build 2.5.2078.</p>
- <p class="answer">The following new features were introduced:</p>
- <ul>
- <li>
- Added a Find dialog (ctrl+F) to quickly navigate to a class. Wildcards are supported.
- </li>
- <li>
- Added a /q or /quiet option to NCoverExplorer.Console.exe to minimise the output.
- </li>
- </ul>
- <p class="answer">The following minor changes were made:</p>
- <ul>
- <li>
- Failing if less than a threshold now applies to any assembly not meeting the threshold
- rather than comparing against the total coverage across all assemblies.
- </li>
- <li>
- Add some examples to the NCoverExplorer.Console.exe output for the /help or /? (or no arguments).
- </li>
- <li>
- Pressing ESC on the NCover Runner dialog will now close it.
- </li>
- <li>
- Implement a workaround for poor treeview performance under .NET 2.0.
- </li>
- <li>
- Rather than displaying validation errors automatically "fix" paths with matching trailing
- slashes in the Change Source Path dialog.
- </li>
- <li>
- Writing of coverage files should now match the schema for the relevant NCover version.
- Later NCover versions like 1.5.7 have enhanced the schema, so the results of a merge or
- save from NCoverExplorer should offer a comparative schema in the result.
- </li>
- <li>
- Add a message indicating the return code to the output.
- </li>
- </ul>
- <p class="answer">The following bug fixes were made:</p>
- <ul>
- <li>
- NCover 1.5.5/6 produce duplicate sequence points. To workaround this fix Jamie Cansdale implemented
- a change for me to the way the methods are identified uniquely. The longer term fix is NCover version 1.5.7
- - this should keep things usable until that is released.
- </li>
- <li>
- Another issue up to at least NCover 1.5.7 is that non-instrumented code does not have the sequence
- points optimised. When merging multiple coverage files NCoverExplorer was incorrectly merging the noops with
- valid instrumented sequence points, resulting in lower coverage information.
- </li>
- <li>
- If CoverageReport.xsl stylesheet already exists in destination output folder for an xml report
- and is marked as read-only then the replace would fail.
- </li>
- <li>
- Drag/drop of coverage.xml files would add to the wrong end of the MRU menu once the maximum
- number of items is reached.
- </li>
- <li>
- If multiple classes in the same file then selecting a class node was not navigating to that
- class in the source code tab. It will now jump to the first unvisited sequence point, or if
- there are none of those the first sequence point in the class.
- </li>
- <li>
- Wildcards for coverage exclusions were only working if placed at the ends, not in the middle
- e.g. *.Tests or Testing.* would work, but xxx.*.yyy would not.
- </li>
- <li>
- Prevent some of the nasty GDI errors in CommandBars code from disrupting the GUI. Longer
- term will utilise another framework.
- </li>
- <li>
- Replacing paths by typing them in had MaxLength set to 50 so impossible to edit long paths
- in the Change Source Path dialog.
- </li>
- <li>
- Merging property nodes under a parent in the tree has a dependency on the ordering of the coverage output
- to ensure they appear properly.
- </li>
- <li>
- When restoring form position from persisted values, ensure it appears on a visible screen,
- catering for the user changing their display settings between sessions.
- </li>
- <li>
- Ensure stylesheet cannot be copied over the top of itself.
- </li>
- <li>
- Supplying a file pattern with no matches to NCoverExplorer.Console.exe was throwing an "Index was
- outside the bounds of the array" exception.
- </li>
- <li>
- Multiple coverage exclusion attributes not supplied correctly to NCover (build 26).
- </li>
- <li>
- Check to make sure node is assigned to a TreeView before getting handle to set text (build 32).
- </li>
- <li>
- Sort sequence point nodes when loading and handle merge case of multiple non-instrumented
- sequence points becoming a single sequence point. (build 36).
- </li>
- </ul>
- <hr/>
- <p class="question">v1.3.5 - Oct 23rd 2006</p>
- <p class="answer">Bundled with TestDriven.Net from build 2.0.1921.</p>
- <p class="answer">The following new features were introduced:</p>
- <ul>
- <li>
- Added ability to run NCover from within NCoverExplorer (all versions). User Ctrl+N or
- entries on File menu/toolbar to bring up configuration dialog. After successful
- execution, the resultant coverage file is displayed in NCoverExplorer.
- </li>
- <li>
- Added ability to generate MSBuild, NAnt and command-line scripts for running NCover
- from within NCoverExplorer. See the NCover dialog above.
- </li>
- <li>
- Added new function coverage viewing options and module/class coverage report.
- Indicates the percentage of functions covered rather than the sequence points within each.
- Supported by a new "satisfactory function threshold" and function % sorting options.
- </li>
- <li>
- Background colours can now be customised for coverage nodes in the tree.
- </li>
- <li>
- Reports will now have the current filtering applied, not just the sorting settings.
- </li>
- <li>
- Reports using NCoverExplorer.Console can now have filtering and sorting applied. Use the
- /sort: and /filter: command line arguments, or specify in a .config file (see example.config),
- or use the sort/filter arguments to the NAnt/MSBuild tasks.
- </li>
- <li>
- Sorting and filtering options applied are now persisted and reapplied to the next coverage
- xml file loaded, both in this and future sessions.
- </li>
- <li>
- Added ability to filter out all nodes exceeding coverage threshold.
- </li>
- <li>
- Revamp to the NAnt/MSBuild tasks. Renamed assemblies and namespaces. Included new attribute of
- "AssembliesList" as an alternative to the "Assemblies" group element to allow direct
- specification of a list as you would on the command line. The "Version" attribute is now optional
- - the task determines it from the NCover assembly instead if not specified. Tasks will automatically
- register NCover coverlib.dll using the HKCU entry in the registry - no need for regsvr32 any more!
- NCoverExplorer task now writes it's config file to temp folder for passing to the executable.
- </li>
- <li>
- Added documentation for the NAnt and MSBuild tasks. This is included both in the NCoverExplorer.Extras.zip
- file, as well as being available online for the custom <a href="http://www.kiwidude.com/dotnet/doc/NCoverExplorer.MSBuildTasks/index.html">MSBuild Task Help</a>
- and <a href="http://www.kiwidude.com/dotnet/doc/NCoverExplorer.NAntTasks/index.html">NAnt Task Help</a>.
- Links also available off the Help menu for NCoverExplorer.
- </li>
- <li>
- Added a schema file ConsoleConfig.xsd to the distribution for people wanting to know the exact syntax
- options for creating .config files to pass to NCoverExplorer.Console using the /config switch.
- </li>
- <li>
- Added regular expression support to the coverage exclusions dialog for people wanting more complex queries.
- </li>
- </ul>
- <p class="answer">The following minor changes were made:</p>
- <ul>
- <li>
- <span style="color:red">Configuration file change - the ModuleThresholds section in .config files passed to NCoverExplorer.Console now
- uses propercase attribute names to be consistent with the rest of the configuration file.
- i.e. "ModuleName" instead of "moduleName", and "SatisfactoryCoverage" instead of "satisfactoryCoverage".</span> You must update
- your NAnt/MSBuild tasks for NCoverExplorer if you use these. If you instead use the <exec> task with a .config
- file then you should update the case of the entries in this file. This only affects people who have setup coverage exclusions
- at the module level for reporting purposes.
- </li>
- <li>
- If source code is out of date compared to the coverage results, the user is prompted with
- the change source path dialog.
- </li>
- <li>
- If the user chooses a new source code location, the tab is now automatically opened for
- that location rather than requiring the user to click on the tree node again.
- </li>
- <li>
- Added Help->NCoverExplorer Forum menu option to link to the NCover website. Also included
- forum link information on the exception dialog.
- </li>
- <li>
- Added a toolbar button for turning off filtering.
- </li>
- <li>
- <span style="color:red">Keyboard shortcut change - Changed the keyboard shortcuts for next/previous unvisited class (ALT+UP/DOWN) and
- next/previous unvisited line in class (ALT+LEFT/RIGHT).</span>
- </li>
- <li>
- Remember which tab was last opened in the NCoverExplorer options dialog during an NCoverExplorer session.
- </li>
- <li>
- Replaced references to "transparent.gif" with "shim.gif" in the NCoverExplorerSummary.xsl. The "shim.gif"
- file is a transparent 1x1 gif already distributed with CC.Net.
- </li>
- <li>
- Coverage exclusions for assemblies are now case insensitive.
- </li>
- <li>
- There are no longer two default coverage exclusions added of "*.Tests" and "*.My*" for first time users.
- Intended for demo purposes only but stayed in until now. New users can manually add them if they desire them.
- </li>
- </ul>
- <p class="answer">The following bug fixes were made:</p>
- <ul>
- <li>
- Overloaded constructors with class level variable declarations were being merged into a single
- constructor in the coverage results as they had the same "start line" of the variable. Now uses
- end line as part of the identifying key for each method.
- </li>
- <li>
- Memory leak from opening and closing tabs displaying source code.
- </li>
- <li>
- .Net 2.0 performance is pretty dire due to crap Microsoft changes to the TreeView control.
- Change to default to .Net 1.1 in NCoverExplorer.exe.config and wrap updates to the tree
- in BeginUpdate/EndUpdate.
- </li>
- <li>
- Parsing Java code would blow up if an accessor had the same name as a nested class (illegal in C#).
- </li>
- <li>
- Bugfix in NCover task where multiple assemblies were specified for NCover 1.5.4, which requires
- separate <assembly> nodes.
- </li>
- <li>
- Bugfix in trying to restore selected node text after refreshing file could raise
- null reference exception.
- </li>
- <li>
- Bugfix so that module names specified in module thresholds when using NCoverExplorer.Console
- are no longer case sensitive for matching.
- </li>
- <li>
- Added support for NCover 1.5.5 - the //q bug is fixed in NCover. Also changed parsing code so that modules
- with a blank assembly name (through using TestDriven.Net) are ignored from the coverage.
- </li>
- <li>
- Bugfix for merge functionality for NCover.Console when wildcards were used with relative paths.
- </li>
- <li>
- Bugfix for naming of xml/html arguments for NCover.Console with relative file paths.
- </li>
- <li>
- Bugfix for drag/drop broken while making the memory usage optimisations during the 1.3.5 beta release.
- </li>
- <li>
- Print button was enabled when no source code displayed resulting in exception.
- </li>
- </ul>
- <hr/>
- <p class="question">v1.3.4 - Jul 10th 2006</p>
- <p class="answer">Bundled with TestDriven.Net from build 2.0.1702.</p>
- <p class="answer">The following new features were introduced:</p>
- <ul>
- <li>
- Added toolbar buttons which support moving to the next and previous unvisited code
- within a class or namespace. Shortcut keys of N and P for next/previous unvisited line in the
- current class (or mouse forward/back buttons). Use Ctrl+N and Ctrl+P to navigate to the
- next/previous partially or unvisited class within the namespace (or Ctrl+forward/back mouse buttons).
- </li>
- <li>
- NCoverExplorer.Console.exe now supports saving the merged results of the coverage xml file(s) with
- a /s[ave] option. The NCoverExplorer NAnt and MSBuild tasks have also been enhanced to support this
- with an optional "mergeFileName" attribute.
- </li>
- <li>
- NCoverExplorer.Console.exe now supports wildcards for coverage xml filename(s).
- </li>
- <li>
- NCoverExplorer.Console.exe now supports module level coverage thresholds, rather than just a project
- coverage threshold. This feature allows finer tolerance for both output on the reports and to fail
- a build. Specifying the module thresholds is done either through a .config file (see ConsoleExample.config)
- or through parameters in the NAnt/MSBuild tasks.
- </li>
- <li>
- Added a new summary report showing class coverage per namespace per module.
- </li>
- <li>
- Enhanced the NCoverExplorerSummary.xsl to display summaries of each module.
- </li>
- <li>
- Clicking on a class with non-existent source code displays a dialog allowing the user to specify an alternate
- folder. For use when the source code location indicated within the coverage.xml file(s) loaded differs from
- that on the local machine now (e.g. a different drive letter or folder path).
- </li>
- </ul>
- <p class="answer">The following minor changes were made:</p>
- <ul>
- <li>
- NCoverExplorer release is compiled against .Net 1.1 rather than .Net 1.0 due to a dependency on the
- FolderBrowserDialog not available in .Net 1.0.
- </li>
- <li>
- Coverage file stylesheet modified to show coverage column and NCoverExplorer version information with
- numerous other cosmetic enhancements.
- </li>
- <li>
- Enrich error environment information to include .Net framework version and operating system.
- </li>
- <li>
- Classes without a namespace are now shown under a namespace node of "-" like in Reflector.
- </li>
- </ul>
- <p class="answer">The following bug fixes were made:</p>
- <ul>
- <li>
- Warnings about mismatches when merging xml files are no longer issued. NCover seems to inconsistently
- produce xml file coverage of methods which caused some users problems when merging.
- </li>
- <li>
- Nested classes without a namespace specified would cause the coverage.xml file to fail to load.
- </li>
- <li>
- Parsing overloaded properties (overloads of this[]) would not show the separate overloads in the tree
- and have incorrect coverage stats.
- </li>
- <li>
- Fix memory leaks for when source code tabs are closed.
- </li>
- <li>
- Minimum coverage threshold for NCoverExplorer.Console would sometimes be incorrect due to rounding.
- </li>
- <li>
- Changed NCoverExplorerSummary.xsl to format to 1dp rather than rounding to 0.
- </li>
- <li>
- Sorting by filename for a method then clicking on class node threw exception.
- </li>
- <li>
- VB.Net source code keywords not highlighted with the correct ICSharpCode template.
- </li>
- </ul>
- <hr/>
- <p class="question">v1.3.3 - Apr 4th 2006</p>
- <p class="answer">Bundled with TestDriven.Net from build 2.0.1578.</p>
- <p class="answer">The following new features were introduced:</p>
- <ul>
- <li>
- Added NCoverExplorer.Console.exe for utilising NCoverExplorer features with automated
- coverage builds and NAnt tasks. By default will load up all the specified coverage file(s), apply
- any coverage exclusion(s) specified in the NCoverExplorer configuration and display total
- coverage statistics in the console output. If all items processed successfully returns an exit code of 0,
- if an exception occurs returns an exit code of 2.
- </li>
- <li>
- Added /m:xx (or /minCoverage:xx) argument to NCoverExplorer.Console.exe. When used in conjunction with
- /f (or /failMinimum) an exit code of 3 is returned if the min coverage is not reached. Can act
- as a trigger for failing an automated build such as with CruiseControl.Net.
- </li>
- <li>
- Added module & namespace summary xml report generation to NCoverExplorer (both the GUI and Console versions).
- In the GUI, this is available via the "View->Reports" menu. The three reports that are offered currently are:
- <br/> - Module Summary (Coverage totals for the project and per module);
- <br/> - Namespace Summary (Coverage totals for the project and per namespace);
- <br/> - Module Namespace Summary (Coverage totals for the project, per module and per namespace);
- </li>
- <li>
- Reports can be generated in xml or html format. Native html may be useful for directly attaching to e-mails.
- If xml format is chosen a "CoverageReport.xsl" stylesheet is copied from the NCoverExplorer installation
- folder to the report directory and linked to the xml file similar to coverage.xml/coverage.xsl by NCover.
- </li>
- <li>
- Reports can contain an "excluded nodes" footer section. This lists at the topmost level all of the items
- excluded from coverage at the time the report was run.
- </li>
- <li>
- Added "View->Filter" main menu and context menus, offering the ability to filter out nodes. Filtered
- nodes are simply moved under a new "Filtered" tree node and do not alter the coverage statistics
- (unlike excluded nodes which are effectively removed from the tree). Filters offered are either to
- hide all 100% covered nodes, or hide all unvisited (0%) nodes.
- </li>
- <li>
- Added "Include in Results" context menu option for when clicking on either the "Excluded" bin or one
- of it's immediate child nodes. Offers a way to "undo" an exclusion without reloading the file.
- </li>
- <li>
- Added "View->Summary Statistics" menu option (shortcut F3) to show dialog of totals of files, classes, members,
- NCLOC (non-commented lines of code) and sequence points. Statistics do not include excluded nodes
- (but will include filtered nodes).
- </li>
- <li>
- Created NAnt and MSBuild tasks for execution of NCoverExplorer.Console as an alternative to the <exec> task.
- These tasks offer a more developer friendly alternative such as <fileset> for coverage files and creating a
- .config file on the fly based on specified parameters such as <exclusions> within the .build/.proj file.
- </li>
- <li>
- Replaced menus with a lightly tweaked variant of Lutz Roeder's excellent CommandBar code to give a more modern
- look and assign icons on the menus.
- </li>
- <li>
- Added a toolbar. If not wanted the toolbar can be hidden using the "View->Show Toolbar" menu option.
- </li>
- </ul>
- <p class="answer">The following minor changes were made:</p>
- <ul>
- <li>
- Options dialog shortcut changed to F2.
- </li>
- <li>
- Excluding a node will now select the node after by default rather than the one previous.
- </li>
- </ul>
- <p class="answer">The following bug fixes were made:</p>
- <ul>
- <li>
- Fix bug where delete key shortcut was active on the root coverage file node, causing an exception to be thrown.
- </li>
- <li>
- Path was being truncated from the module name when saved.
- </li>
- <li>
- Fix bug where changing theme without coverage file loaded caused error.
- </li>
- </ul>
- <hr/>
- <p class="question">v1.3.2 - Mar 14th 2006</p>
- <p class="answer">Bundled with TestDriven.Net from build 2.0.1545.</p>
- <p class="answer">The following new features were introduced:</p>
- <ul>
- <li>
- Added support for merging multiple coverage files. This can be triggered through a variety of ways:
- <br/> - Selecting multiple test classes/fixtures/projects in TestDriven.Net;
- <br/> - Passing multiple files in the command line arguments;
- <br/> - Selecting multiple files in the Open dialog;
- <br/> - Using a new "File->Merge..." menu option;
- <br/> - Drag/dropping onto the NCoverExplorer application.
- </li>
- <li>
- Added tabs for each source code file you open to explore coverage on. If you click on a partial class
- then tabs will be opened for each of the source code files making up the class.
- </li>
- <li>
- Added the ability to exclude assemblies, namespaces or classes from the coverage results by a wildcard capable
- case-sensitive match on the name. By default NCoverExplorer includes two exclusions:
- <br/> - Exclude all assemblies with the name ending in ".Tests".
- <br/> - Exclude all namespaces with the name containing ".My" (for VB.Net exclusions).
- </li>
- <li>
- Added support for the NCover 1.5.4 "excluded" attribute which can be found in the coverage.xml files when
- the appropriate NCover command-line attributes are used. Note that TestDriven.Net still does not as yet
- support this attribute so you need to use the NCover.Console command line for this feature - for more information see
- <a href=http://ncover.org/SITE/blogs/ncover_blog/archive/2006/01/29/103.aspx>here</a>. NCoverExplorer
- will not include nodes marked as 'excluded' by NCover in it's totals but will still display them in the tree.
- </li>
- <li>
- Added an "Excluded" child bin node containing all nodes that have been excluded by the options dialog, by NCover
- attributes or by the "Exclude From Results" context menu option (see next point).
- </li>
- <li>
- Replaced the "Remove from Results" context menu feature with "Exclude from Results" (shortcut of the DEL key).
- Achieves a similar result of removing nodes from coverage calculations, however the nodes are "moved" to the
- Excluded bin rather than being deleted from the tree.
- </li>
- <li>
- Added a custom "theme" capability along with further colour and font customisation options for the coverage tree,
- statistics and source code panes. A number of predefined "themes" are supplied and users can add their own.
- Users can switch between themes either in the Options dialog or via the "View->Themes" menu.
- </li>
- <li>
- Added a new "View->Coverage" menu which has sub-options related to "Sequence Point Coverage" and
- "Function Coverage", assigned shortcut keys ctrl+(1-4):
- <br/> - Choosing one of the "Sequence Point" variants will display the tree nodes with differing naming
- combinations of coverage percentage and # unvisited sequence points.
- <br/> - Choosing "Function Coverage" will alter the coverage tree display so that only methods/classes that were
- invoked are highlighted. Method nodes show the number of visits to that method. Class, namespace and module nodes
- show the maximum visit count by any of their children.
- </li>
- <li>
- Added a "View->Sort By" menu option and context menu on the tree, with sub-options for "Name" (default),
- "Class name/line number", "Coverage %" (ascending/descending), "Uncovered Sequence Points" (ascending/descending)
- and "Visit Counts" (ascending/descending).
- Assigned shortcut keys of ctrl+shift+(1-8). Note that reloading the coverage file will remove the current sort
- and default back to by "Name".
- </li>
- <li>
- Added "Save" and "Save As" options to the File menu. These give you the option of overwriting/creating a
- new coverage.xml file with the current values loaded in NCoverExplorer. Any coverage exclusions/removed
- nodes will not appear in the saved coverage file. Note that the methods are written in the same order as
- the sort order specified above.
- </li>
- <li>
- Added an "Explore Coverage Folder" menu option to the file menu.
- </li>
- <li>
- Added an "Expand All" context menu option on the tree (shortcut ctrl+L).
- </li>
- <li>
- Enhanced the statistics pane. When a class node is selected you will now see additional columns of
- coverage %, unvisited sequence points and sequence points. When clicking on a method node you will
- now see the filename.
- </li>
- <li>
- Implemented "smart expansion" in the tree. If when you expand a node there is only one child node
- then that node will also be expanded and so on. Increases speed of tree navigation particularly
- if using a style of "Nested" namespaces with deep hierarchies.
- </li>
- <li>
- Display class file name in tab page header bar when a method node is clicked on. Tooltip shows the path.
- </li>
- </ul>
- <p class="answer">The following minor changes were made:</p>
- <ul>
- <li>
- Optimised when reloads of the coverage file so it is now only required if you change a coverage exclusion
- or the tree grouping/nesting styles in the options dialog. Makes for a snappier UI.
- </li>
- <li>
- Added a "Close" menu option to remove any loaded coverage file(s) from display.
- </li>
- <li>
- Moved all the "Recent Files" into a submenu to tidy up the File menu.
- </li>
- <li>
- Pressing Tab/shift-tab while focus is in the TextEditor pane of source code will now
- move focus out of the TextEditor.
- </li>
- <li>
- If a source code file contains multiple classes (not nested), then only the highlighting relevant
- to that particular class will be displayed in the editor window as each class tree node is clicked.
- </li>
- <li>
- Excluding the My namespace is now done through the Exclusions feature.
- </li>
- <li>
- Options dialog can be displayed using the F4 shortcut key.
- </li>
- <li>
- Removed last remnants of "non VS.Net standard colors" from the C# ICSharpCode TextEditor template.
- </li>
- <li>
- Make the GUI naming consistent to correctly reference "sequence points" rather than "lines" and "unvisited"
- rather than "uncovered".
- </li>
- <li>
- Removed "Edit in VS.Net" from the View menu.
- </li>
- <li>
- Changed NCoverExplorer main form icon to one that includes 32x32 sizes so Alt-Tab switching looks
- better than upscaled 16x16 icon.
- </li>
- <li>
- User is now prompted to remove a non-existent coverage file from the "Recent" files list rather than
- automatically being removed.
- </li>
- </ul>
- <p class="answer">The following bug fixes were made:</p>
- <ul>
- <li>
- Serializing the configuration settings was not flushing the stream - resulting sometimes in a blank settings file
- preventing people from loading NCoverExplorer. Will now revert to default settings if an error occurs.
- </li>
- <li>
- Displaying a source code file that has been modified to have less lines of code than at the time of the coverage run
- will now display a user friendly message box.
- </li>
- <li>
- Compensation made for NCover not reporting column information when profiling C++ code. NCoverExplorer will now
- highlight the entire line rather than throwing an error.
- </li>
- <li>
- In some circumstances properties were not highlighted consistently due to a bug in the property node expansion.
- </li>
- <li>
- Coverage greater than 99.5% will no longer be rounded up to 100% in the display. It is instead shown as ">99.5%".
- </li>
- <li>
- Extremely high visit counts will no longer overflow the visit count.
- </li>
- <li>
- Statistics pane for a class will now always consistently show the property nodes grouped, rather than only
- after the class node has been expanded in the tree.
- </li>
- <li>
- Recent file menu would display incorrectly for files numbered from 10 onwards truncating first character.
- </li>
- <li>
- Release notes & FAQ were always directed to website rather than local versions when NCoverExplorer was started
- from TestDriven.Net.
- </li>
- </ul>
- <hr/>
- <p class="question">v1.3.1 - Feb 15th 2006</p>
- <p class="answer">Bundled with TestDriven.Net from build 2.0.1435.</p>
- <p class="answer">The following new features were introduced:</p>
- <ul>
- <li>
- Namespaces are now "flattened" by default in the tree. This looks like the ClassView
- browser in VS.Net 2005 (or Lutz Roeder's Reflector). You can retain the nested look by changing it in the View->Options dialog.
- </li>
- <li>
- If you use the original "nested" namespace style (like the VS.Net 2003 class browser), then inner namespaces will now be
- listed at the top of each branch with the classes listed underneath which is less confusing to navigate.
- </li>
- <li>
- Option to exclude the "My" namespace for VB.Net projects (for use with with BCL 2.0 & NCover 1.5.x).
- </li>
- <li>
- Right-click menu option on coverage tree (shortcut ctrl+R) to "Remove From Results" that selected node
- and all it's children. Will force the coverage values to be recalculated. Intended for use where
- you have undesired assemblies, namespaces, classes or methods included in the report that are skewing your
- coverage results and you want them removed.
- </li>
- <li>
- Option to specify a satisfactory coverage threshold as a number of lines instead/as well as a percentage.
- If either of the conditions are met the node is coloured differently (provided the coverage is not zero).
- </li>
- <li>
- Colours can now be customised for both the source code highlighting and the nodes in the tree.
- </li>
- <li>
- Collapse all nodes context menu option on the coverage tree control (shortcut ctrl-A). Equivalent to reloading
- the coverage file (but would preserve any changes you have made such as removing nodes).
- </li>
- <li>
- By default the NCoverExplorer now attempts to restore your currently selected node/caret position after
- reloading a coverage.xml file (either F5 or by execution of another "Test With Coverage" command in TestDriven.Net).
- You can turn off this behaviour in the View->Options dialog.
- </li>
- <li>
- Statistics pane is now sortable by method name (default), visit count and line number.
- </li>
- <li>
- Statistics pane now summarises all the methods and their visit counts when a class node is clicked.
- Can be used as a basic form of method invocation counting for a fairly rudimentary level of profiling.
- The colouring used is the same as that of the tree to visually assist in identifying methods invoked.
- </li>
- </ul>
- <p class="answer">The following minor changes were made:</p>
- <ul>
- <li>
- Restructured the Options dialog to have a tabbed interface.
- </li>
- <li>
- Renamed the "Show Visit Pane" menu option to "Show Statistics".
- </li>
- <li>
- The statistics pane now includes the method name. Widths of the columns are remembered each time you close NCoverExplorer.
- </li>
- <li>
- Statistics pane now has icons and colouring to match those of the associated nodes in the coverage tree.
- </li>
- <li>
- Inner nested classes now nested internally in the tree under the parent class, sorted to the top.
- </li>
- <li>
- Added FAQ, Release Notes and Blog website to the Help menu.
- </li>
- </ul>
- <p class="answer">The following bug fixes were made:</p>
- <ul>
- <li>
- Source code files now loading with "Encoding.Default" rather than previous default of UTF-8.
- </li>
- <li>
- Coverage highlighting not working correctly on multiple line statements.
- </li>
- <li>
- Now handles partial classes and yield statements correctly.
- </li>
- </ul>
- <hr/>
- <p class="question">v1.3 - Feb 6th 2006</p>
- <p class="answer">Bundled with TestDriven.Net from build 2.0.1373d.</p>
- <p class="answer">The following new features were introduced:</p>
- <ul>
- <li>
- Launching from VS.Net using TestDriven.Net will now re-use the NCoverExplorer instance
- opened from a previous "Test with... Coverage" click. Each VS.Net instance has it's own
- instance of NCoverExplorer.
- </li>
- <li>
- Added "Edit in VS.Net" functionality (keyboard shortcut ctrl+ E) for classes and methods.
- Will navigate to source code in your IDE at same point where your cursor resides in NCoverExplorer.
- Replaces and enhances previous "Open File" right-click option which has been removed.
- </li>
- <li>
- Added "Expand Covered" functionality (keyboard shortcut ctrl + Q) - recurses through the child
- nodes of the current node and expands all those with partial or complete coverage. Useful when
- using in conjunction with TestDriven.Net for isolated unit testing.
- </li>
- <li>
- Added "coverage file" node at the top of the tree showing total coverage across all modules/namespaces.
- </li>
- <li>
- Group by module option (default) to assist with navigating coverage for large solutions.
- </li>
- <li>
- Configuration information for NCoverExplorer now written to Local Settings rather than registry.
- </li>
- <li>
- Increase default number of "recent files" to 10, with ability to alter in the Options dialog.
- </li>
- <li>
- Reload of the current coverage file now has a shortcut key of F5.
- </li>
- <li>
- Display the path to the currently loaded coverage file in the title bar.
- </li>
- </ul>
- <p class="answer">The following minor changes were made:</p>
- <ul>
- <li>
- Performance enhancements to improve loading times further for large files.
- </li>
- <li>
- Static constructors now renamed from "cctor" to ".cctor" so as to be sorted at the top.
- </li>
- <li>
- Running NCoverExplorer for first time ever will use a better starting form position.
- </li>
- <li>
- Removed configuration option for "nesting properties" - default remains the same of "true".
- </li>
- <li>
- Source code refactoring into separate assemblies to facilitate unit testing.
- </li>
- </ul>
- <hr/>
-
- <p class="question">v1.2 - Feb 1st 2006</p>
- <p class="answer">First public release, bundled with TestDriven.Net from build 2.0.1341d.</p>
- <p class="answer">The following new features were introduced:</p>
- <ul>
- <li>
- Block style highlighting option for both visited and unvisited code.
- </li>
- <li>
- Satisfactory coverage threshold.
- </li>
- <li>
- Nesting of properties as nodes are expanded.
- </li>
- <li>
- Further speed improvements for initial file parsing.
- </li>
- </ul>
- <hr/>
-
- <p class="question">v1.1 - Jan 1st 2006</p>
- <p class="answer">Speed improvements.</p>
- <hr/>
-
- <p class="question">v1.0 - Dec 17th 2005</p>
- <p class="answer">First version created.</p>
- </body>
- </html>
|