Visual Lint 2.5 was first released in February 2010, superseding Visual Lint 2.0. As a minor update, it also accepts existing per-user Visual Lint 2.0 licences; Visual Lint 1.x licences must however be upgraded to work with this version.
The following changes were included:
Added support for Visual Studio 2010.
Added support for MSBuild properties (e.g. MSBuildToolsPath) introduced in the VS2010 RC. [VS2010][220.127.116.11]
Added support for the IntDir, OutDir and ConfigurationType properties in .vcxproj project files. [VS2010][18.104.22.168]
VS2010 project file properties (e.g. UseOfATL and UseofMFC) which have been renamed by Microsoft between VS2010 Beta 2 and RC are now correctly loaded. [VS2010 RC][22.214.171.124]
Improved the parsing of .vcxproj (VS2010) project files to support changes to the structure of .vcxproj files between VS2010 RC and RTM. [126.96.36.199]
When a Visual C++ 2010 project (.vcxproj) file is parsed, the contents of each configuration are no longer read automatically. Instead, they are loaded on demand when the contents of the configuration is requested, which can significantly speed up the loading of complex projects. [VS2010][188.8.131.52]
Added support for the Visual C++ CL environment variable. Any compiler options contained in this variable will now be reflected in the contents of project indirect files. [VS2002-VS2010][184.108.40.206]
Added support for the Visual C++ INCLUDE environment variable. If Visual Studio is invoked with the /UseEnv option, the contents of this variable will be written as -i directives to project indirect files. Note that for this to work correctly, a custom std.lnt file which does not specify the global include folder configuration must be used for the solution concerned. [VS2002/2003/2005/2008/2010][Visual Lint Enterprise Edition][220.127.116.11]
Added support for forced include project properties in Visual C++ 2002-2010 project (.vcproj and .vcxproj) files. [VS2002/2003/2005/2008/2010][18.104.22.168]
Added support for forced include project properties specified in inherited property sheet (.vsprops) files. [VS2002/2003/2005/2008][22.214.171.124]
Added support for forced include project properties containing Visual Studio environment variables. [VS2002/2003/2005/2008/2010][126.96.36.199]
Modified the Configuration Wizard and project indirect file writer to automatically generate PC-lint "-save -e686" directives if a bracket is found within an include folder specification. This avoids erroneous occurences of Warning 686 ("Option 'String' is suspicious because of...\") when PC-lint encounters an include directive containing brackets. [188.8.131.52]
Revised the project loading sequence to avoid reading project files a second time to generate PC-lint project indirect files. Note that this optimisation has an effect only when a new project indirect file needs to be written. [184.108.40.206]
Removed support for Visual Lint Free Edition. Available product editions in Visual Lint 2.5 are Standard, Professional and Enterprise Editions.
Corrected a bug in the code used in the installer to detect whether a trial licence is available.
Revised copyright dates in the installer etc. to "2004-2010".
Added Visual Studio 2010 Beta 2 to the list of supported IDEs in the readme file packaged within the installer.
Added Windows 7 to the list of supported operating systems in the installer Readme text and Getting Stated Guide.
Various minor updates to the Getting Started Guide.
The Visual Lint installer now adds a shortcut to the Getting Started Guide to the Start Menu.
When an expired trial installation is uninstalled, an uninstallation feedback page is now displayed.
Trial started/ended and Uninstall feedback request pages are now opened with a query string giving details of the product/OS version etc.
Corrected a bug in the remove commands sequence during uninstallation.
Minor updates to the Getting Started Guide. [220.127.116.11]
If an MSXML4 installation is not detected, an error message is now written to the Status View. [18.104.22.168]
Updated the theme in the installer Updates Wizard to match the main installation. [22.214.171.124]
When a Visual C++ project file is parsed, the default settings for for-loop compliance (false for VS2002/2003; true for VS2005/2008/2010) and C++ exceptions (always true) are now set correctly.
Added limited support for the $(TargetDir) variable within project configurations by aliasing it to $(OutDir). [VS2002/2003/2005/2008]
Issue category export files generated by Visual Lint are now formatted in a human readable form. [Visual Lint Professional and Enterprise Editions]
Project specific analysis configuration (.vloptions) files are now formatted in a human readable form. [Visual Lint Enterprise Edition]
Added support for "Post Analysis" Events to the Advanced Solution Configuration dialog. When enabled, the specified application will be run when the analysis of a solution completes. This setting is defined on a per solution basis and persisted to the corresponding .vloptions file stored in the solution folder.
For loop compliance settings are now read from project files and written to the corresponding project indirect files directly where possible. As a result, the "for loop compliance" option on the "Command Line" page is now used only when Visual Lint has been configured to allow PC-lint to write project indirect files.
Minor corrections to the analysis results parser.
The scheduler no longer attempts to populate the analysis queue if an analysis tool has not yet been defined.
Analysis tasks (and in particular IncrediBuild analysis tasks, which often deal with high volumes of data) now respond to shutdown requests faster.
The IncrediBuild post-task analysis results processing timeout can now be configured via a registry entry (HKCU\Software\Riverblade\Visual Lint\Settings\Analysis\IncrediBuild).
Added "tuning" options relating to analysis (both IncrediBuild and local) to the "Diagnostic" options page.
For diagnostic purposes, the contents of the "Visual Lint Status" pane in the Output Window are now logged to the folder CSIDL_COMMON_APPDATA\Riverblade\Visual Lint. Logfiles are automatically deleted after 30 days.
Manual analysis tasks are now (correctly) run at normal priority to ensure that they take priority over background analysis tasks. [126.96.36.199]
Added details of excluded and stale files to the solution analysis status message published in the "Visual Lint Status" pane in the Output Window. [188.8.131.52]
Added -vm to the PC-lint analysis command line so that the PC-lint module header ("--- Module: <filename> (<language>)" - required to support whole project analysis) is always present in the analysis results, even if -v is present in the analysis configuration. [184.108.40.206]
If a PC-lint environment file is not specified within the analysis configuration, a PC-lint -width(0) directive is now injected into the generated command lines to assist in parsing the raw PC-lint output. [220.127.116.11]
When licence key data is pasted into the first (registered user) edit control in the Registration Key Dialog, it is now parsed to determine if the data extends over multiple lines. If so, the second non-empty line of text is automatically entered into the licence key control.
Added a "Host IDE/toolchain" drop list to the "PC-lint" options page. Although this is always disabled when hosted in most environments, it will soon be required to support multi-targetting in Visual Studio 2010, as well as for some non-Visual Studio environments.
Added a "View History" button to the Analysis Status Display. Minor improvements to the corresponding "View Analysis History" context menu command.
Added a "Do not ask me again" option to product edition prompts in registered installations and to the Manual Analysis save prompt.
The elapsed time indicator on the Manual Analysis Dialog is now hidden until the first update.
The confirmation text shown after a key is entered now shows the actual name of the host, not just "Visual Studio".
Removed the old "one click activate" display option in the Analysis Status Display.
Corrected the file filters used for the File Open dialogs in the Advanced Solution Configuration dialog.
A Visual Lint icon is now displayed in the Visual Studio splash screen. [VS2002/2003/2005/2008]
Corrected "PC-Lint" to "PC-lint" throughout.
Renamed the "Visual C++" options page to "PC-lint" for clarity.
The Operating System version is now recorded in the Status View on startup. [18.104.22.168, 22.214.171.124]
When an IncrediBuild analysis task completes, HTML reports are now only updated if the "AutoRefreshReports" option is active. [Visual Lint Enterprise Edition][126.96.36.199]
The "Further information" link adjacent to the "Use IncrediBuild" control on the "Analysis" options page now links to the Visual Lint/IncrediBuild case study on the Xoreax website rather than the homepage. [188.8.131.52]
Minor revisions to the stylesheets used to generate HTML reports.
Changes to the method used to generate file and project reports during Incredibuild analysis, for efficiency.
Added the name of the licenced user to the footer of generated reports.
Corrected a crash which could occur on IDE shutdown if reports had been generated during a session. The crash was caused by a COM threading model related bug in a third party component (TeeChart.ocx). [Visual Lint Enterprise Edition]
Fixed a potential crash when a project is unloaded.
When a project is added to or removed from the workspace in Visual C++ 6.0 or eMbedded Visual C++ 4.0, the displays and analysis queue are now updated correctly when the workspace file is saved.
If a single project is loaded without a solution under Visual Studio .NET 2002 or later, the active project configuration will now be loaded correctly.
The "Projects" droplist in the Analysis Status Display now correctly updates the icon of a project when its"Enable Background Analysis" property is toggled.
The Analysis Status Display is now correctly populated by the solution load task if an analysis tool has not yet been defined.
Analysis Status Display context menu commands which are not functional while a project is loading are now disabled if such a project is selected.
Corrected the visual display of the droplists in the Analysis Results and Analysis History displays (the text '--- All projects ---' was previously being cut into mid-way by the current analysis status of the project).
Visual Lint now uses a single COM container interface to support all IDEs. In consequence, when registered from the "Customize" dialog in Visual C++ 6.0 or eMbedded Visual C++ 4.0, the other COM interfaces within the add-in will no longer be listed in the dialog as possible add-ins (this is a workaround for a bug in legacy versions of Visual Studio). [VC6/eVC4]
The "Use IncrediBuild" command handler no longer unnecessarily checks whether xgconsole (the IncrediBuild XGE interfaces console interface) is available when switching to local analysis tasks.
Corrected a bug which affected the analysis of projects with names containing illegal filesystem characters.
Corrected a bug in the handling of user macros within Visual Studio property sheet (.vsprops) files. [VS2002/2003/2005/2008]
Corrected a bug in the handling of solution files located by UNC paths.
Corrected a bug in the VS2010 integration which was preventing the Visual Lint toolbar from being displayed by default the first time the IDE is loaded after installation. [VS2010]
Corrected a bug affecting the "one .vloptions file per project" option in the Advanced Solution Configuration Dialog. [Visual Lint Enterprise Edition]
Fixed a bug in the handling of files within projects which are excluded from analysis. [184.108.40.206]
Fixed a bug in the parsing of MsBuild project files which do not explicitly specify the name of a project. [VS2010][220.127.116.11]
$(NoInherit) and $(Inherit) macros found within Visual Studio project files and property sheets should now be correctly processed. [VS2002/2003/2005/2008][18.104.22.168]
$(NoInherit) or $(Inherit) macros found in project settings are now stripped from generated project.lnt files. [22.214.171.124]
For Loop compliance is now correctly defined when specified in a Visual Studio property sheet (.vsprops) file. [VS2002/2003/2005/2008][126.96.36.199]
MsBuild property sheet user macros should now be correctly processed. [VS2010][188.8.131.52]
Property sheets specified as relative filenames in a .vcxproj project file should now be parsed correctly. [VS2010][184.108.40.206]
Fixed a bug which was preventing analysis tasks from being reliably aborted when a file was saved. This fixes a file locking issue in the IDE. [VS2005/2008/2010][220.127.116.11]
Fixed a crash which occurred if an incorrectly formed command line was written to the Status View. [18.104.22.168]
Added a workaround for a bug in Visual Studio 2010 RTM which prevents pages being reliably displayed in the IDE internal browser. [VS2010][22.214.171.124]
Fixed a potential crash in the parsing of Visual Studio 2010 C++ project (.vcxproj) files. [126.96.36.199]
Fixed a bug in the "PC-lint" Options page affecting some Visual Studio 2010 installations. [VS2010][188.8.131.52]
Fixed a bug in the parsing of .vcproj project files which prevented a project from overriding a for loop compliance setting inherited from a property sheet (.vsprops) file. [VS2002/2003/2005/2008][184.108.40.206]
Added workarounds for various bugs in the automation interfaces of Visual Studio 2010. [VS2010][220.127.116.11]
Inherited property sheets specified using system environment variables are now parsed correctly in Visual C++ .vcproj project files. [VS2002/2003/2005/2008][18.104.22.168]
If a filename in a Visual C++ project contains environment variables, it will now be expanded when the file is parse.d [VS2002/2003/2005/2008][22.214.171.124]
Fixed the PC-lint analysis results parser to strip leading and trailing whitespace from source file pathnames. [126.96.36.199]
Fixed issues in the parsing of RuntimeLibrary properties within Visual C++ 2010 (.vcxproj) project files. [VS2010][188.8.131.52]
Desensitised the Visual C++ project (.vcproj) file parser to doubled path delimiters in folder paths used to load inherited property sheet (.vsprops) files. [VS2002/2003/2005/2008][184.108.40.206]
Fixed a bug in the processing of IncrediBuild generated analysis results which could cause the results for some tasks to be truncated under certain circumstances. [Visual Lint Enterprise Edition][220.127.116.11]
Fixed a bug in the loading of XML project files using UTF-8 encoding. [VS2010][18.104.22.168]
Fixed a regression in the Visual C++ project (.vcproj) file reader which could cause include paths containing environment variables to be expanded incorrectly in some circumstances. [22.214.171.124]
Fixed a bug in the handling of configuration specific environment variables with inherited property sheet (.vsprops) files. [VS2002/2003/2005/2008][126.96.36.199]
Fixed a bug in the handling of UNC paths. [188.8.131.52]
Fixed a bug in the IncrediBuild integration which could cause extra line breaks to be recorded within the body of individual analysis issues. [184.108.40.206]
Files defined in Visual C++ project files using configuration dependent environment variables are now handled correctly. [VS2002/2003/2005/2008/2010][220.127.116.11]
Fixed an unhandled COM exception while loading some solutions containing C# project files. [VS2010][18.104.22.168]