NDepend Release Notes
| Version | 2.8.1.1986 (Trial Edition) / 2.8.1.1987 (Professional Edition) |
| Date | 28 april 2008 |
| Description |
Feature:
Possibility to choose any tier-tools to compare source files when doing build comparison.
Bug Fix:
In the ribbon page Dependencies, the Weight on cells combo box was sometime filled with improper data.
In the ribbon pages CQL and Compare, a query relative to Coverage was sometime generated when clicking on Methods/Types/Namespaces/Assemblies check button.
When selecting on the treemap a node matched by the current query, an exception could occur if the height of the query result DataGridView was too small.
Under certain circumstances of matching file names, the Source file chooser dialog showed invalid declaration.
Public class with at least one public derived class could be considered as CouldBeInternal but actually it cannot be declared as internal.
|
| Version | 2.8.0.1927 (Trial Edition) / 2.8.0.1928 (Professional Edition) |
| Date | 8 april 2008 |
| Description |
CQL 1.7:
Support for harnessing code coverage data importing from NCover 2.x or VisualStudio TeamSystem (2005 or 2008)
Metrics:
- PercentageCoverage available for Assemblies Namespaces Types Methods
- NbLinesOfCodeCovered available for Assemblies Namespaces Types Methods
- NbLinesOfCodeNotCovered available for Assemblies Namespaces Types Methods
- PercentageBranchCoverage available for Methods (NCover only)
Feature:
Facilities in Project Properties to import coverage data during analysis run.
Facilities to import coverage data while viewing an analysis with VisualNDepend.exe.
Possibility to use an attribute to exclude some code element from coverage statistics (uncoverable attribute)
Bug Fix:
The analysis could crahed when using multi-dimensions arrays inside some indexers.
The MSBuild task had a bug while using InDir argument.
When closing VisualNDepend, user now get warned if the underlying Windows user account doesn't have the authorization to override the VisualNDepend options file.
The section Assembly Build Order was sometime empty in the report.
When modifying project properties and directly run an analysis, new changes were saved but sometime not presented correctly.
|
| Version | 2.7.0.1816 (Trial Edition) / 2.7.0.1817 (Professional Edition) |
| Date | 6 march 2008 |
| Description |
CQL 1.6:
Support for Attribute: The condition HasAttribute "AttributeClassName" is now support on Assemblies, Types, Methods and Fields.
The metric ILNestingDepth is supported on Method.
Feature:
PDB\Symbols used to be loaded from the same director of their corresponding of assemblies file. Now, the NDepend analysis process also search in all the directory specified if the PDB file is not found in the corresponding directory of assemblies file.
3 default CQL constraints added: 'Code Quality (IL Nesting Depth)' ; 'Fields should be private' ; 'Structure should be immutable'.
The NDepend.Console.exe process returns the exit code 0 if the analysis went well, 1 if an error occured and -1073741510 (0xc000013a) if the process is killed.
Performance enhancement:
Depending on the number of processors, the RAM (i.e the fact that an analysis overused virtual memory) and if the machine is 32 or 64 bits, the analysis process will be 30 to 400% faster and will take around 40% less memory.
Bug Fix:
Some assemblies could not be analyzed because the framework System.Reflection was unable to load them (since v2.7, NDepend doen't rely anymore on System.Reflection).
-
For certain C++\CLI or MC++ assemblies, the method Assembly.GetTypes() threw an exception.
-
When running on 64 bits the framework System.Reflection had problems loading some 64 bits assemblies.
Changes in the XSL file to build report because some Warning and Error messages didn't appear in the report.
Some corrupt-memory read exception happened rarely and randomly while analysing assemblies on multi-core machines.
In the the Project panel of VisualNDepend, an exception occured when trying to get an assembly from a VisualStudio project file.
In the the Project panel of VisualNDepend, when adding assemblies referenced by a VisualStudio project or sln file, assemblies that were already considered as tiers assemblies were not added as application assemblies.
When selectiong assemblies, if they were not on a well-formed drive (such as VSS drive) an exception was raised. Now a message box explains why it is not possible.
NDepend had problem analyzing methods that had VB optional parameter + compiled with aspnet_merge.exe.
When using conjointly VB.NET optional parameters and aspent_merge.exe, NDepend had problems to analyze the assemblies created.
When using conjointly VB.NET My namespace and aspent_merge.exe, NDepend had problems to analyze the assemblies created.
If the underlying Windows installation didn't have the Helvetica regular font, VisualNDepend.exe could not be started. We now use the Arial font that is supported by all Windows installation.
A method operator could be matched by optimal visibility CQl conditions but a method operator is always declared as public.
|
| Version | 2.6.3.1690 (Trial Edition) / 2.6.3.1691 (Professional Edition) |
| Date | 21 december 2007 |
| Description |
Bug fix:
Some tier code elements were not colored properly in the Class Browser panel.
|
| Version | 2.6.2.1678 (Trial Edition) / 2.6.2.1679 (Professional Edition) |
| Date | 19 december 2007 |
| Description |
Feature:
.NET assemblies dir are constantly updated to be the right one. For example, the same NDepend project can be used on a machine where the .NET framework is installed on drive C:\ and on another machine where it is on drive E:\.
When initializing a NDepend project, if .NET 3.0 and .NET 3.5 are installed on the current machine, the .NET framework assemblies refence dirs are included automatically in the project:
C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0
C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5
In Ribbon UI mode: hide the status label at the right when the main Windows get too shrink vertically. This way, the status of CQL queries selected remains visible in this scenario.
When opening an Url or a Report from VisualNDepend, VisualNDepend now use the default browser.
Bug fix:
The NDepend addins XML files for VisualStudio 2005 and 2008 are now installed under the LocalUser settings. Windows Vista refused to install them under AllUser settings.
When closing an analysis, the Error List might not be emptied under certain conditions.
On CQL intellisense, when the currently edited word was alphabetically lower than the first intellisense proposition, the intellisense proposed the last proposition instead of the first one.
Regression bug: When selecting a CQL query with Warning or Error status on the CQL query list, the status description was not updated in the status bar.
In Ribbon UI mode: at the beginning, the status test on the right was erroneous.
With Reflector addin, when selecting a .NET Framework 3.x assemblies, the addin didn't cop with the environment variable %ProgramFiles%.
When editing a CQL query, 'mono-line comment' declared inside 'multi-line comments' where taken account (such as /* // */).
Reseting Views when exploring a big analysis result (> 100K LOC) took several seconds.
In Ribbon UI mode, sometime the caption in the VisualNDepend Windows task bar was erroneous.
When creating a 'Quick project' sometime an exception might occur on certain invalid inputed assemblies.
|
| Version | 2.6.1.1619 (Trial Edition) / 2.6.1.1620 (Professional Edition) |
| Date | 12 december 2007 |
| Description |
Bug Fix:
- VisualNDepend -> Project properties -> Code to Analyze -> Add assemblies of a Visual Studio solution didn't accep VS2008 solutions.
- When starting an analysis, if Windows was poping the unknow publisher dialog on NDepend.Console.exe, then VisualNDepend crashed.
|
| Version | 2.6.0.1607 (Trial Edition) / 2.6.0.1608 (Professional Edition) |
| Date | 10 december 2007 |
| Description |
- Addin support for Visual Studio 2008.
- Support for .NET 3.0 and .NET 3.5 assemblies analysis.
- Improved VisualNDepend Startup time.
- SplashScreen at VisualNDepend startup.
- 3 new panels in VisualNDepend with a VisualStudio look and feel:
StartPage panel:
- Recent Projects list with the possibility to load project only or a previous analysis by right a click.
- Getting Started links.
- Addin Installation.
- Most recent NDepend Version
Project Properties panel: (as a replacement for NDepend.Project.exe)
- Automatic inference of tier assemblies from application assemblies.
- Improved folder management.
- Immediate responsivness with asynchronous assemblies loading.
- Possibility to provide custom XSL sheet to build report.
- More documentation thanks with SuperToolTip a la Office 2007.
Error List panel:
- NDepend.Console.exe console hiding when analysis started from VisualNDepend.
- View information when currently running an analysis.
- Progress bar about currently running analysis.
- Possibility to abort current analysis.
- Possibility to enable\disable warnings.
- Possibility to copy row content in clipboard.
Bug Fix:
- When visualizing a dependency on the matrix, when doing Alt-Tab to activate another window than the VisualNDepend one, the 2 dependency tooltips were still visible and top front.
- When running 2 times an analysis on the same project within the same minute, NDepend.Console.exe crash because of a forbidden file access.
- When executing the analysis from a non-local drive, the analysis was interrupted by a Popup windows to warn about the potentatial problems on executing the analysis on non-local drive.
- The option panel to enable\disable assemblies took time to load on projects with a lot of assemblies, it is now immediate.
- The assemblies compiled with 'Any CPU' were tag as 'x86' in the Project Properties assembly Window.
|
| Version | 2.5.0.1382 (Trial Edition) / 2.5.0.1383 (Professional Edition) |
| Date | 15 october 2007 |
| Description |
CQL v1.5: support for Optimal Visibility detection
-Following conditions are now support on Types, Methods, Fields:
CouldBeInternal, CouldBeInternalProtected, CouldBeProtected, CouldBePrivate, ShouldBePublic
-CouldBeInternal is also supported on Namespaces.
-Discard of the following features from the Analysis: 'Potential Dead Code' and 'Optimal Visibility'. They are now both supported by CQL.
Bug Fix:
-Under certain circumstances, VisualNDepend couldn't be close by clicking the 'Close Window' button.
-Some DataGridView colors were not properly displayed when running on Windows Vista.
|
| Version | 2.4.2.1306 (Trial Edition) / 2.4.2.1307 (Professional Edition) |
| Date | 8 october 2007 |
| Description |
Analysis Bug Fix
-The analysis crashed while analyzing Mono.Cecil v0.6 because of a special compilation issue.
|
| Version | 2.4.1.1292 (Trial Edition) / 2.4.1.1293 (Professional Edition) |
| Date | 24 september 2007 |
| Description |
VisualNDepend Bug Fix
-Under certain circumstances, the CQL queries panel disappeared.
-A CQL query made of an empty string could provoke problems in the list of queries DataGridView.
-Double clicking some button with checkstyle in Ribbon pages could provoke unexpected state.
-Sometime, when starting Reflector from a menu Window from VisualNDepend, the menu window was sometime not being closed.
-Under certain circumstances, a field could be considered as written by a method when it was just loaded.
-When VisualNDepend was started from NDepend.Project, the layout saved from last session was not restored.
-Under certain circumstances, the text 'Ready' in the status bar was associated with an irrelevant icon.
Analysis Bug Fix
-Some assemblies compiled for 64 bits processor (such as System.Printing.dll) were not deemed as proper assembly.
-Under certain circumstances, assemblies files with a uppercase extension (.DLL .EXE) were not deemed as proper assembly.
Features
-Enhanced error form design and usability.
-VisualNDepend warns user if she tries to build a 'boxes and arrows graph' from matrix headers with two many code elements.
-VisualNDepend warns user if she tries to close the application while the current CQL query edited contains some unsaved changes.
-The CQL Queries panel title contains a '*' when the query has been modifed and is not saved.
|
| Version | 2.4.0.1251 (Trial Edition) / 2.4.0.1252 (Professional Edition) |
| Date | 7 september 2007 |
| Description |
Enhanced usability of VisualNDepend
Use of Ribbon/ApplicationMenu/QuickStartMenu 'a la Office 2007'
-New 'Changes Explorer' tool in the Build Comparison Ribbon page.
-New 'CQL Queries and Constraints creator' tool in the CQL Ribbon page.
-New 'Select Top XXX Code Elements ordered by their current Metric Value' tool in the Metric Ribbon page.
Docking Windows and saving/restoring of Windows arrangement when shutting down/starting VisualNDepend
Refactoring of Menus and ToolBars (aka. CommandBar) and saving/restoring of ToolBars arrangement when shutting down/starting VisualNDepend
Contextual help organized according to main use-cases.
Super tooltips with 2 levels of explanations and with pictures when relevant.
Keyboard Shortcuts for main Command and to display/reset panels.
A new Options panel that includes:
-The possibility to choose between Ribbon UI and CommandBar UI
-A new Skin inspired from the VisualStudio2008 one
-The possibility to choose between 15 skins (the default is the VisualStudio2008 one, but we propose also Office 2007 Blue/Black/Silver, Office 2003...)
-The possibility to install/uninstall VisualStudio/Reflector Add-Ins from the Option panel
In concerned DataGridViews, it is now clearly indicated when user can use Drag&Drop of Folder or Assembly from Windows Explorer.
Enhanced Support/About Form.
Bug fixes & enhancements:
- Some C++/CLI generic types and methods were misnamed by the analysis.
- Under very specific circumstances, the analysis pinpointed a field use where a property was used.
- The specific .NET Framework assemblies vjslib, vjswfc, vjswfchtml couldn't be analyzed because of a regression bug.
|
| Version | 2.3.0.1085 (Trial Edition) / 2.3.0.1086 (Professional Edition) |
| Date | 16 july 2007 |
| Description |
NDepend add-ins for VisualStudio2005™ and Reflector
VisualNDepend Bug fixes & enhancements:
-The description of an assembly now contains its full path.
-VisualNDepend close properly with a descriptive message if the user try to load an analysis where no application assemblies were found.
-The NbParameters value on methods that have generic type parameters could be wrong.
-When generating a CQL query/constraint from a VisualNDepend menu, there is no more message box asking to save the currently edited CQL query if it has not been modified.
-If NDepend quick projects (and also Newer/Older build) exists on the machine, they are automatically found and proposed in the Recent Project list.
-A warning MessageBox is displayed if the user tries to open a dependency that would lead to a giant matrix (> 500.000 cells) that can potentially triggers an OutOfMemoryException.
-Opening a source file failed if the path contains some space.
-An unhandled exception was sometime raised when trying to visualize indirect dependencies box and arrow pic involving a namespace root parent (i.e Xx.Yy.*)
-An unhandled exception was raised when trying to generate a picture from VisualNDepend and if the current picture file was read-only.
-An unhandled exception was raised when trying to open as root a code element from a tier assembly and the dependency matrix headers were binded.
NDepend.Console analysis Bug fixes & enhancements:
-Types of parameters of methods were not well named if they were generic types and also declared 'ref' or 'out'.
-NDepend analysis warns if an application assembly is referencing an outdated version of NDepend.CQL.dll.
-An information message is displayed to show how many CQL constraints are extracted from application assemblies.
-When using NDepend.CQL.CQLConstraintAttribute to declare CQL constraints inside your code, the attributes were sometime not properly extracted because of some versionning issues.
-It is now considered as a 'non-fatal error' when an application assembly cannot be analyzed because a tier assembly cannot be found.
-The instance field 'value__' of an enumeration type is not considered anymore as an 'IsEnumValue'.
-The analysis doesn't crash anymore if several assemblies with the same name are accidently provided.
-The query name is available in the Queries/Query/@Name attribute in the CQLResult.xml file.
NDepend.Project analysis Bug fixes:
-There is no more unexpected exceptions when trying to launch VisualNDepend on previous analysis or trying to see older reports and the NDepend project file was not created yet.
-Some assembly could not be considered as managed under certain conditions (file extension casing, incremental compilation).
|
| Version | 2.2.2.886 (Trial Edition) / 2.2.2.887 (Professional Edition) |
| Date | 20 may 2007 |
| Description |
VisualNDepend bug fix:
-Dependencies Matrix tooltips were flashing on Windows Vista when Aero was activated.
-Forbid to enable/disable CQL queries and groups extracted from code.
-Under some particular conditions, a modified namespace was shown as non-modified.
NDepend.Console analysis bug fix::
-Some non Explicit Interface Method Implementation (EMEI) were considered as EMEI.
|
| Version | 2.2.1.841 (Trial Edition) / 2.2.1.842 (Professional Edition) |
| Date | 7 may 2007 |
| Description |
VisualNDepend feature:
For each CQL constraint, possibility to include in the report the VisualNDepend pic with code elements selected.
VisualNDepend bug fix:
-When switching from one project to another, in some rare circumstance a NullReferenceException was raised.
-When saving CQL queries and the underlying project file was read-only, an exception was raised.
NDepend.Console analysis bug fix::
-While parsing C# file, some sort of '// comments' at the end of the file were causing an exception.
-While parsing C# file, if the type was inheriting from some generic types, its declaration in source file was not openable from VisualNDepend.
-The analyser now tolerates application without IL instructions in order to let users analyze assemblies and application only made of interfaces.
-Regression corrected that yielded 'assemblies cycles warning' in report even if no cycles were found.
|
| Version | 2.2.0.811 (Trial Edition) / 2.2.0.812 (Professional Edition) |
| Date | 2 may 2007 |
| Description |
CQL 1.4:
- Query naming with tags <Name> and </Name>
- Immutability on types and methods: ChangesObjectState M ; ChangesTypeState M ; IsImmutable T
- Which method write which field: IsDirectlyWritingField M ; IsWritingField M ; DepthOfIsWritingField M
Ergonomy in VisualNDepend:
- Possibility to browse back and forth previously selected code elements
NDepend.Project.exe / NDepend.Console.exe:
- Possibility to do build comparison during analyses
|
| Version | 2.1.1.766 (Trial Edition) / 2.1.1.767 (Professional Edition) |
| Date | 12 apr 2007 |
| Description |
Bugs fixed in VisualNDepend:
- #Items was sometime false in the query result
- Intellisense on float could raise an exception under special conditions
- Some special characters were problematic to insert while editing CQl queries with special regex.
- Build Comparison could yield false results on some classes and methods generated by compiler for anonymous methods under special conditions
Ergonomy in VisualNDepend:
- Better ergonomy on Build Comparison Panel
Ergonomy in NDepend.Project:
- Better ergonomy to handle and edit input and output folders
Optimized NDepend.Console analyze:
- Reduced memory set that allows to analyze bigger applications on 32 bits machine (up to 5.5M IL instructions, around 800K LOC).
|
| Version | 2.1.0.736 (Trial Edition) / 2.1.0.737 (Professional Edition) |
| Date | 28 mar 2007 |
| Description |
VisualNDepend.exe:
- Support for build comparison on tree code view, dependency view
- Support for CQL 1.3
- Better support for dependencies between enumeration and methods.
CQL 1.3:
- New boolean conditions: IsGeneratedByCompiler, IsObsolete, IsSpecialName
- New boolean conditions dedicated to build comparison: WasChanged, WasAdded, WasRemoved, CodeWasChanged, CommentsWereChanged, VisibilityWasChanged, BecameObsolete, IsUsedRecently, IsNotUsedAnymore, IsUsedDifferently, IsInNewerBuild, IsInOlderBuild
- New code structure condition: ReturnType
|
| Version | 2.0.6.676 (Trial Edition) / 2.0.6.677 (Professional Edition) |
| Date | 21 fev 2007 |
| Description |
Bug fix : initializing a project from a Solution file that references some Web
|
| Version | 2.0.5.661 (Trial Edition) / 2.0.5.662 (Professional Edition) |
| Date | 13 fev 2007 |
| Description |
Quick selection of assemblies to analyze from VisualNDepend.exe
Support for Windows 64 bits
Bug fixes.
|
| Version | 2.0.4.640 (Trial Edition) / 2.0.4.641 (Professional Edition) |
| Date | 01 fev 2007 |
| Description |
Availability of Trial and Professional Editions (Not in betas anymore).
Ability to choose between relative and absolute pathes to your assemblies in NDepend project XML files.
Minor ergonomy improvements in VisualNDepend.
Bug fixes.
|
| Version | 2.0.3.479 (Release Candidate 1) |
| Date | 13 dec 2006 |
| Description |
NDepend.Console.exe:
- Better performance
- Automatic detection if a new version is available for download
NDepend.Project.exe:
- Possibility to initialize or complete a project from a VisualStudio 2005 solution (.sln) or project file (.csproj .vbproj)
- Sort warnings by category
- Open source file position corresponding to a warning
VisualNDepend.exe:
- Dependencies view with many options
- Boxes and arrows dependencies graph generation
- Facilities to find dependency cycles at any level (namespaces/types/methods).
- Support for C# source code metric (Lines of code, Comments, Cyclomatic Complexity)
- Namespace Hierarchy Mode : Tree or Flat
- Open source file position for definitions of namespaces, types, methods
- More support for CQL query automatic generation
- Supports CQL 1.2
- Better ergonomy
CQL 1.2:
- New metrics: CyclomaticComplexity TM, NbLinesOfComment ANTM, PercentageComment ANTM, AssemblyLevel A, NamespaceLevel N, TypeLevel T, MethodLevel M,
- New keywords: HasLevel ANTM, ContainsNamespaceDependencyCycles A, ContainsTypeDependencyCycles N, ContainsMethodDependencyCycles T
- Wildcard support for namespace names
|
| Version | 2.0.2.0 (beta2) |
| Date | 26 aug 2006 |
| Description |
NDepend.Console.exe: Better performance (up to 1M IL instructions analyzed/minutes), New command line options /InDirs /OutDir /Help /Silent /XslForReport /EmitVisualNDependBinXml
NDepend.Project.exe: Better ergonomy
VisualNDepend.exe: Better ergonomy, support CQL 1.1, support framework assemblies
CQL 1.1: New keywords: NbLinesOfCode, IsDirectlyUsing, IsDirectlyUsedBy, TypeRank, MethodRank, IsInFrameworkAssembly, IsUsingPinning, IsExplicitInterfaceImpl, IsFinalizer, IsEntryPoint, HasFinalizer, FieldCa, MethodCe, MethodCa, NamespaceCe, NamespaceCa, Better code elements naming convention (especially for generics),
+ warns about assemblies versionning issues
+ warns if PDB files are not in-sync with source files
+ interaction between VisualNDepend.exe and Visual Stutio .NET (2002, 2003, 2005) (double click on a method opens its source definition)
+ new NbLinesOfCode metric (require the presence of PDB files of application assemblies)
+ new MethodRank, TypeRank metrics based on Google PageRank
+ new FieldCa, MethodCe, MethodCa, NamespaceCe, NamespaceCa metrics
+ new internal code structure abstract model which will allow Java, C++ or C++/CLI analyses (a C++/CLI code structure provider is currently developped)
+ all known bugs fixed
|
| Version | 2.0.1.0 (beta1) |
| Date | 04 apr 2006 |
| Description |
Support for .NET 2.0 assemblies.
Support for the Code Query Langage.
Add the NDepend.Project.exe
Add the VisualNDepend.exe UIs.
Add the Size Of Instance metric.
IL analyse powered by Cecil.
|
| Version | 1.3.2 |
| Date | 6 aug 2004 |
| Description | Solve a bug on multi directory application (thanks to Ole Kaare Andresen)
|
| Version | 1.3.1 |
| Date | 11 jul 2004 |
| Description | Wildcard facility for member visibility filters
Regression bug correction concerning assemblies instability computation
(thanks to Frans Bouma).
|
| Version | 1.3.0 |
| Date | 3 jun 2004 |
| Description | New metrics Types (CC, LCOM, RFT…).
Some optimization and refactoring of source code.
|
| Version | 1.2.0 |
| Date | 13 may 2004 |
| Description | New metrics concerning IL instructions (Total IL inst…).
Analyse of optimal visibility and uselessness of a type or a member.
Analyse at IL instruction level (thanks to ILReader from Lutz Roeder)
Complete refactoring of source code.
|
| Version | 1.1.0 |
| Date | 28 apr 2004 |
| Description | Drawing components dependencies diagram (thanks to Jonathan de Halleux). Enhanced Application statistics (std dev…)
|
| Version | 1.0.0 |
| Date | 26 apr 2004 |
| Description | Initial public release. |
|
|
Last Product Update:
April 26, 2008
NDepend 2.8.1
NDepend Partners
Featured customers:
NDepend is built on top of:
Cecil
QuickGraph
GraphViz
DXperience
NDepend integrates with:
VisualStudio
Reflector
MSBuild
NAnt
CruiseControl.NET
|
|