Riverblade - Visual Lint Version History


Visual Lint Version History

 

Version 4.5.4.227 (25th July, 2014)

  • Added support for the analysis of Atmel Studio 6.2 projects.
     
  • Added support for the analysis of Altera Nios II EDS Eclipse projects.
     
  • Added support for the analysis of NVidia CUDU C/C++ files (i.e. those with .cu and .cuh file extensions).
     
  • If a Visual Studio PCH generation file (e.g. stdafx.cpp) is excluded from analysis, a per-file analysis of the project will automatically fall back on non-PCH analysis.
     
  • If the generation of a PC-lint .lph (precompiled header object) file fails the remaining files within that project will now be analysed using non-PCH analysis.
     
  • When a property (e.g. preprocessor symbols) within a Visual Studio project is changed the Visual Studio plug-in will now detect the change when the project file is saved.
     
  • The _TCHARMapping property is now read when parsing CodeGear C++ projects.
     
  • Fixed a potential bug in the display state of toolwindows within the Visual Studio plug-in during the startup of the IDE.
     
  • Fixed an intermittent crash which could occur when the "Global Display Filter" context menu commands in the displays were executed.
     
  • Updated the company office address in the helpfile.
     

 

Version 4.5.3.225 (12th May, 2014)

  • Fixed a bug in the Analysis Results Display which caused analysis results to remain displayed after a "Delete Analysis Results" operation.
     
  • When VisualLintGui reloads a file in response to an external change any code editor markers will now also be reloaded.
     
  • The current selection will now be preserved when VisualLintGui reloads a file in response to an external change.
     
  • If the configuration to analyse is not specified on the command line, VisualLintConsole will now choose one.
     
  • Fixed a project naming bug in the Green Hills project file parser.
     

 

Version 4.5.2.223 (31st March, 2014)

  • When a Visual Studio solution is loaded, its version is now determined by the projects within it rather than its own version fields. This is necessary as in some cases when Visual Studio 2012/2013 converts a solution it does not update the version of the solution file.
     
  • If a Visual Studio solution contains projects for other versions of Visual Studio (e.g. a VS2013 solution with VS2012 and VS2010 projects), the version of each project will now be taken into account when determining which PC-lint indirect files to use.
     
  • The "Configure for" combobox in the Config Wizard "Analysis Tools" page and Options Dialog "PC-lint" page is no longer read-only in the Visual Studio and Eclipse plug-ins.
     
  • Fixed an analysis results caching issue which could affect memory usage in solutions/workspaces with a large volume of analysis results.
     
  • Added support for Green Hills project files with nested subprojects.
     
  • Fixed a potential crash when Visual Lint was turned "On" in the Visual Studio or Eclipse plug-ins via the "Product Enable" command on the toolbar.
     
  • Corrected the text of the VisualLintConsole help screen (the documentation for /excludeproject was missing a delimiter).
     
  • Added statusbar prompts and tooltips respectively to those VisualLintGui main menu and toolbar commands respectively which did not have them.
     
  • Updated the VisualLintConsole copyright notice.
     

 

Version 4.5.1.221 (21st February, 2014)

  • Added an "Open <include file>" command to the VisualLintGui code editor context menu.
     
  • Added "Copy Full Path" and "Open Containing Folder" commands to the Analysis Status Display context menu.
     
  • Added an accelerator for the "Perform Manual Analysis" command in the Analysis Status Display context menu.
     
  • The "Copy to clipboard" and "View Analysis History" commands in the Analysis Status Display context menu are now correctly disabled when no solution is open.
     
  • Removed the erroneous "Display Filter | Show only issues with this ID" command from the Analysis Status Display context menu.
     
  • When the active display filter is changed any code editor markers present in open source files will now be refreshed.
     
  • The "MISRA Rule" column in the Analysis Results Display is now (correctly) available in Visual Lint Professional Edition and above.
     
  • The Visual Studio and Eclipse plug-ins now monitor files within the loaded solution/workspace in the same way as VisualLintGui.
     
  • When a solution/workspace is loaded, the path which will be monitored for subsequent file changes now takes into account the locations of the projects within it.
     
  • Removed the "Detect externally changed files" option from the VisualLintGui "Editor" Options page. This behaviour is now always enabled.
     
  • When VisualLintConsole determines that the analysis of a solution/workspace has been completed, it will now wait until any project include dependency tasks have completed before exiting to ensure that any files which should be marked as stale will also be reanalysed.
     
  • Fixed a bug which prevented the Message Lookup Display from being configured correctly in x64 builds of the Eclipse plug-in.
     
  • VisualLintGui now declares itself as DPI aware to prevent DPI virtualization.
     
  • Fixed a bug which was causing the "Auto-select Project" checkbox in the Analysis Status Display to be incorrectly sized in Visual Studio 2010, 2012 or 2013 on systems with a high DPI setting.
     
  • Corrected the title of the "Visual Lint 4.5" help topic to "What's new in Visual Lint 4.5?".
     
  • Corrected the text of the "What's New" help topic.
     

 

Version 4.5.0.218 (18th January, 2014)

Visual Lint 4.5 is the latest version of Visual Lint, superseding Visual Lint 4.0.

As a minor update, it will also accept existing per-user Visual Lint 4.0 licences; Visual Lint 1.x, 2.x and 3.x licences must however be upgraded to work with this version.

 

Host Environments:
  • The Eclipse plug-in now shows the correct version in the "About Eclipse Platform Plug-ins" dialog within the IDE.
     
  • Renamed the Eclipse plug-in file (formerly com.riverblade.visuallint.jar) to differentiate between 32 bit (com.riverblade.visuallint.win32_x86.jar) and 64 bit (com.riverblade.visuallint.win32_x86_64.jar) builds.
     
  • Added support for Green Hills MULTI projects to VisualLintGui and VisualLintConsole.
     
  • Added support for the analysis of Analog Devices VisualDSP++ 4.0/5.0 projects to VisualLintGui and VisualLintConsole.
     
  • The Eclipse plug-in now writes status text to the Status Bar where appropriate.
     
  • When a project file within the solution/workspace source tree is changed externally, VisualLintGui will now prompt to reload it. If VisualLintGui is minimised it will flash its window on the taskbar and delay showing the prompt(s) until it is restored.
     
  • Accelerated the loading of Eclipse workspaces.
     
Installation:
  • The readme and licence files within the installer now show the full build version (e.g. "4.5.0.218") rather than just the major/minor version.
     
Configuration:
  • Tweaked the layout of PC-lint include folder (-i) and library folder (+libdir) directives within generated project indirect ("project.lnt") files for improved readability.
     
Analysis:
  • The Analysis Status Display "Delete Analysis Results" command no longer regenerates the analysis queue. As a result, any active analysis tasks not directly affected by the operation will no longer be interrupted.
     
  • The FxCop /gac ("Search Global Assembly Cache for missing references") option is now enabled on the FxCop command line by default. If required, it can be disabled from the new FxCop Configuration Dialog.
     
User Interface:
  • Added a "Show only issues with this ID" command to the Analysis Results Display context menu.
     
  • Added "Show all issues with this ID", "Hide all issues with this ID" and "Reset Display Filter" context menu commands to the Analysis Statistics Display context menu.
     
  • Duplicated analysis issues are now always filtered out. Removed the "Filter out duplicated issues" option on the Options Dialog Displays page in consequence.
     
  • Added optional "Rule" columns (shown or hidden via context menu commands in the two displays) to the Analysis Results and Statistics Displays for use with PC-lint MISRA analysis. Note that the contents of these columns will only be populated when the solution/workspace is reanalysed - thereafter the mapping between PC-lint message no. and MISRA rules will be cached in the registry.
     
  • When the Configuration Wizard is used to configure for PC-lint analysis, the new "Rule" columns in the Analysis Results and Statistics Displays are shown or hidden depending upon whether one of the MISRA indirect files (au-misra.lnt etc.) is referenced within the PC-lint analysis configuration.
     
  • Category issue assignments can now be changed while a solution/workspace is open.
     
  • Added an "Ignore issues in system header files" option to the CppCheck Analysis Configuration Dialog.
     
  • When the Eclipse plug-in is started it now correctly prompts to run the Configuration Wizard if necessary.
     
  • Double clicking on the name of an indirect file in the Configuration Wizard PC-lint library configuration or PC-lint author recommended checks pages now correctly selects or deselects it.
     
  • The "Find" control within the VisualLintGui "Find/Replace" dialog is now pre-filled with the selected text (or, if there is no selection, the word nearest the cursor) within the code editor.
     
Commands:
Reports:
  • Added an optional "Rule" column to file analysis reports for use with PC-lint MISRA analysis. Note that this column will only be shown if the solution/workspace is reanalysed if the MISRA "Rule" column is shown in the Analysis Results and Statistics Displays.
     
  • Added support for PC-lint MISRA rules to CSV and user defined exported data formats (the latter via the new $(Rule) variable).
     
Bug Fixes:
  • Reduced the memory usage of VisualLintConsole when the /exportformat switch is used to export large data sets.
     
  • Fixed a dialog parenting issue in the Eclipse plug-in.
     
  • The "Back" button in the Configuration Wizard "PC-lint Warning Level" page now correctly returns to the "PC-lint author recommended checks" page.
     
  • The variable $(SolutionExt) is now expanded while parsing Visual C# (.csproj) project files.
     

 

Version 4.0.11.216 (19th December, 2013)

  • Fixed a bug in the parsing of Visual C++ 2013 project (.vcxproj) files which could cause the system include folders to be read incorrectly.
     
  • When parsing Visual C++ 2010/2012/2013 project (.vcxproj) files, duplicated <ClInclude> entries for source files are now detected and filtered out.
     
  • Fixed a bug in the expansion of the Visual Studio 2008 $(FrameworkSDKDir) variable. Other versions of Visual Studio are unaffected.
     

 

Version 4.0.10.214 (22nd November, 2013)

  • Fixed a bug which could cause a crash in x64 builds of the Eclipse plug-in.
     
  • Fixed a crash in the "Issues" page of the Category Properties dialog.
     
  • Fixed a bug in the Analysis Results Display "View Analysis Report" command.
     

 

Version 4.0.9.212 (30th October, 2013)

  • Fixed a bug in the Visual Studio 2012 .vcxproj project file parser which caused a freeze when loading projects which referenced masm.targets.
     
  • Fixed a bug in VisualLintConsole which could cause a "visual Lint cannot analyse files until it has been configured" message to be erroneously displayed in some circumstances.
     
  • When a header file is saved and other files are marked as "Stale" as a result, the Analysis Status Display is now updated only once rather than on an item by item basis.
     
  • Modified VisualLintConsole to allow the root folder of an Eclipse workspace to be correctly recognised (previously the path to the .metadata folder had to be specified).
     
  • Disabled inline code editor markers by default in the Visual Studio plug-in as they can cause legibility issues with Visual Studio themes. If required they can be re-enabled from the "Display" Options page.
     
  • Updated the Visual Studio plug-in where necessary to refer to "Visual Studio 2013" rather than "Visual Studio 12.0".
     
  • Updated the PC-lint co-msc120.lnt (Visual Studio 2013) indirect file to reflect the changes recently made to co-msc110.lnt.
     
  • Added details of PC-lint 9.00k messages 170, 171, 333, 1116, 1117, 1118, 1119, 1915, 9054, 9055, 9056, 9057, 9058, 9059, 9060 and 9066 to the PC-lint 9.0 message database. Also updated the entries for 686, 960, 1009, 1105, 1107, 1108, 1111, 1960, 1963, 9015, 9036, 9041 and 9050 and removed the entry for 9002 (which was removed from the documentation in the public build of 9.00k).
     
  • Added -elibsym(*) to the rb-win32-pclint8.lnt PC-lint indirect file as doing so prevents most spurious MISRA issues from being raised in system include files. To make use of this file, ensure that lib-rb-win32.lnt is referenced in your std.lnt indirect file.
     
  • Updated various other PC-lint indirect files as a result of the public release of PC-lint 9.00k.
     
  • Minor updates to the online help and VisualLintConsole help screen.
     

 

Version 4.0.8.210 (30th September, 2013)

  • Reduced the memory usage of VisualLintConsole when the /exportformat switch is used to export large data sets.
     
  • Duplicate issues are now filtered out from the Analysis Results Display "All files" view.
     
  • Column widths in the Analysis Status, Results, Statistics and History Displays are now persistent, with the rightmost column autosized to fit the width of the control.
     
  • The CppCheck analysis results parser can now recognise issues of the form "cppcheck: warning: Couldn't find path given by -I '<path>'".
     
  • Fixed a bug which could cause include directives for an unexpanded environment variable (%IncludePath%) to be used in the analysis configuration for a Visual Studio 2010/2012/2013 project.
     

 

Version 4.0.7.208 (27th August, 2013)

  • Added details of PC-lint 9.00k messages 483, 484, 485, 598, 1419, 9001-9009, 9011-9039 and 9041-9054 to the PC-lint 9.0 message database. Also updated the entries for 446 and 1111.
     
  • Added the PC-lint indirect file misra3.lnt (MISRA 2012) to the installer and and updated misra-cpp.lnt to reflect changes to PC-lint 9.00j1.
     
  • Modified the internal definition of the VERA_ROOT environment variable for compatibility with Vera++ 1.2.1.
     
  • Fixed a bug in the sorting of the "Issue count by ID" table within HTML reports.
     
  • Fixed a bug parsing malformed PC-lint issues of the form: (0): Issue <number>: (<category> -- <text>)
     
  • Fixed a bug in the VisualLintConsole analysis results export which affected the SATE XML format (/exportformat=SATE).
     
  • When a file is saved, a background thread is now used to mark any affected files as stale.
     
  • The Analysis Results Display "Go to Reference" context menu command now works correctly if display filters are active.
     
  • The Analysis Statistics Display now works correctly with inverted (i.e. "show only issues with these IDs") display filters.
     
  • Added a common controls manifest to VisualLintConsole. As a result, visual styles will now be used where available for any user interface elements it displays.
     

 

Version 4.0.6.206 (6th August, 2013)

  • Added support for the insertion of CppCheck inline suppression directives (e.g. // cppcheck-suppress variableScope) from the Analysis Results Display context menu.
     
  • VisualLintConsole now allows the /includefile, /excludefile, /includeproject and /excludeproject switches to be used to determine which projects or files to analyse based on wildcards specifying their location relative to the solution/workspace (or project if analysing a standalone project) rather than just the filename.
     
  • The Message Lookup Display now remembers the last displayed issue definition when hosted in VisualLintGui.
     
  • The Message Lookup Display now uses the same font settings irrespective of whether running in VisualLintGui, the Eclipse plug-in or the Visual Studio plug-in.
     
  • The Analysis Status Display now updates the status of projects while loading.
     
  • The "Insert Directive" command on the Analysis Results Display context menu is now disabled if the selected issue has no source file or line number.
     
  • Fixed a bug in the sorting of Analysis Status Display items for excluded files/projects.
     
  • Fixed a bug in the Analysis Results Display context menu when hosted in VisualLintGui.
     
  • Fixed a bug in the Eclipse plug-in which was preventing Visual Lint commands on the Project Explorer context menu from correctly determining the active project.
     
  • Fixed a bug in the parsing of Visual Studio 2012 projects using the v110_xp platform toolset.
     
  • Fixed a bug in the parsing of Atmel Studio 6.1 GCC projects.
     
  • Raised the maximum number of analysis threads in the Analysis Options page from 10 to 16.
     
  • After installation of the Eclipse plug-in, the installer now runs eclipse.exe with the parameters "-clean -initialize -nosplash" in order to ensure that any changes in plug-in commands etc. are recognised by the IDE.
     
  • Updated the version of TeeChart8.ocx packaged within the installer to 8.0.1.3.
     
  • Various updates to help topics.
     

 

Version 4.0.5.204 (9th July, 2013)

  • Added preliminary support for Visual Studio 2013.
     
  • Added support for the analysis of Atmel Studio 6.1 projects to VisualLintGui, VisualLintConsole and (if registered manually) the Visual Studio plug-in.
     
  • Added support for CodeVisionAVR project (.prj) files to VisualLintGui and VisualLintConsole. CodeVisionAVR projects can be analysed standalone, or via an Atmel Studio 6.1 project generated by the CodeVisionAVR plug-in.
     
  • When parsing Atmel Studio 6.0 AVR GCC projects, the compiler is now queried directly for details of the preprocessor symbols and system include folders to use.
     
  • Fixed a bug in the Visual Studio plug-in which was preventing Visual Lint commands from being added to the Solution Explorer context menu in Visual Studio 2012 and 2013. The bug was caused by a breaking change in the Visual Studio EnvDTE::UIHierarchy interface.
     
  • Fixed a bug in the processing of analysis results generated using an IncrediBuild XGE grid.
     
  • Fixed a bug in the VisualLintConsole /exportformat switch which affected issue export format template files.
     
  • Fixed a bug in the parsing of analysis results generated by the FindBugs Java analysis tool.
     
  • Fixed a minor bug in the parsing of CppCheck analysis results which do not include a line number.
     
  • Desensitised the Analysis Results Display "Go to source" command to source file pathnames which contain unnecessary "..\" or ".\" sequences.
     
  • The Configuration Wizard "Library Configuration" and "Author Recommendations" pages no longer require you to select at least one indirect file before continuing.
     
  • Corrected the banner text for std.lnt PC-lint indirect files written by the Configuration Wizard.
     
  • Converted the PC-lint 8.0 and 9.0 message database files packaged within the Visual Lint installer from Access to SQLite.
     
  • Various updates to help topics.
     

 

Version 4.0.4.202 (30th May, 2013)

  • Optimised the loading of solutions and workspaces to eliminate the need to parse solution or project files more than once during the loading process. This issue primarily affected the loading of Eclipse workspaces..
     
  • Added support for the analysis of QNX Momentics projects to VisualLintGui, VisualLintConsole and the Eclipse plug-in.
     
  • Added support for makefiles using the QNX C/C++ compiler (qcc.exe).
     
  • Added support for makefiles where the compiler location is explicitly specified rather than located via the system path.
     
  • Built-in compiler preprocessor symbols are now automatically included in the analysis configuration for makefile projects using GCC based compilers.
     
  • When a .vlconfig file is written, an "Analyse" attribute based on the current user selection is now written for all projects irrespective of whether each project is selected for build.
     
  • Improved the method used to determine which project configurations to load given an active workspace/solution configuration (this change primarily affects environments such as Eclipse, Visual C++ 6.0 and eMbedded Visual C++ 4.0 which do not expose a defined mapping between solution/workspace and project configurations).
     
  • Fixed a crash which could occur if a project was unloaded/closed while the solution/workspace was still loading.
     
  • Fixed a bug in the Visual Studio 2010/2012 project (.vcxproj) file parser which affected project files which use $(MSBuildProjectDirectory) to reference the location of an external property (.props) file.
     
  • Fixed a bug which could prevent details of system includes for GNU makefile projects from being written to generated PC-lint project indirect files.
     
  • Fixed a bug in the display of analysis issues (e.g. PC-lint message 457) which do not include source file information.
     
  • Updated the contents of the PC-lint 9.0 co-gcc.h header file within the installer to match that available on the PC-lint 9.0 patch page.
     
  • Added stub PC-lint 9.0 size-options.lnt and gcc-include-path.lnt indirect files to the installer to make using the co-gcc.lnt indirect file a little easier.
     
  • Updated the documentation for PC-lint messages 166, 510, 516, 829, 1009, 1085, 1962 and 1963.
     
  • Added documentation for PC-lint message 142 ("case constant 'String' used previously in this switch").
     
  • The 32 bit build of the Eclipse plug-in is now built with Java 1.5 for compatibility with QNX Momentics 4.7.
     

 

Version 4.0.3.200 (1st May, 2013)

  • VisualLintConsole can now export analysis results data in user defined formats specified using an external configuration file. See the Command line options page in the product documentation for details of the format of these files.
     
  • Duplicated analysis issues are now filtered out from the data written to export files written by VisualLintConsole using the /exportfile switch.
     
  • Various modifications for compatibility with solutions (e.g. the WDK "Toaster" sample) in which two projects share the same name.
     
  • The "Category" column in the Analysis Statistics Display is now (correctly) sorted by the severity associated with each issue category rather than alphabetically by the name of each category.
     
  • Fixed a bug which could cause a crash when a project or file with an active analysis task was unloaded or removed from a solution.
     
  • Fixed a bug in the querying of available CppCheck analysis issues via the --errorlist switch.
     
  • Fixed a bug in the implementation of the VisualLintConsole /showcmdlines switch.
     
  • Fixed a bug in the Analysis Statistics Display which manifested when using the CppCheck analysis tool.
     
  • Fixed a bug which caused unnecessary display updates when when checking or unchecking multiple selected items in the Analysis Statistics Display using the spacebar.
     
  • Fixed a bug in the storage of analysis results which affected the analysis of Eclipse workspaces using multiple analysis tools.
     
  • Various updates to help topics.
     

 

Version 4.0.2.198 (14th March, 2013)

  • Added support for projects using the Windows Driver Kit 8 (WDK) platform toolset.
     
  • Modified the Visual Studio plug-in to guard against EnvDTE::ProjectAdded() events sourced by Visual Studio 2012 (but not earlier versions) while loading a solution.
     
  • Fixed a bug parsing Visual C++ 2010/2012 projects which use the MSBuild <ClCompile> elements with more than one file listed in the "Include" attribute. The bug manifested in the "Toaster" sample from the WDK.
     
  • Fixed a bug in the parsing of project .location> files within Eclipse workspaces.
     
  • Fixed a bug in the parsing of Eclipse project files containing linked resources whose location is specified by URI.
     
  • Fixed a bug in the handling of Eclipse project closed events.
     
  • Further optimisations in the loading of Eclipse workspaces containing closed projects.
     
  • Added the ability to detect file save events to the Eclipse plug-in.
     
  • Fixed a bug in which a saved file was not queued for analysis because the solution analysis status was previously "Complete" and the analysis queue had not been started.
     
  • Fixed a bug in the PC-lint analysis results parser which could cause source code extracts to be mistaken for analysis issues in rare cases.
     
  • Fixed a bug in the generation of solution analysis reports.
     
  • Minor updates to the helpfile.
     
  • Added Windows 8 to the list of supported IDEs listed in the readme file packaged within the installer.
     

 

Version 4.0.1.196 (11th February, 2013)

  • Modified the Visual Studio plug-in to guard against erroneously duplicated EnvDTE::SolutionEvents::Opened() events sourced by Visual Studio 2012. These caused an obscure race condition during the solution load process, which could obviously cause instability or unpredictable behaviour while Visual Studio was loading a solution.
     
  • The Eclipse plug-in now checks the open/closed status of each project when the workspace is loaded. Closed projects will be treated in the same way as unloaded projects in the Visual Studio plug-in - i.e. a message will be written to the Status View and the project will not be loaded. If a project is subsequently opened, it will be loaded at that point. Likewise, if a project is subsequently closed it will be unloaded by Visual Lint.
     
  • VisualLintConsole now validates configuration names before attempting to proceed with the analysis.
     
  • Fixed a bug in VisualLintConsole which could cause duplicated configurations to be listed when the /config? switch was used with an Eclipse workspace.
     
  • Fixed a bug in the implementation of the VisualLintConsole /includeproject, /includefile, /excludeproject and /excludefile switches.
     
  • Fixed a bug in the persistence of filename data to Analysis Configuration (.vloptions or .vlconfig) files.
     
  • Updated the "Upgrading from earlier versions of Visual Lint" topic in the helpfile.
     
  • Updated the documentation of the VisualLintConsole /includeproject, /includefile, /excludeproject and /excludefile switches in the helpfile.
     
  • Updated copyright notices in the helpfile and various installed files.
     

 

Version 4.0.0.194 (8th January, 2013)

 

Host Environments:
  • Added the standalone Visual Lint application (VisualLintGui) to the installer as an optional component. In addition to the project types supported by the existing Visual Studio or Eclipse plug-ins, VisualLintGui can also analyse projects for environments such as CodeGear C++ Builder for which a dedicated Visual Lint plug-in is not currently available.
     
  • Added support for x64 builds of Eclipse to the Eclipse plug-in.
     
  • Added support for Visual Studio 2012 themes to the Visual Studio plug-in.
     
  • Added support for Atmel Studio 6 to the Visual Studio plug-in. Note that the plug-in is not yet registered with this development environment by the installer, so this must be done manually. Atmel Studio 6 projects can also be analysed using both VisualLintConsole and VisualLintGui.
     
  • Added support for CodeGear C++ Builder XE3 (.cbproj) project files.
     
Installation:
  • Added the ability to install a licence key from a (Unicode or ANSI) text file containing the new licence key during the installation process. This allows licence keys containing non-ANSI characters to be deployed during a silent installation.
     
  • Removed the obsolete "Getting Started Guide".
     
  • Added several custom PC-lint indirect files (including support files for CodeGear C++ Builder, Atmel/AVR Studio and the library "tuning" indirect file lib-rb-win32.lnt) and their dependencies to the installer. Generated PC-lint command lines automatically include a -i directive referencing this folder, so you should not need to copy the installed files to your PC-lint installation folder to make use of them.
     
  • Visual Lint now includes a subset of the indirect files from the PC-lint distribution by kind permission of Gimpel Software. Visual Lint injects a -i directive for the folder containing these files onto the command line, so that any indirect files not present within your PC-lint installation will be found there instead. To override the behaviour of any file within this folder, save a customised copy within your PC-lint installation and PC-lint will use it in preference.
     
  • Updated the manifest in the installer to fix the "This program may not have installed correctly" Windows 7 bug and specify that administrative privileges are required for installation.
     
Configuration:
  • Split the Configuration Wizard "Select Files" page into separate pages for std.lnt and options.lnt.
     
  • Changed the default extension for Solution/Project Analysis Configuration (.vloptions) files to .vlconfig. Where a .vloptions file already exists, it will of course be used in preference for backward compatibility.
     
  • Added the ability to read project settings from NMake and GNU Make makefiles embedded with within Eclipse or Visual Studio projects using Microsoft, Intel or GCC based compilers. If it is not possible to read these properties (e.g. if the makefile requires components which are not available), they will be read from the parent project file where possible instead. [Eclipse, VS2002/2003/2005/2008/2010/2012]
     
  • Added support for preprocessor undefines in Eclipse/CDT project (.cproject) files.
     
  • Generated PC-lint analysis command lines now include a -i directive for the "lnt" folder within the PC-lint installation folder (which contains the indirect files supplied with PC-lint) as well as the root folder. As a result, indirect files located within this folder will no longer be copied to the parent folder when selected for use in a std.lnt file via the Configuration Wizard.
     
  • Added the Configuration Wizard "PC-lint Warning Level" page to allow the PC-lint warning level (-w<n>) to use in newly created std.lnt files to be defined.
     
  • Replaced the Configuration Wizard "Select PC-lint Configuration Files" page with dedicated pages for compiler, library and author options indirect files.
     
  • Added a mechanism to allow the Configuration Wizard to determine which PC-lint indirect files should be included by default within new std.lnt files created by the wizard. The selection is context sensitive based on the project type.
     
  • PC-lint std.lnt indirect files generated by the Configuration Wizard now include comments to describe the purpose of what each directive within the file.
     
  • The Configuration Wizard now offers a default filename for new PC-lint std.lnt files.
     
Analysis:
  • Visual Lint now sets the priority of background analysis tasks directly rather than relying solely on the command line options of the corresponding analysis tool to do so. As a result, analysis tasks for tools such as CppCheck (which do not have a -background or equivalent option) now correctly run at a lower priority than previously, making the IDE more responsive.
     
  • Optimised the analysis of files with a large volume of analysis results.
     
  • When a project with a precompiled header file located outside of the project root is analysed using PC-lint, a -i directive for the folder containing it is now automatically included on the generated command line. This allows PC-lint to correctly locate the precompiled header file.
     
  • Project (e.g. "$(ConfigName)") and system (e.g. "%HOMEDRIVE%") environment variables can now be used in custom analysis options.
     
  • The source file pathnames reported in PC-lint per-project analysis are now fully qualified rather than relative pathnames.
     
User Interface:
  • The About Box now shows the build platform (x86 or x64) as well as the build version.
     
  • Added the ability to enable/disable inline highlighting of code elements referenced in reported analysis issues as well as customise the colours used. Note that: 1) enabling/disabling inline highlighting will not currently take effect in a given editor window until it has been reopened, and 2) changes in the colours will not currently take effect until the environment is restarted. [VS2002/2003/2005/2008/2010/2012] [Visual Lint Enterprise Edition]
     
  • Visual Lint 4.0 builds now show the corresponding version of the Visual Lint online help following installation.
     
  • Updated the icon for the "View Analysis History" button in the Analysis Status Display to reflect that used for the Analysis History Display.
     
  • Added command bitmaps to menus where appropriate.
     
  • Updated the appearance of selected items within the Displays, Options and Configuration Wizard. This change takes effect when Visual Lint is run on themed Windows Vista/Server 2008/7 systems; on unthemed, Windows Server 2003 and Windows XP systems the previous appearance is still used.
     
  • Icons in the analysis results shown within the Analysis Results Display are now greyed along with the text while the analyis of a displayed file is in progress.
     
  • "Stale" and "Incomplete" projects/files are now shown in the Analysis Status Display with greyscale icons to match the text colour.
     
  • Tweaked the category icons used in the displays slightly. Also updated the default icons and colour scheme for Internal and Fatal Error issues.
     
  • The background of icons in list controls (e.g. in the Analysis Status Display) is now painted to match the row background colour when running with visual styles under Windows Vista or later.
     
  • Added the ability to display analysis trends to the Analysis Status Display. The trends available include: since last analysis, over a specified time interval and since a specified date.
     
  • Updated the contents of Analysis Status Display infotips to include details of the issue IDs identified and changes in the number of issues.
     
  • Added infotips to the Analysis History Display giving details of changes in the number of issues in each analysis results set as well as details of the issue IDs identified.
     
  • The text and background colour of rows within the Analysis History Display history list now matches those used within the other displays.
     
  • Removed the "unchanged" and "no issues" trend icons from the Analysis History Display for consistency with the trend icons in the Analysis Status Display.
     
  • Added "Copy Infotip Text" commands to the Analysis Status, Results and History Display context menus to allow the text displayed when hovering over the list control to be copied to the clipboard.
     
  • VisualLintConsole now appends a "(+/-x)" suffix to the text displayed when the analysis of a file or project completes if the issue count has changed since the previous analysis.
     
  • The button controls within the Analysis Status and Results Displays now paint their backgrounds correctly after a theme or system colour change.
     
  • The contents of Analysis Status Display infotips are now truncated at 80 characters per line to prevent unintended line wrapping.
     
  • Added an option to determine whether Visual Lint should use the colour scheme of the host IDE where possible. The option is enabled in Visual Studio 2005 onwards. [VS2005/2008/2010/2012]
     
  • Added a "Configure for..." combobox to the Config Wizard "Analysis Tools" page to allow users of VisualLintGui to select the toolchain they wish to configure it for. The new controls are hidden when Visual Lint is hosted within Visual Studio, Eclipse etc.
     
  • Renamed the "Order" column in the Analysis Status Display as "No.".
     
  • If an explicit selection has not been made in the Analysis Results Display (e.g. via the "File" combobox) the analysis results for the first file in the current project will be displayed.
     
  • The Analysis Results Display now greys issue text and icons for stale files.
     
  • Removed unnecessary updates of the "File" combobox in the Analysis Results Display.
     
  • Revised the titles of several Configuration Wizard pages for consistency.
     
  • Added an option to the "Displays" options page to allow new blog posts on the Riverblade website to be automatically displayed (using the internal browser in the environment where possible) when Visual Lint starts. The schedule is programmable, with the default check for new posts being every 7 days.
     
Commands:
  • Added "Select All" and "Select None" commands to the Analysis Results Display context menu.
     
  • Added keyboard shortcuts to "Select All" (Ctrl+A) and "Select None" (Esc) commands in the Analysis Status, Results and Statistics Display context menus.
     
  • Added "Select All" (Ctrl+A) and "Select None" (Esc) commands to the Analysis History Display context menu.
     
Bug Fixes:
  • Fixed a bug in the marker implementation which manifested in a "An exception has been encountered. This may be caused by an extension" message box when hosted in Visual Studio 2012 RC.
     
  • The "Background Analysis" command in the Visual Studio Solution Explorer now acts on all selected items rather than just the first one.
     
  • Fixed a bug which could case a "Warning: Unable to queue file for analysis" message to appear in the Status View when background analysis was enabled on a file which had up to date analysis results.
     
  • The Analysis Results Display "All files" view now excludes analysis results for files which are stale or excluded unless the corresponding "Include stale/excluded files within analysis metrics" option is active.
     
  • Fixed a bug in the Visual Studio plug-in which could cause the platform of the active solution configuration to be read incorrectly if the configuration contained active projects of more than one platform. [VS2005/2008/2010/2012]
     
  • Modified the startup sequence of the Visual Studio plug-in when hosted in Visual Studio 2005 or 2008 to match that used in later versions rather than that used in Visual Studio .NET 2002 and 2003.
     
  • Fixed a bug which could cause the contents of the Analysis Results Display to be refreshed incorrectly when an issue in a header file was double clicked.
     
  • When a CodeGear C++ (.cbproj) project file is parsed, the "Base" configuration (if any) is now hidden so that it cannot be used as an analysis target.
     
  • If the host IDE for a particular version of a CodeGear C++ (.cbproj) project file is not installed, a later one (if available) will now be referenced for analysis purposes instead.
     
  • Fixed a bug in the Eclipse and Visual Studio plug-ins which could cause code editor markers for issues without fully qualified pathnames to fail to appear.
     
  • Fixed a bug which caused legacy Eclipse/CDT project (.cdtproject/.cdtbuild) project files to be loaded in place of newer .cproject files.
     

 

Version 3.5.10.195 (5th February, 2013)

  • Fixed a bug which caused legacy Eclipse/CDT project (.cdtproject/.cdtbuild) project files to be loaded in place of newer .cproject files.
     
  • Fixed a bug in the installer update check which could allow an update to Visual Lint 4.0 to be installed without warning the user that an upgraded licence may be required.
     

 

Version 3.5.9.191 (17th December, 2012)

  • Fixed a bug in the Eclipse .cproject file reader which caused some projects to be read as having no source files.
     
  • Path delimiters are now normalised when reading solution and workspace files. This fixes a bug where an externally generated Visual Studio solution file failed to be read in the Visual Studio plug-in because the path delimiters it used did not match those reported by the Visual Studio COM interfaces.
     
  • Quotes are now stripped from preprocessor definitions before writing them to PC-lint project indirect (project.lnt) files.
     
  • Fixed a bug in the management of PC-lint precompiled header object (.lph) files.
     

 

Version 3.5.8.188 (21st November, 2012)

  • Added basic support for Visual Studio makefile projects. When loading such a project, the preprocessor definitions etc. for the project are read from the "Preprocessor Definitions", "Include Search Path" and "Forced Includes" properties of the enclosing .vcproj/.vcxproj file rather than from the makefile itself [VS2002-2012].
     
  • Added support for the Eclipse build variables ${parent-1-project_loc}, ${parent-2-project_loc} and ${parent-3-project_loc}.
     
  • Improved support for linked resources in Eclipse projects.
     
  • The Eclipse./CDT project (.cproject) file parser now correctly reads the name of the project from the corresponding .project file.
     

 

Version 3.5.7.186 (10th October, 2012)

  • When an Eclipse C/C++ project file which does not specify the location of its source files is parsed, the project folder will now be searched as a default location.
     
  • Added support for the "PrecompiledHeaderThrough" attribute in Visual C++ 2002-2008 project (.vcproj) files.
     
  • If a "PrecompiledHeaderThrough" attribute is not present in a Visual C++ 2002-2008 project (.vcproj) file for the file which generates the precompiled header, the inferred filename of the precompiled header is now checked against the header files which actually exist.
     
  • Fixed a bug in the generation of PC-lint preprocessor definition directives within Eclipse project indirect (project.lnt) files.
     
  • Fixed a potential crash in the Visual Studio plug-in when a file is removed from a project.
     
  • Fixed a bug in the Analysis Results Display which could cause out of date analysis results for a file to remain visible after it had been re-analysed.
     
  • Fixed a bug which caused an erroneous "Unable to write PC-lint project indirect file" message to be logged when deleting analysis results in projects which are excluded from background analysis.
     

 

Version 3.5.6.184 (21st August, 2012)

  • Added basic support for Visual Studio 2012. Note that this version of Visual Lint does not include support for the Visual Studio 2012 dark and light themes, and instead uses the default operating system theme. Direct support for Visual Studio 2012 themes is however under development please see Visual Studio 2012 theme support for details.
     
  • Added support for Green Hills Eclipse projects.
     
  • Fixed a bug in the handling of "excluded from build" properties in Eclipse/CDT (.cproject) project files.
     
  • Fixed a bug in VisualLintConsole which affected the writing of updated analysis reports after analysis tasks had completed.
     
  • VisualLintConsole will now report an error if an analysis run is attempted before the appropriate analysis tool has been configured.
     

 

Version 3.5.5.182 (24th July, 2012)

  • Added an option to the Advanced Analysis Options Dialog to allow analysis configuration (.vloptions) files to be stored under a user defined folder rather than alongside the corresponding solution/workspace or project file [Visual Lint Professional and Enterprise Editions].
     
  • Fixed an intermittent JNI startup error in the Eclipse plug-in. The error manifested repeatably on a minority of Eclipse installations, but not at all on others.
     
  • Fixed a regression introduced while adding the "Reports" page to the Analysis Configuration Dialog in Visual Lint 3.5.4.180.
     

 

Version 3.5.4.180 (29th June, 2012)

  • PC-lint -D directives corresponding to preprocessor definitions whose value contains spaces are now quoted before being written to project.lnt indirect files.
     
  • Analysis results produced by PC-lint which contain a line with an erroneous '{' character immediately preceding the source file path are now parsed correctly.
     
  • If an issue within the analysis results produced by PC-lint cannot be parsed, the resulting internal error will now be allocated an issue ID of 1299 rather than 0.
     
  • If a user-defined /rule option is specified with the FxCop analysis tool, the default /rule switch (which normally references the rules directory within the FxCop installation) will now be omitted.
     
  • Added a "Reports" page to the Analysis Configuration Dialog to allow the location of analysis reports to be configured on a per-solution basis.
     
  • Fixed a bug in the Analysis Results Display which caused the "Filter" drop list to appear with a blank selection.
     
  • Fixed a bug in the Analysis Statistics Display which could cause flicker when the display was shown.
     
  • Fixed a bug in the Analysis Status Display which caused the FxCop analysis status of a file to be incorrectly reported when marked for inclusion in background analysis after previously having been excluded.
     
  • The Visual C++ 2010 project (.vcxproj) file parser can now parse constructs of the form $([System.IO.Path]::GetPathRoot($(MSBuildProjectDirectory))).
     

 

Version 3.5.3.178 (11th June, 2012)

  • Added the /resultsfolder switch to VisualLintConsole to allow the default analysis results folder to be overridden on a run by run basis.
     
  • Added the /exportoptions and /importoptions switches to VisualLintConsole to assist in configuring installations running under non-interactive user accounts such as LocalSystem.
     
  • Added the /excludefile, /excludeproject, /includeproject, /includefile and /includeproject switches to VisualLintConsole to allow the projects and files included in the analysis to be overridden from the command line.
     
  • Added the /staleafterbuild switch to VisualLintConsole to allow the "Mark files as stale after build" option to be set from the command line.
     
  • Improved the detection of installed versions of Borland/CodeGear C++ Builder in VisualLintConsole.
     
  • Added CodeGear XE2 to the drop list on the "Analysis Tool" options page in VisualLintConsole.
     
  • Fixed a bug in VisualLintConsole which could cause a dialog to be displayed when the application was running as a non-interactive process.
     
  • Fixed a bug which could cause IncrediBuild analysis to intermittently fail in VisualLintConsole.
     
  • Fixed a bug which could prevent VisualLintConsole from shutting down cleanly in some circumstances.
     
  • Fixed a bug in the parsing of additional include properties in Visual Studio 2010 project (.vcxproj) files.
     
  • Fixed a bug in the Analysis Results Display which caused analysis issues in header files without extensions to still be shown in the display when the "Show issues in header files" checkbox was cleared.
     
  • Fixed a minor painting issue with alpha blended icons where the icon is displayed in a selected state.
     

 

Version 3.5.2.174 (4th April, 2012)

  • PC-lint project indirect (project.lnt) files are no longer generated for projects which are excluded from analysis.
     
  • Fixed a bug in the display of code editor markers in Visual Studio 2008 and earlier. The bug manifested when an unusually small code editor font size was used [Visual Lint Enterprise Edition].
     
  • Fixed a bug in the display of code editor marker tooltip text in Visual Studio 2010 [Visual Lint Enterprise Edition].
     
  • Fixed a regression in the detection of modified files within Eclipse. The bug affected files included in a project as linked resources, but not those located within the project source tree.
     
  • Visual Lint commands will now be disabled Whilst the Visual Lint plug-in is unloaded within Visual Studio 2005 and 2008. This prevents the plug-in from being unexpectedly loaded as a result of one of the commands on the toolbar being inadvertantly activated.
     
  • The "Echo raw analysis results to the Output Window" option on the Display page in the Options Dialog now defaults to "Off".
     
  • Modified the manual analysis process to avoid unnecessary display updates when analysing files containing a large volume of analysis results.
     
  • Modified VisualLintConsole for improved efficency when analysing codebase containing a large volume of analysis results.
     
  • When a trial installation of VisualLintConsole is run in a non-interactive environment, it will now automatically switch the active product edition to Visual Lint Build Server Edition.
     
  • Fixed a bug in VisualLintConsole which could cause the wrong analysis tool to be reported in the console window when started with the /toolname option.
     
  • The Ctrl+C keyboard accelerator is now supported within the Visual Lint displays when running within the Eclipse IDE.
     
  • The "Raw Analysis Results" view in the Analysis Results Display now supports the Ctrl+A and Ctrl+C keyboard accelerators.
     
  • Corrected a pair of transposed commands on the Analysis Results Display context menu.
     

 

Version 3.5.1.172 (12th March, 2012)

  • Added the /noreport switch to VisualLintConsole to allow an analysis run to be performed without generating reports. This switch is designed to be used in conjunction with the existing /exportfile switch.

  • Added support for the MSBuild reserved property $(MSBuildThisFileDirectory) in the parsing of .vcxproj (Visual C++ 2010) and .cbproj (CodeGear C++) project files.

  • If the "Filter out duplicated issues" option on the "Display" Options page is enabled, any PC-lint "Location/Reference cited" issues (830/831) following a filtered out issue are now also filtered out.

  • Fixed a bug in the parsing of .vcxproj (Visual Studio 2010) and .cbproj (CodeGear C++) project files files containing user macros.

  • Fixed a bug in the detection of the active platform in Visual Studio 2005, 2008 and 2010.

  • Fixed a bug in the expansion of Eclipse build variables.

  • Fixed a bug in the parsing of Visual C++ ExcludedFromBuild properties [VS2002/2003/2005/2008/2010].

  • Fixed a formatting bug in the VisualLintConsole help text.

  • The "Track include file dependencies between C/C++ files" option now ignores system headers for efficiency reasons.

  • The Analysis Results and History Displays no longer create chart controls on startup; instead they are now created when first needed.

  • Revised the way that Visual Lint detects that the analysis of a codebase is complete to address an intermittent shutdown bug in VisualLintConsole.

  • Modified the "Automatically update reports" option for better compatibility with VisualLintConsole.

  • Tweaked the "<n> implementation files total...." status message slightly to make it clearer.

  • The Registration Key dialog now includes the product name on the caption bar of the window.

  • Added an FAQ section to the helpfile.

 

Version 3.5.0.171 (14th February, 2012)

Host Environments:
  • Added VisualLintConsole - a version of Visual Lint designed for command line use in build server and workstation environments.
     
  • Preparatory work for compatibility with the forthcoming Visual Studio 11.
     
  • Modified the Visual Lint Visual Studio add-in for compatibility with the Atmel AVR Studio 5.0 development environment. Note that Visual Lint must be manually registered to run in this environment as it is not currently handled by the installer.
     
  • Added the ability to selectively enable and disable Visual Lint without unloading it from the development environment. When "Off" Visual Lint will lie dormant, and analysis functions etc. will be unavailable. In floating and site licence installations, turning Visual Lint "off" will release a licence for use by other users.
     
  • Added support for the Eclipse/CDT build variables ${ProjName}, ${ProjDirPath} and ${WorkspaceDirPath}.
     
Product Editions:
  • Added a new Build Server Licence for use with VisualLintConsole in Build Server environments. In desktop installations, VisualLintConsole can be used with the existing Standard, Professional and Enterprise Edition licences.
     
Installation:
  • Added the new Visual Lint command line application (VisualLintConsole) to the installer as an optional component
     
  • Added a new Visual Lint helpfile. This is available both as an installed component and online at http://www.riverblade.co.uk/products/visual_lint/help - the latter of which is displayed in place of the Getting Started Guide immediately following installation.
     
  • Updated the product version within the readme and licence files packaged within the installer.
     
  • Updated the installer splash screen.
     
Configuration:
  • Added to the Visual Lint analysis configuration file (.vloptions) format the ability to specify include files to ignore during file timestamp checking in the include dependency task. Semicolon delimited filenames can be entered on a per project basis in the Analysis Configuration Dialog "Advanced" page. [Visual Lint Professional and Enterprise Editions]
     
  • Added to the .vloptions file format the ability to specify which analysis tool should be used for a specific solution.
     
Analysis:
  • Added basic support for the analysis of Atmel AVR Studio 5.0 solutions (.avrsln).
     
  • The manual analysis command will now allow primary header files (i.e. those directly associated with an associated implementation file) to be analysed using analysis tools (e.g. PC-lint and CppCheck) which do not normally analyse C/C++ header files directly.
     
  • When a solution is loaded, if a project file is found to have a newer timestamp than the analysis results for a file within it, the file will now be marked as "Stale".
     
  • When a solution is loaded, if a C/C++ header file associated with an implementation file is found to have a newer timestamp than the analysis results for the implementation file, the implementation file will be marked as "Stale".
     
  • If a C/C++ header file included by a file being analysed has been modified since the file was last analysed and the "Track include dependencies between C/C++ files" option is enabled, this will now be detected when the solution is loaded and the file marked as stale. [Visual Lint Professional and Enterprise Editions]
     
  • When a solution is loaded, if a forced header file defined in the active project configuration is found to have a newer timestamp than the analysis results for an implementation file within the same project, the file will be marked as "Stale".
     
  • After an IncrediBuild analysis task completes, any files which were not analysed for any reason will now revert to their previous status. Note that this applies only to per-file analysis tasks - per-project analysis tasks retain their previous behaviour for now. [Visual Lint Enterprise Edition]
     
  • The number of include file dependency analysis task threads launched when a solution is loaded is now determined by the number of logical CPU cores rather than hardcoded. [Visual Lint Professional and Enterprise Editions]
     
  • Include file dependency analysis tasks now inject a short time delay between reading the properties of each file within a project.
     
  • Added .lph files to the OutputFileMasks property in generated XgConsole configuration files. This is a prerequisite to allow PCH analysis tasks to be run on an IncrediBuild grid. [Visual Lint Enterprise Edition]
     
  • A message is now written to the Status View and logfile when a PC-lint project indirect is written.
     
  • PC-lint integer and pointer size directives (e.g. -si4 -sp4) are now written to project indirect files automatically based on the active platform (e.g. "-si4 -sp4" for Win32 and "-si4 -sp8" for x64). As a result, they no longer need to be specified in std.lnt to analyse codebases for the Win32, Itanium and x64 platforms.
     
  • If the active platform is x64 or Itanium, platform specific preprocessor symbols (e.g. _M_X64, _M_IA64, _WIN64, _AMD64_, _M_AMD64 and _IA64_) are now automatically included in the analysis configuration. As a result, they no longer need to be specified in std.lnt to analyse codebases for the Itanium and x64 platforms using PC-lint (in fact the same std.lnt file used for Win32 can be used without modification).
     
User Interface:
  • Updated VC6/eVC4/VS2002/2003 command and toolwindow icons.
     
  • Added the Analysis Statistics Display. [Visual Lint Professional and Enterprise Editions]
     
  • Added the ability to copy the contents of the Analysis Status, Results, Statistics and Hiastory displays to the clipboard in a CSV format suitable for exporting to spreadsheet applications such as Excel.
     
  • Added an option to the "Advanced" Analysis Configuration page to allow the configuration to be analysed to be specified irrespective of the active build configuration. [Visual Lint Professional and Enterprise Editions]
     
  • Added an option to the "Report" Options page to determine whether issue category and ID summary charts should be generated in HTML reports [Visual Lint Enterprise Edition].
     
  • Added a warning message to the "Registration" options page that licence keys should be entered while running with administrative privileges. The warning is hidden when run elevated or on operating systems prior to Windows Vista.
     
  • Added an option to the "Product Edition" Options page for trialing the new Build Server licence.
     
  • If the font ("Bookman Old Style") used for the product name in the About Box is not installed, a fallback ("Cambria Bold") will be used instead.
     
Commands:
  • Moved the "Getting Started Guide" command from the toolbar to the menu, and replaced it on the toolbar by a new "Help" command which launches the helpfile.
     
  • Added the "View Analysis Statistics Display" command.
     
  • Added a new "Product Enable/Disable" command.
     
  • If an attempt is made to execute a disabled command in the Eclipse plug-in, a warning is now displayed on the status bar. This change is precautionary.
     
  • Removed an incorrect icon from the "Background Analysis" context menu command in the Eclipse Project Explorer.
     
Reports:
  • A message is now written to the Status View and logfile when a report file is written.
     
  • Minor changes to HTML report stylesheets, including improvements to the way excluded files and projects are handled.
     
  • Revised the way report generation tasks are managed in order to improve repeatability and reduce the amount of time taken to generate a solution report.
     
  • If a report stylesheet cannot be located, a warning that the built-in ones are being used instead is now written to the "Visual Lint Status" view.
     
  • Updated the filenames of the XSL stylesheets used to generate HTML reports.
     
Miscellaneous:
  • For diagnostic purposes, the command line and working folder used to start the Visual Lint process are now recorded in the Status View and logfile.
     
  • For diagnostic purposes, build platform (x86 or x64) of the running Visual Lint executable or plug-in is now recorded in the Status View and logfile.
     
Bug fixes:
  • Fixed a potential crash in the management of IncrediBuild analysis tasks [Visual Lint Enterprise Edition].
     
  • Fixed a race condition in the writing of report charts [Visual Lint Enterprise Edition].
     
  • Reduced the impact of active analysis tasks on the Analysis Status Display.
     
  • Fixed a bug in the parsing of PC-lint analysis results which manifested when switching between text (env-vc*.lnt) and XML (env-xml.lnt) formats during an analysis session.
     
  • The Eclipse plug-in is now compatible with Java 1.4 (Visual Lint 3.0 required Java 1.6)
     
  • Reduced the impact of the "Track include dependencies between C/C++ files" option on the solution loading process.
     
  • Fixed a display bug in the Configuration Wizard "Select Folder" page which manifested on unthemed systems.
     
  • Fixed a bug in the parsing of active configurations within Visual C++ 6.0 and eMbededd Visual C++ 4.0 workspaces.
     
  • Fixed a bug in the location of analysis results for non-Win32 platforms [VS2005-VS2010].
     

 

Version 3.0.8.166 (17th November, 2011)

  • Fixed a bug in the parsing of Visual Studio 2010 projects using Forced Include properties containing the $(ProjectName) environment variable.

  • If the active analysis tool is Vera++ and VERA_ROOT (which is needed to use Vera++) is not defined, Visual Lint will now define it for the current process.

 

Version 3.0.7.164 (18th October, 2011)

  • Added basic support for the Vera++ C++ static analysis tool.

  • Optimised the Visual Lint start-up process for faster loading.

  • Added support for Eclipse projects whose location is defined via a URI stored within a .location file within the workspace .metadata folder.

  • Added support for the Eclipse environment variable ${parent-2-project_loc}.

  • Guarded against repeated Eclipse resource project add/remove events during "Open/Close Project" operations.

  • Added basic support for linked resources and path variables in Eclipse projects.

  • Fixed an intermittent crash when a project was removed in Eclipse with the Analysis Status Display "All Files" view active.

  • Fixed a bug in the Analysis Status Display which caused the selection of the "Filter" drop list to be lost when a project was closed in Eclipse.

  • Fixed a bug in the Manual Analysis Dialog which manifested when a file which was not a member of the currently loaded solution (if any) was analysed with the "Close this dialog when the analysis completes" checkbox active.

  • Fixed a bug with opening linked files for editing from the Analysis Status Display within the Eclipse IDE.

  • Fixed a bug in the handling of PC-lint issue categories which affected the Visual Lint Category "Issues" page.

  • Modified the PC-lint analysis results parser to better handle raw analysis results generated without an env-*.lnt file.

  • The Analysis Results Display "Go to Source" command will now be disabled if the selected issue does not include details of the source file.

  • The Analysis Results Display "Go to Source" command now checks that the file exists, and displays an error message otherwise.

  • Revised the look and feel of pie charts used in reports/displays following beta test feedback on the changes introduced in Visual Lint 3.0.6.162.

  • Minor tweaks to the layout of the chart properties controls within the Analysis Results Display.

 

Version 3.0.6.162 (5th September, 2011)

  • Fixed a bug in the handling of UNC paths while writing PC-lint project indirect files.

  • Fixed a bug in the parsing of PC-lint XML formatted analysis results (generated by env-xml.lnt) which could cause the contents of the <Description> tag to be truncated.

  • Fixed a bug in the implementation of the "Auto-show the Analysis Results Display when analysis results are available" option which could cause the UI to freeze when hosted within Visual Studio 2005.

  • Fixed a bug which could cause code editor markers for issues in header files to be shown incorrectly [VS2002-VS2010] [Visual Lint Enterprise Edition].

  • Fixed two bugs in the Analysis Results Display which prevented the selected file from being changed directly when the "Pin" command was active or after all files open for editing within the environment had been closed.

  • Updated the balloon tip text displayed in the when an invalid name/key combination is entered into the Registration Dialog.

  • Generalised the caption text for the "initial analysis state" control on the "Analysis" options page.

  • Added a new "Auto" analysis thread count option to the "Analysis" options page. This is now the default setting for new installations of Visual Lint.

  • Revised the layout of the charts used within the displays and reports.

 

Version 3.0.5.160 (29th July, 2011)

  • Fixed a bug in the detection of the format of PC-lint analysis results generated by env-xml.lnt.

  • Fixed a bug in the IncrediBuild interface which could cause analysis results to be erroneously discarded on completion if the destination folder did not exist.

  • Added a guard against recursively defined environment variables in Visual Studio 2010 (.vcxproj) project files.

  • Fixed a bug in the parsing of IncludePath elements in Visual Studio 2010 property (.props) files.

  • Fixed a bug in the identification of unloaded projects [VS2002-VS2010].

  • Added a "prioritise re-analysis of saved files" option to the "Analysis" options page. When set (which is the default) newly saved files will be added to the front of the analysis queue rather than the back. This option allows the user to override that behaviour if required.

 

Version 3.0.4.158 (13th July, 2011)

  • Added support for the revised CppCheck XML format when parsing the output of --errorlist with CppCheck 1.47 or later. This allows categories other than Style or Error to be parsed.

  • The Analysis Results Display "Insert Directive" context menu command is now available for cpplint.py (Google C++ Style Checker) analysis [Visual Lint Enterprise Edition].

  • Added a "Show issues in header files" checkbox to the Analysis Results Display to allow issues in C/C++ header files to be hidden if desired. The checkbox is hidden when a non C/C++ analysis tool is active.

  • Added support for the project environment variables $(TargetFileName) $(TargetName) and $(TargetExt) in .vcproj project files [VS2002-VS2008].

  • PC-lint project.lnt files written by Visual Lint now include a +libdir() option for each system include folder.

  • Corrected the text of the Analysis Results Display "Insert Directive" context menu command [Visual Lint Enterprise Edition].

  • Added FindBugs to the list of supported analysis tools in the readme file packaged within the installer.

  • The Eclipse plug-in now reports details of the host environment in the subject of support emails sent via the About Box.

  • Fixed a bug in the Eclipse plug-in which could cause the Analysis Results Display to fail to draw correctly when activated from the Manual Analysis Dialog.

  • Fixed several bugs in the Eclipse plug-in which caused warnings to be recorded in the Eclipse error log.

  • Fixed a bug in the reporting of analysis tool names/versions in the subject of support emails sent via the About Box in the Visual Studio plug-in.

  • Fixed some display issues with large fonts.

 

Version 3.0.3.156 (13th June, 2011)

  • Visual Studio 2010 system include folders are now read directly from the MSBuild project files.

  • Added support for the CppCheck issue categories Information, Portability, Performance and Warning.

  • Added support for the following properties in Visual Studio inherited property sheet (.vsprops) files: UseOfAtl, UseOfMFC, CharacterSet, ATLMinimizesCRunTimeLibraryUsage, RuntimeLibrary, TreatWChar_tAsBuiltInType, ExceptionHandling and RuntimeTypeInfo [VS2002-VS2008].

  • Added support for detecting changes in the active configuration within the Eclipse development environment.

  • Added support for file added and removed events within the Eclipse development environment.

  • Added support for user defined preprocessor symbols, additional include folders and IDE variables in Eclipse/CDT projects.

  • Added support for the Eclipse environment variables $(workspace_loc} and ${project_loc}.

  • -D_NATIVE_WCHAR_T_DEFINED is now included on the CppCheck command line if the corresponding project is configured with native wchar_t support [VS2002-2010].

  • Comma delimited project preprocessor symbol and include folder specifications are now supported in CppCheck analysis.

  • Added support for additional command line options in FxCop analysis.

  • Copyright symbols are now internally escaped during parsing. This prevents XML exceptions occuring when FxCop analysis results files containing copyright symbols are being read.

  • The "Use precompiled headers" control on the "Analysis" Options page is now hidden unless PC-lint is the active analysis tool.

  • Added details of PC-lint messages 165, 166, 318 and 510 to the PC-lint 9.0 message database.

  • Empty analysis results folders are now deleted when the solution is closed.

  • Project and system environment variables are now evaluated within include folder and preprocessor symbol definitions while generating CppCheck command lines.

  • Project additional include folders which are already quoted are no longer double quoted on the CppCheck command line.

  • Modified the layout of the "Command Line" Options page to make it more obvious that the settings on this page are analysis tool specific.

  • Fixed a bug in the management of code editor markers in Visual Studio 2010 which manifested as a failure to hide markers when the IDE entered run mode.

  • Fixed a bug in the generation of CppCheck command lines including inferred preprocessor definitions.

  • Fixed a bug in the generation of PC-lint precompiled header (-pch) directives.

  • Fixed a bug in the parsing of PC-lint project analysis results with file/pathnames containing '(' characters in the module heade

  • Fixed a bug in the Eclipse .cproject file parser which could cause duplicated preprocessor symbol and additional include folder definitions to be recorded.

  • Fixed a bug in the generation of FxCop command lines.

  • Fixed a bug in the Analysis Results Display which could cause a crash when the active analysis tool was changed.

  • Fixed a bug in the parsing of Visual Studio solution files which could cause a solution folder to corrupt the configuration data held for a project of the same name.

  • Fixed a bug in the storage of analysis results in user defined folders.

  • Fixed a bug in the handling of the "Defined in std.lnt" PC-lint environment indirect file option.

 

Version 3.0.2.153 (10th April, 2011)

  • Added basic support for the FindBugs Java analysis tool.

  • Fixed a bug in the registration of trial versions of the Eclipse plug-in.

  • The "Insert Directive" context menu command in the Analysis Results Display is now available for PC-lint analysis in Eclipse [Visual Lint Enterprise Edition].

  • When an "unused include file" issue (PC-lint message 766) is double clicked in the Analysis Results Display the code editor will now jump to the line containing the #include rather than the line reported in the issue (i.e. the end of the file).

  • Fixed a bug in the handling of the "Defined in std.lnt" PC-lint environment indirect file option.

  • Fixed a bug in the handling of precompiled header files located outside the project folder during PC-lint analysis.

  • Fixed a bug in the handling of PC-lint precompiled header object (.lph) files.

  • The preprocessor symbols _WIN32, _M_IX86 and (if analysing a C++ rather than C source file) __cplusplus are now injected onto the CppCheck command line when analysing Visual C++ projects.

  • Fixed a couple of minor issues in the parsing of CppCheck analysis results.

  • Removed the "(beta)" qualifier from the FxCop integration.

 

Version 3.0.1.152 (27th March, 2011)

  • Fixed a bug which prevented code editor markers appearing after the active analysis tool was changed [VS2002-VS2010] [Visual Lint Enterprise Edition].

  • Fixed a bug in the colouring of bars within the IncrediBuild Build Monitor with the Google C++ Style Checker.

  • Preprocessor symbol definitions with embedded blank and null entries (e.g. "WIN32;_DEBUG;_LIB; _MBCS;_UNICODE;;_CRT_SECURE_NO_WARNINGS") are now corrected before being written to PC-lint project.lnt files.

  • Fixed a couple of related bugs in the loading of projects.

  • Added support for Visual Lint 1.x => 3.x upgrade licences

  • Added lightbox effects to image thumbnails in the Getting Started Guide.

  • Deactivated the "Product Editions" page in the installer as the installer support DLL it needs to call to determine whether a trial licence is available (and therefore whether the page should be shown) has been implicated in installation crashes on some systems.

  • Corrected the bundle name and version of the Eclipse plug-in.

  • Fixed a bug in the "Perform Manual Analysis" context menu command in the Eclipse code editor.

  • Removed the non-functional "Enable Background Analysis" and "Delete Analysis Results" context menu commands from the Eclipse Project Explorer.

  • Updated the Eclipse welcome page.

  • Modified the "Set Active Analysis Tool" command to be available in Visual Lint Standard Edition.

  • Corrected the text in the elevation prompt displayed when a function specific to a higher product edition is invoked.

 

Version 3.0.0.151 (21st March 2011)


General:
  • Added a Visual Lint plug-in for Eclipse/CDT. This currently supports the analysis of managed builder projects using the MinGW toolchain, but we will be adding support for additional toolchains and makefile projects in due course.
     
  • Added support for the CppCheck open source C++ analysis tool (see http://sourceforge.net/projects/cppcheck/).
     
  • Added support for the Google C++ Style Checker (cpplint.py - see http://code.google.com/p/google-styleguide/).
     
  • Added basic support for the FxCop analysis tool. This functionality is currently limited to C# projects.


Installer:
  • Added the Eclipse/CDT plug-in to the installer. When run, the user can now select which plug-ins (Eclipse and/or Visual Studio) should be installed and (if appropriate) the location of the Eclipse/CDT installation.
     
  • Replaced the "PC-lint Prerequisite Info" page in the installer with a more generic one which delegates information on which tools are supported to a new page on the Riverblade website. As a result the PC-lint installation folder search facility in the installer has been removed (it still exists in the Configuration Wizard, of course).
     
  • Improved the mechanism optionally used to remove IDE commands from Visual Studio on uninstallation.
     
  • Updated the readme and licence files packaged within the installer to reflect the functionality and licence terms of Visual Lint 3.0.
     
  • Corrected the font size in the "space required" control in the installer.
     
  • Updated the description field in the installer to reflect the fact that Visual Lint is no longer a PC-lint specific product.


Configuration:
  • Added a new "Analysis Tools" page to the Configuration Wizard to allow analysis tools other than PC-lint to be configured.
     
  • Visual Lint no longer requires the global PC-lint include configuration to be defined in std.lnt; instead -i directives for the system include folders are automatically written to each project indirect (project.lnt) file as it is updated. In consequence the Configuration Wizard "Include folders" page has been removed.
     
  • Removed the "Use PC-lint to write indirect files" option on the "PC-lint" options page.
     
  • If a Configuration Wizard prompt is displayed on startup, the version of the analysis tool will now be displayed in the "Visual Lint Status" pane in the Output Window after the wizard exits.
     
  • Migrated PC-lint configuration options to a more appropriate location in the registry to allow support for additional analysis tools.


Analysis:
  • Added support for accelerated local analysis tasks using PC-lint 9.0 precompiled header files. When enabled, Visual Lint will manage the PC-lint Precompiled Header Object (.lph) file for each project automatically, queueing other files in the project only once the .lph file has become available [Visual Lint Professional Edition].
     
  • Added support for the analysis of Eclipse/CDT project (.cproject) file using the MinGW toolchain.
     
  • Added options to allow the root location for analysis results to be specified by the user. The new options are available via a secondary window invoked from the "Analysis" options page [Visual Lint Professional and Enterprise Editions].
     
  • The default analysis results folder for each solution is now created as a hidden folder.
     
  • Added an "Analysis Tool" property at solution level to allow the analysis tool to use for a given solution to be defined. When active, the "Analysis Tool" control on the "Analysis" options page is disabled [Visual Lint Enterprise Edition].
     
  • Added "Preferred Analysis Method" and "Use Precompiled Headers" properties at solution and project level [Visual Lint Professional and Enterprise Editions].
     
  • Removed the project/global PC-lint indirect file ordering options - Visual Lint now uses the more correct "global, then project" ordering under all circumstances.
     
  • Undefined environment variables are now stripped from preprocessor symbol definitions when writing PC-lint project indirect files. This prevents analysis errors with constructs of the form #if _SYMBOL > 0, where _SYMBOL is defined as 0$(EnvVar) in the project file.
     
  • If the preprocessor directive definitions in a project exceed the internal PC-lint limit (610 characters), they will now be written to the corresponding project indirect file one to a line.
     
  • IncrediBuild messages relating to Build Monitor colouring are now filtered out from the raw analysis results [Visual Lint Enterprise Edition].
     
  • Generalised the "Mark affected files as stale after a build" option to support C# projects (for use in FxCop analysis).
     
  • Generalised the interface to IncrediBuild to allow use with analysis tools other than PC-lint. Renamed the XgLintWrapper (the executable used to control colour coding in the IncrediBuild Build Monitor) tool as XgTaskWrapper in consequence [Visual Lint Enterprise Edition].
     
  • If XgTaskWrapper detects an error, the error message will now be written to the output stream for diagnostic purposes [Visual Lint Enterprise Edition].
     
  • Revised the naming of generated project indirect files to include the actual project name, rather than the filename (needed for support of Eclipse/CDT projects, which have no filename).
     
  • Local analysis tasks are now assigned to Win32 job objects after creation. If an analysis task is terminated, this allows any child processes created by the static analysis tool in use to be cleanly terminated [from Visual TICS 1.0.4.5].
     
  • Simplified the mechanism used to wait for aborting analysis tasks to exit [from Visual TICS 1.0.4.5].


User Interface:
  • Added code editor markers in implementation files. Markers are on by default, but can be disabled via a new option in the "Displays" options page. To prevent them obscuring breakpoints while debugging, code editor markers are hidden whilst the development environment is in debug mode [VS2002-VS2010] [Visual Lint Enterprise Edition].
     
  • Added basic global display filtering capabilities [Visual Lint Enterprise Edition].
     
  • Revised the design of the Analysis Configuration (formerly "Solution/Project Analysis Configuration") dialog to improve flexibility and allow support for analysis tools other than PC-lint. It is also now resizable for convenience when working with large solutions or projects with long names [Visual Lint Professional and Enterprise Editions].
     
  • Added the ability to open solution and project specific PC-lint indirect (.lnt) files for editing from within the Analysis Configuration dialog [Visual Lint Professional and Enterprise Editions].
     
  • Added a "File" combobox to the Analysis Results Display to allow the analysis results for any file within the solution to be manually selected [Visual Lint Professional and Enterprise Editions].
     
  • Added an "All files" view to the Analysis Results Display to allow the analysis results for all files within a specified project to be manually selected [Visual Lint Enterprise Edition]. Note that such project analysis results are not currently updated "live" as they change - the display is currently purely static in this mode.
     
  • When an analysis task starts on a file whose analysis results are currently shown in the Analysis Results Display, the existing results set will remain visible and greyed until the task starts to return new issues. Note that details of the previous results set are cached within the Display itself, and hence will be discarded if the contents of the Analysis Results Display are switched to show analysis results for another file.
     
  • Added "Insert Directive" commands to the Analysis Results Display context menu. When activated, an appropriate inline suppression directive (e.g. //lint !e828) is inserted into the appropriate file within the code editor [PC-lint] [Visual Lint Enterprise Edition].
     
  • Added "Hide all issues with this ID" and "Reset Display Filter" commands to the context menu of the Analysis Results Display [Visual Lint Enterprise Edition].
     
  • Added a "Reset Global Display Filter" command to the context menu of the Analysis Status Display [Visual Lint Enterprise Edition].
     
  • The "View Analysis Results" command on the Analysis Status Display context menu is now available at project level [Visual Lint Enterprise Edition].
     
  • Added a checkbox to the Analysis Results Display which allows the local display filter to select whether to exclude or include higher severity issues.
     
  • Added "Next Issue" and "Previous Issue" buttons to the Analysis Results Display. When activated, these allow the user to step through the issues currently presented in the display, selecting each line in the code editor in turn.
     
  • The most recently used of the "Copy to clipboard" context menu commands on the Analysis Results Display context menu now responds to the Ctrl+C accelerator.
     
  • The captions of the Analysis Status, Analysis Results and Analysis History Displays now reflect the active analysis tool. Retitled the "Lint Analysis Status" Output Window pane as "Visual Lint Analysis Status" in consequence [VS2002-VS2010].
     
  • The toolwindow font name and size settings defined in the IDE Tools | Options configuration are now honoured by the Raw Analysis Results view in the Analysis Results Display [VS2002-VS2010].
     
  • Tooltips shown by the Analysis Results Display now include the name of the analysis tool which generated the issue.
     
  • The contents of the "Projects" control in the Analysis Results Display are now sorted.
     
  • The "View History" button in the Analysis Status Display now opens the Analysis History Display even if no solution is open.
     
  • Files with an analysis status of "Incomplete" and with no reported issues will now be displayed with a "Not analysed" question mark icon in the Analysis Status Display rather than a green tick icon.
     
  • Replaced the "All Projects" and "All Files" icons in the Analysis Status and History Displays with more general (i.e. non-C++ specific) versions.
     
  • Restructured the contents of Visual Lint Options to support multiple analysis tools.
     
  • Moved the "Stale Files" options from the Analysis options page to a secondary window.
     
  • The heading of the Manual Analysis Dialog now shows the name of the analysis tool being used (e.g. "Performing Manual PC-lint Analysis" instead of "Performing Manual Analysis" if PC-lint is the active analysis tool).
     
  • Removed the "Don't Save" button in the "Save File?" dialog shown when a modified file is selected for manual analysis.
     
  • The About Box now displays the name of the actual host environment rather than simply "for Microsoft Visual Studio".
     
  • Added the "Hand - Yellow" and "Hand - Red" category icons from Visual TICS to the available icons for custom categories [Visual Lint Professional and Enterprise Editions].
     
  • Tidied up the format of operating system information written to the Status View.
     
  • The "Registration" options page now shows the text "Trial Licence: n days remaining" or "No Licence" in the registered user control if a licence key is not present. Changed the tab order of the page so that the initial focus is on the "Buy Now" button rather than the "Registered User" edit box in consequence.
     
  • Colour coded the user name/key fields in the "Registration" Options page as follows: red (no licence), blue (trial) or green (licence OK).
     
  • Converted various filename edit controls with adjacent "Browse" buttons to combined edit browse controls.
     
  • Retitled the "Issue Count by No." view in the Analysis Results Display as "Issue Count by ID" for consistency with analysis tools other than PC-lint.
     
  • Revised the Getting Started Guide to update screenshots and add details for analysis tools other than PC-lint.
     
  • Modified the "Visual Lint has not yet been configured" prompt to include the name of the current analysis tool where appropriate. This prompt is now also now displayed when the active analysis tool is changed to one which has not yet been configured.
     
  • The "Lookup Meaning" context menu command in the Analysis Results Display is now disabled for analysis tools other than PC-lint (necessary as Message Lookup databases for tools other than PC-lint have not yet been generated).
     


Commands:
  • Added a new "Set Analysis Tool" command and associated dialog to select the active analysis tool.
     
  • Swapped the placement of the "Analysis Tool Configuration" (formerly "Edit Std.lnt") and "Analysis Tool Warning Policy" (formerly "Edit Options.lnt") commands to allow them to support analysis tools other than PC-lint.
     
  • The "Analysis tool Manual" (formerly "PC-lint Manual") command now also supports the online manuals for and cpplint.py, and the helpfile for FxCop.
     
  • Added the Global Display Filter command.
     
  • Added icons to the "Solution/Project Analysis Configuration" and "Delete Analysis Results" commands in the solution Explorer context menu [VS2002-VS2010].
     
  • Replaced command button and toolwindow icons with true colour alternatives where possible (VS2008/VS2010). Also improved icons for environments (i.e. VC6/3VC4/VS2002/VS2003/VS2005 and Eclipse) which have limited support for colour depth and transparency.
     
  • Various minor corrections to the menus in Visual Studio 2010.


Reports:
  • Added analysis tool version information to analysis reports [from LintProject Professional 2.0.8.16].
     
  • Added the name of the licenced user to the footer of all generated reports.
     
  • Analysis reports created via the Analysis Results Display now display the correct project configuration information.
  • Removed the word "Lint" from the titles of HTML reports.


Bug Fixes:
  • Added a couple of missing context help entries on the "Analysis" Options page and tweaked several others.
     
  • Updated/corrected context the help text for several controls within Visual Lint Options.
     
  • Corrected the registry key used to determine which (if any) Visual Studio 2010 service packs is installed [VS2010].
     
  • The confirmation prompts displayed after a registration key has been entered now reports the name of the IDE correctly when hosted by Visual Studio 2010 [VS2010].
     
  • Corrected a bug in the handling of Visual C++ 2010 property (.props) files specified via relative pathnames [VS2010].
     
  • Fixed a crash which could occur if a modified source file was removed and saved in the Visual Studio Solution Explorer [VS2002-VS2010].
     
  • Paths containing ampersands are now quoted before use in the same way as those containing spaces.
     
  • Corrected a bug in the formatting and timing of logfile messages.
     
  • The Visual Studio Addin Manager now shows the human readable product name instead of the application internal name [VS2002-VS2010].
     
  • Replaced the solution loading sequence used in the Visual Studio add-in with the more general version developed for the Eclipse/CDT plug-in. This should improve the speed of the solution load task on some systems.
     
  • Analysis results containing paths with inconsistent delimiters (e.g '/' when '\' should be used) are now corrected internally before attemping to "Go to Source" in the Analysis Results Display as not doing so can prevent some IDEs from jumping to the correct line number.
     
  • The "solution analysis complete" notification is now displayed correctly when whole project analysis completes.
     
  • Corrected the contents of the task dialog displayed when a trial period is coming to an end.
     
  • Fixed a bug in the "Use individual .vloptions files for each project" solution/project analysis configuration option [Visual Lint Enterprise Edition].
     
  • The Analysis Configuration dialog now forces the analysis queue to be regenerated when the dialog is closed to take into account any changes made [Visual Lint Professional and Enterprise Editions].

 

Version 2.5.6.143 (29th November, 2010)

  • Files defined in Visual C++ project files using configuration dependent environment variables are now handled correctly [VS2002-VS2010].

  • If a PC-lint environment file is not specified within the analysis configuration, a -width(0) directive is now injected into the generated command lines to assist in parsing the raw PC-lint output.

  • 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.

  • Fixed an unhandled COM exception while loading some solutions containing C# project files [VS2010].

  • Modified the configuration of the licence key component slightly to prevent an installer crash detected on Windows XP x64.

 

Version 2.5.5.141 (15th November, 2010)

  • Added support for forced include project properties specified in inherited property sheet (.vsprops) files [VS2002-VS2008].

  • Forced include project properties containing Visual Studio environment variables are now supported [VS2002-VS2010].

  • When an IncrediBuild analysis task completes, HTML reports are now only updated if the "AutoRefreshReports" option is active [Visual Lint Enterprise Edition].

  • Fixed a bug in the processing of IncrediBuild generated analysis results which could cause the analysis results for some tasks to be truncated under certain circumstances [Visual Lint Enterprise Edition].

  • Fixed a bug in the loading of XML project files using UTF-8 encoding [VS2010].

  • Fixed a bug in the handling of configuration specific environment variables with inherited property sheet (.vsprops) files [VS2002-VS2008].

  • Fixed a bug in the handling of UNC paths.

  • Fixed a bug in the IncrediBuild integration which could cause extra line breaks to be recorded within the body of individual analysis issues.

  • 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.

  • Modified the configuration of the licence key component slightly to prevent a crash detected during testing of a support tool on a particular Windows 7 x64 system.

 

Version 2.5.4.136 (25th August, 2010)

  • 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].

  • Corrected the analysis results parser to strip leading and trailing whitespace from source file pathnames.

  • 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].

  • 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 by Visual Lint Enterprise Edition as -i directives to all new 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-VS2010] [Visual Lint Enterprise Edition].

  • Added support for forced include project properties in Visual C++ 2002-2010 project (.vcproj and .vcxproj) files [VS2002-VS2010].

  • Desensitised the Visual C++ project (.vcproj) file parser to doubled path delimiters in folder paths used to load inherited property sheet (.vsprops) files [VS2002-VS2008].

  • The operating system version information written to the Status View now includes the name of the OS rather than just the OS version number.

  • Fixed issues in the parsing of RuntimeLibrary properties within Visual C++ 2010 (.vcxproj) project files [VS2010].

  • Revised the project loading sequence to avoid reading project files a second time to generate project indirect files. Note that this optimisation has an effect only when a new project indirect file needs to be written.

 

Version 2.5.3.134 (27th July, 2010)

  • Added a workaround for a bug in Visual Studio 2010 RTM which prevents pages being reliably displayed in the IDE internal browser [VS2010].

  • Fixed a potential crash in the parsing of Visual Studio 2010 C++ project (.vcxproj) files.

  • Speeded up the parsing of Visual Studio 2010 C++ project (.vcxproj) files slightly. Note that further optimisation of the parsing of VS2010 projects should follow in a subsequent build [VS2010].

  • Added workarounds for various bugs in the automation interfaces of Visual Studio 2010 [VS2010].

  • Corrected a bug in the "PC-lint" Options page affecting some Visual Studio 2010 installations [VS2010].

  • Inherited property sheets specified using system environment variables are now parsed correctly in Visual C++ project files [VS2002-VS2008].

  • If a filename in a Visual C++ project contains environment variables, it will now be expanded when the file is parsed [VS2002-VS2008].

  • Corrected 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-VS2008].

  • Added -vm to the analysis command line so that the PC-lint module header ("--- Module: ()" - required to support whole project analysis) is always present in the analysis results, even if -v is present in the analysis configuration.

  • Updated the theme in the installer Updates Wizard to match the main installation.

 

Version 2.5.2.131 (15th June, 2010)

  • Corrected 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].

  • Modified the Configuration Wizard and project indirect file writer to automatically generate "-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.

  • Improved the parsing of vcxproj (VS2010) project files to support changes to the structure of .vcxproj files between VS2010 RC and RTM.

  • Fixed a crash which occurred if an incorrectly formed command line was written to the Status View.

  • If an MSXML4 installation is not detected, an error message is now written to the Status View.

  • Minor updates to the Getting Started Guide.

 

Version 2.5.1.128 (19th April, 2010)

  • Fixed a bug in the handling of files within projects which are excluded from analysis.

  • $(NoInherit) and $(Inherit) macros found within Visual Studio project files and property sheets should now be correctly processed [VS2002-VS2008].

  • For Loop compliance is now correctly defined when specified in a Visual Studio property sheet (.vsprops) file [VS2002-VS2008] [also in 2.5.1.128].

  • $(NoInherit) or $(Inherit) macros found in project settings are now stripped from generated project.lnt files.

  • MsBuild property sheet user macros should now be correctly processed [VS2010].

  • Added support for MSBuild properties (e.g. MSBuildToolsPath) introduced in the VS2010 RC [VS2010].

  • Property sheets specified as relative filenames in a .vcxproj project file are now parsed correctly [VS2010].

  • Corrected a bug in the parsing of MsBuild project files which do not explicitly specify the name of a project [VS2010].

  • VS2010 project file properties (e.g. UseOfATL and UseofMFC) which have been renamed by Microsoft between VS2010 B2 and RC are now correctly loaded [VS2010 RC].

  • Added support for the IntDir, OutDir and ConfigurationType properties in .vcxproj project files [VS2010]

  • Manual analysis tasks are now (correctly) run at normal priority to ensure that they take priority over background analysis tasks.

  • Added details of excluded and stale files to the solution analysis status message published in the "Visual Lint Status" pane in the Output Window.

  • For diagnostic purposes the OS version is now displayed in the status log on startup.

 

Version 2.5.0.127 (6th February, 2010)

General

  • Added support for Visual Studio 2010. Note that as a result of some rather nasty regressions in the Visual Studio 2010 automation interfaces (even at Beta 2) this support is not yet complete and further changes are expected to be required once the Visual Studio 2010 RTM build is available.

  • Revised the add-in startup/connection sequence and add-in menubar configuration mechanism for compatibility with Visual Studio 2010 (these changes should be transparent to the user).

  • Removed support for Visual Lint Free Edition. Available product editions in Visual Lint 2.5 are Standard, Professional and Enterprise Editions.

  • 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].

  • 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.

User Interface

  • 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 [Visual Studio 2002/2003/2005/2008 only].

  • Corrected "PC-Lint" to "PC-lint" throughout.

  • Renamed the "Visual C++" options page to "PC-lint" for clarity.

Analysis

  • 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.

  • When a Visual C++ project file is parsed, the default settings for for-loop compliance (false for VS2002/2003; true for VS2005 and later) and C++ exceptions (always true) are now set correctly.

  • 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.

  • Added limited support for the $(TargetDir) variable within project configurations by aliasing it to $(OutDir) [VS2002-VS2008].

  • 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.

Installer

  • 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.

Reports

  • 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.

Bug Fixes

  • 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-VS2008].

  • 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].

 

Version 2.0.10.124 (19th January, 2010)

  • Corrected a bug in the project file reader which caused Visual Studio inherited property sheet (.vsprops) files referenced via relative paths of the form "\foldername\filename.ext" to be located incorrectly.

  • Added support for the new "ShowSourceInOutput" attribute introduced in IncrediBuild 3.50 in the XGE XML interfaces used by Visual Lint to perform grid analysis tasks.

    As the introduction of this new attribute is a breaking change (omitting it results in changed behaviour which prevents Visual Lint from cross referencing analysis results for individual tasks back to the initiating objects), this change is required if grid analysis is to be run with IncrediBuild 3.50 onwards.

  • Corrected a bug in the IncrediBuild interfacing task which could cause no threads to be allocated for analysis results processing on single core machines.

  • Updated the PC-lint 9 message database to include changes (messages 83 and 457) and new messages (1084-1085, 1096-1111 and 1574) included in the updated msg.txt file for PC-lint 9.00d.


Version 2.0.9.121 (4th December, 2009)

  • Corrected a bug in the parsing of quoted preprocessor symbols within project files.

  • XBox 360 project configurations are now interpreted correctly [VS2002/VS2003/VS2005/VS2008].

  • "Excluded from Build" properties in VC6/eVC4 project files are now read correctly.

  • Corrected a potential crash in the Analysis Status Display. The crash manifested on some installations when a solution was loaded.

  • Visual Studio environment variables in the IntermediateFilesFolder property of a project configuration being analysed will now be expanded correctly.

  • Revised the layout of the Configuration Wizard "Select Files" page to make it more obvious that the filename controls apply to both "Create a new configuration file" and "Use an existing configuration file" options.

  • Updated the version of TeeChart8.ocx packaged within the installer to 8.0.0.6.

  • Corrected a grammatical error in the "Visual Lint Prerequisites" page within the installer.

  • The "Copy -> Issue Item Text Only" command on the Analysis Results Display context menu is now correctly disabled when no issues are selected.

 

Version 2.0.8.117 (4th September, 2009)

  • Added a "Show files in the lnt subfolder" checkbox to the "Configure Std.lnt" page in the Configuration Wizard. This allows the user to specify whether indirect files located only in the lnt folder within the PC-lint installation should be shown, or whether only those files which the PC-lint installer copied to the installation folder itself should be visible. The option is automatically selected if no suitable indirect files are found in the installation folder.

  • If the options.lnt file is not located in the PC-lint installation folder, a -i directive for the folder in question is now automatically added to the command line (before that for the installation folder) so that references to local indirect files are resolved correctly.

  • Fixed a bug in the "Goto Reference" context menu command in the Analysis Results Display which could cause it to perform the wrong action.

  • The Analysis Status Display now reports project status as "Complete" if there are excluded files in the project but all other files have been analysed.

  • Corrected a bug in the analysis results parser which was causing Internal Errors in the range 200-299 to be incorrectly categorised as Fatal Errors.

  • Corrected a bug in the Analysis Status Display which could cause the add-in to become unresponsive.

  • Fixed a potential crash when a project file containing an environment variable defined in terms of itself is encountered.

  • Fixed a potential crash when a project was unloaded.

  • Corrected a bug which was preventing the "for-loop compliance" property of Intel C++ Compiler projects from being read correctly.

  • Fixed a potential deadlock when the "Excluded from build" property of a file is changed in an unregistered installation.

  • Fixed a potential deadlock if a file analysis task was stopped while signalling completion to the scheduler.

  • Corrected a couple of minor bugs in the evaluation of project environment variables.

  • If the IDE include paths differ in case only (as will be the case if KB971092 has been installed), an "Include Folder Mismatch" warning will no longer be displayed.

  • The "OK" button in the registration key dialog is now disabled until a key has been entered.

  • Updated the installer with new runtime library redistributables - see KB971092 for details.

  • Corrected a typo in the licence file.

 

Version 2.0.7.113 (22nd June, 2009)

  • PC-lint analysis results generated without an environment file (i.e. no env-vc*.lnt file) can now be parsed more accurately.

  • Project indirect (.lnt) files generated by previous versions of Visual Lint will now be automatically re-generated.

  • When a lint issue without an associated source line number is displayed in the Analysis Results Display, the line number is now shown as blank rather than 0.

  • Added a "Copy | Issue Text Only" command to the Analysis Results Display context menu. This is identical to the existing "Copy" command (now renamed "Copy | Full (with Source File Info)" but omits the source file information.

  • Local analysis tasks now only report progress when the scheduler is not busy performing other tasks. This should improve performance on n-core high performance systems with "noisy" codebases.

  • Visual Studio automation model interface pointers are now cached in the context of the calling thread. This reduces the use of the Global Interface Table, and hence simplifies thread synchonisation.

  • Corrected a bug which was affecting Intel C++ Compiler support in Visual Lint Enterprise Edition.

  • Added support for Intel C++ Compiler 11.0 projects, which use a different project file format to previous versions.

  • Added support for Intel C++ Compiler 11.0 projects, which use a different project file format to previous versions.

  • Modified the IncrediBuild version checking code for compatibility with IncrediBuild 3.4.

  • Visual C++ 2008 project (.vcproj) files created using the "Create Project from Existing Code" wizard are now parsed correctly. Such project files are created with UTF-8 encoding instead of the usual Windows-1252, and it seems that MSXML does not correctly support loading an XML stream with a UTF-8 byte-order mark from a Unicode string.

  • Fixed a bug in the "Delete Analysis Results" menu command in the Solution Explorer.

  • If hosted under VS2008 and running on XP, new installations no longer create a linked window frame to contain the Analysis Status, Results and Message Lookup Displays. This avoids a recently identified shutdown crash which appears to be specific to this combination of operating system and development environment.

 

Version 2.0.6.111 (12th May, 2009)

  • Fixed a bug in the project indirect file writer which could cause paths such as "..\..\Folder" to be incorrectly resolved.

  • Fixed a bug in the project indirect file writer which could cause paths such as "Folder1\Folder2\..\Folder3" to be incorrectly resolved.

  • Fixed a bug which would cause a crash if a project file containing files of the form "\\filename.ext" was encountered.

  • Added support for the Visual Studio variable $(WebDeployPath) in .vcproj files.

  • Corrected a bug in the Analysis Results parser which could cause a reference line in a specific walk to be parsed as a lint message - leading to an erroneous fatal error in the analysis results.

  • Added support for "AdditionalOptions" within inherited property sheet (.vsprops) files [VS2002 onwards].

  • Fixed a bug in the parsing of analysis results returned by IncrediBuild [Visual Lint Enterprise Edition].

  • Corrected a bug in the Analysis Results Display which caused the "Categories" control to be configured incorrectly on start-up [Visual Lint Standard and Professional Editions].

  • The "Auto-select project" option in the Analysis Status Display is now persistent. In addition, if this option is active when a solution is loaded the display will now automatically reflect the contents of the active window.

  • The "View" control in the Analysis Results Display is now persistent.

  • Version information for IncrediBuild is now only shown in the "Visual Lint Status" pane in the Output Window if the active product edition is Visual Lint Enterprise Edition.

  • The default subject text in email enquires from the About Box now includes details of the active product edition.

  • Added support for additional command line options of the form -I "folder path" within Visual C++ project files.

  • Guarded where possible against malformed -i directives (e.g. /I"Path) in Visual C++ response files.

  • Corrected the handling of .vsprops files whose location is defined via configuration specific Visual Studio environment files (e.g. "$(SolutionDir)Common_Sources\Win\CompileOptions\$(ConfigurationName)Plugin.vsprops").

  • Project configurations which inherit Intermediate and Output Directory values within .vsprops files are now correctly handled [VS2002 onwards].

  • Corrected a potential deadlock in the interactions between the "Delete Analysis Results" command and the IncrediBuild task scheduler [Visual Lint Enterprise Edition].

  • Re-themed the installer and Configuration Wizard.

 

Version 2.0.5.109 (26th March, 2009)

  • If exception handling (/GX) is enabled in a Visual C++ project, _CPPUNWIND will now automatically be defined in generated project.lnt files.

  • System folders such as "$Recycle.Bin" are no longer searched for the PC-lint executable during installation or from the Configuration Wizard.

  • Fixed a bug which was preventing  yellow warning bars from appearing in the IncrediBuild Build Monitor [Visual Lint Enterprise Edition].

  • Solution and project analysis configuration (.vloptions) files generated by Visual Lint are now formatted in a human readable form.

  • Backward relative (i.e. beginning with "..\") paths are now supported in .vloptions (Visual Lint analysis options) files [Visual Lint Professional and Enterprise Editions].

  • The lib-ole.lnt indirect file is no longer shown on the "Configure std.lnt" page of the Configuration Wizard as it is automatically included by co-msc*.lnt.

  • If the std.lnt file is not located in the PC-lint installation folder, a  -i directive for the folder in question is now automatically added to the command line (before that for the installation folder) so that references to local indirect files are resolved correctly.

  • Charts generated as part of HTML reports are now saved as .bmp and then converted to .png using GDIplus, as the lpng.dll used by TeeChart8.ocx to perform this function natively seems to have issues with DEP on Windows Server 2008 and Windows Vista. As a result, gdiplus.dll is now packaged within the installer to allow Window 2000 support to continue (hence the increase in installer size).

  • Minor changes to the way IncrediBuild analysis tasks are queued [Visual Lint Enterprise Edition].

  • File reports are no longer autogenerated as each analysis task completes.

Version 2.0.4.107 (5th March, 2009)

  • Updated Platforms.xml with new platform names for Smartphone and Pocket PC SDK.

  • When an include folder mismatch in the global std.lnt configuration file is detected, Visual Lint can now prompt, automatically update the include folder directives in the file or ignore the discrepency.

  • Added the "mark of the web" to HTML reports to avoid the "active content" warning from the browser when a Visual Lint generated report is opened on the local filesystem.

  • Corrected a bug in the "View Analysis Results" command in the Analysis Status Display introduced as a result of threading modifications in 2.0.3.105.

  • Fixed a bug in the generation of project.lnt files using PC-lint under Visual C++ 6 and eMbedded Visual C++ 4.0 (other IDEs and direct generation of these files by Visual Lint are unaffected).

  • Corrected a bug in the detection of the Visual Assist X "VA View" under Visual C++ 6.0 and eMbedded Visual C++ 4.0.

  • When a Visual C++ project file containing comma delimited preprocessor definitions (the IDE uses semicolons) is read, the corresponding definitions in generated project.lnt file will now be correctly semicolon delimited (this fixes an analysis error when definitions of the form SYMNAME=, are encountered in the project.lnt file).

  • Added a missing WM_DESTROY handler to the chart control used in the Analysis  Results Display. Likewise, TeeChart interface helper objects are no longer held open throughout the lifetime of a reporter object (these are potential fixes for an intermittent crash in TeeChart8.ocx seen on shutdown of Visual Studio 2008).

  • Corrected the category totals and sort order in the "Issue Count by Project" section of the HTML solution report template.

  • Fixed a potential crash in the Analysis Status Display.

  • If the "Delete Analysis Results" command fails, a warning will now be displayed and written to the "Visual Lint Status" pane in the Output Window. Similarly, if the task dialog informing the user that Visual Lint has not yet been configured fails (this has been seen intermittently on one of our test systems), the Configuration Wizard will now be displayed automatically.

  • The Visual Lint installer and Configuration Wizard now direct users without a PC-Lint installation to the online store rather than the Gimpel website.

  • Updated the Visual Studio 2008 runtime libraries packaged within the installer to VS2008 SP1.

 

Version 2.0.3.105 (2nd February, 2009)

  • Removed a duplicated status message from the "Visual Lint Status" pane when a manual analysis operation is performed.

  • The name of the active configuration is now cached, removing the need for repeated calls into the automation model to read it during the loading process.

  • The display filter control in the Analysis Status Display is now correctly initialised prior to a solution being opened.

  • Improved the responsiveness of the user interface by moving a number of analysis event handlers from the UI thread to worker threads. Various consequential changes to thread locking and synchronisation logic.

  • Visual Lint no longer uses the Visual Studio automation model to determine whether a file is open when analysis completes (which is rather slow) - a faster method using document opened/closed events is used instead.

  • The Analysis History Display is no longer updated during the progress of each analysis task, as doing so can sgnificantly increase the loading on the UI thread.

  • File report tasks are now only generated when an analysis task completes if the "auto generate reports" option is off.

  • Increased the minimum report update interval to 60s, and modified the "Auto Refresh Reports" function to guard against repeated calls at short intervals under high CPU loading conditions.
       
  • When a "stop" command is issued to xgconsole (the IncrediBuild XGE executable) it is now echoed to the "Visual Lint Status" pane in the Output Window [Visual Lint Enterprise Edition].

  • Fixed a potential crash when an IncrediBuild analysis task is deleted [Visual Lint Enterprise Edition].

  • When an IncredBuild control task is shutdown, it no longer attempts to process any outstanding analysis results - ensuring that the shutdown completes faster [Visual Lint Enterprise Edition].

  • Any IncrediBuild analysis tasks which complete with errors or warnings will now be coloured red and yellow respectively in the IncrediBuild Build Monitor (note that colouring warnings in this way requires IncrediBuild 3.32 Build 930 or later) Visual Lint Enterprise Edition].

  • Corrected a bug in the expansion of additional include folders during the generation of project indirect files.

  • Corrected a bug in the handling of per-file preprocessor symbols during the generation of project indirect files.

  • Added a check to the project indirect file writer to filter out newlines within project additional options, as these can cause PC-Lint to crash if they are encountered in an indirect file.

  • Updated the copyright dates in the readme and licence files from "2004-2008" to "2004-2009".

 

Version 2.0.2.102 (12th December, 2008)

  • Added options to allow reports to be generated to a user defined location rather than with the analysis results under the solution root folder [Visual Lint Professional and Enterprise Editions].
     
  • Added support for distributed code analysis using the IncrediBuild XGE Interfaces Extension Package [Visual Lint Enterprise Edition].
     
  • Corrected a bug in the VC6/eVC4 project file reader which could cause the UNICODE preprocessor directive to fail to be defined if _UNICODE was already present.
     
  • The VC6/eVC4 add-in toolbar creation hook now correctly identifies toolbars in German editions of the IDE.
     
  • The "CreateToolbar" registry flag is now always reset regardless of whether the add-in toolbar renaming hook succeeds. This prevents repeated creation of toolbars in some localised versions of Visual C++ 6.0 and eMbedded Visual C++ 4.0.
     
  • When a file is added/removed from a project, the type of the file is now checked in order to determine whether it should be analysed.
     
  • Fixed a potential crash when a project is removed from a solution.
     
  • Corrected a bug in the handing of project additional command line options which could cause an infinite loop while writing project.lnt files in some circumstances.
     
  • Corrected a bug in the "View Analysis Results" context menu command in the Analysis Status Display which manifested itself in Visual C++ 6.0 and eMbedded Visual C++ 4.0.
     
  • If Visual Lint is unloaded under Visual C++ 6.0 or eMbedded Visual C++ 4.0 analysis tasks are now shut down correctly and add-in toolwindows are now correctly detached and closed before unloading the add-in.
     
  • Fixed an intermittent crash on shutdown in Visual Studio 2008.
     
  • If the Visual Lint add-in is loaded by the development environment while a solution is open, Visual Lint will now correctly recognise the contents of the solution.
     
  • Prevented an unnecessary analysis queue regeneration operation when a file is removed from a project.
     
  • When the IDE is started, the version of the Xoreax Grid Engine Console (if installed) is now displayed in the "Visual Lint Status" pane in the Output Window.
     
  • Visual Studio environment variables defined in terms of each other are now expanded correctly.
     
  • The analysis completed percentage shown in the Analysis Status Display now excludes stale files. This prevents status oddities such as "Partial (100%)".
     
  • Improvements to the Registration Dialog to make it more obvious which previous key (or keys) should be entered to validate an upgrade key.
     
  • Include file dependency tracking is now off by default.
     
  • Minor corrections to the file save handing code using the include file dependency tracker.
     
  • Corrected a control misalignment in the "Visual C++" options page.
     
  • Removed "Unexpected exception during solution load" message boxes in the retail build (they were originally intended for diagnostic use, and should have been removed before now). The information they contain is still logged within the "Visual Lint Status" pane in the Output Window.

 

Version 2.0.1.98 (7th October, 2008)

  • Additional include folder specifications delimited by commas (rather than the more usual semicolons) are now handled correctly while generating project.lnt files.
     
  • Corrected a bug in the handling of project specific environment variables.
     
  • Added an option to the "Visual C++" option page to allow the environment indirect file (env-vc8.lnt etc.) to be specified. By default, Visual Lint will now attempt to use the appropriate file for the host IDE, but if this cannot be located it will select a compatible alternative if possible.
     
  • Updated the configuration file (platforms.xml) used for environment variable expansion for embedded platforms (Smartphone/Pocket PC 2003, Windows Mobile 5.0 SDK and Windows Mobile 6 SDK).
     
  • The Configuration Wizard now performs a check on the new configuration to ensure that all indirect files it references are available,and not duplicated on the command line. If any errors are located, it will attempt to correct them. Note that this operation occurs silently and does not at present provide any user feedback.
     
  • Section links in the HTML report templates now work with Firefox.
     
  • The "Issue Count by Category" and "Issue Count By No" views in the Analysis Results Display are now hidden for registered users who do not have access to them (this prevents unwanted elevation prompts which can interfere with keyboard access).
     
  • Corrected the valid upgrades for the v2.0 Standard => v2.0 Professional Edition licence certificate to include upgrades from v1.5 => v2.0 Standard Edition upgrade licences.
     
  • Added a v1.5 Standard => v2.0 Professional licence upgrade certificate.

 

Version 2.0.0.97 (1st October, 2008)


New Features:
  • Added Visual Lint Enterprise Edition to support more detailed analysis customisation and reporting for enterprise customers. Among the features included in the Enterprise Edition are far more detailed reports, a new Analysis History Display and advanced configuration options such as the ability to preprocess project.lnt files and store analysis configurations directly with each project rather than with the enclosing solution.
     
  • Added support for PC-Lint 9.00 (a PC-Lint 9.00 message database is now included in all installations, and the appropriate message database is used based on the active PC-Lint version).
     
  • Added the Analysis History Display, which shows (in graphical and list form) the analysis history of a specified file, project or the entire solution [Visual Lint Enterprise Edition].
     
  • Revised the format of Solution Analysis Reports. These now include a summary section [all editions], charts of issue count by category and message and a breakdown showing which projects and files are generating which issues [the latter in Visual Lint Enterprise Edition]. Note that the report schema is not backward compatible to Visual Lint 1.5; please contact us if you have a report stylesheet you need converting to the new format.
     
  • Optimised the solution loading process to eliminate unnecessary parsing of analysis results files [Visual Lint Professional and Enterprise Editions].
     
  • When a header file is saved, any implementation files which directly or indirectly include it will now be marked as stale (assuming include file tracking is enabled [Visual Lint Professional and Enterprise Editions].
     
  • The contents of the global wrap-up during whole project analysis are now distributed to the affected files [Visual Lint Professional Edition].
     
  • Added a new "Issue Counts by Category" view (bar/pie chart) to the Analysis Results Display [Visual Lint Professional Edition].
     
  • Added a new "Issue Counts by No." view (bar/pie chart) to the Analysis Results Display [Visual Lint Enterprise Edition].
     
  • Visual Lint can now be used with VS2005 Intel C++ compiler 9.1 projects (even with the buggy automation interface implementation in this version, which prevented Visual Lint 1.5 from working with this combination of IDE and compiler).
     
  • Improvements to Visual Studio environment variable handling. In particular, the Visual C++ automation interfaces are no longer used to expand environment variables during project loading and the generation of project.lnt files. If any environment variables cannot be expanded, they are now converted to the operating system form ("%varname%") prior to being written to the project.lnt file.
     
  • Per file additional includes are now supported during whole project analysis (note however that once defined there is no way to undefine them for the following files).
     
  • Added a "Report" button to the Analysis Results Display [Visual Lint Professional and Enterprise Editions].
     
  • Added a "Product Edition" page to the Options dialog to allow the active product edition (Free, Standard, Professional etc.) to be set by the user during the Trial period. In consequence, the "product edition" controls have been removed from the "Diagnostics" page.
     
  • Moved the Solution and Project Lint configuration property pages from the Options Dialog to their own property sheet (accessed via a dedicated command).
     
  • Added the ability to specify an alternate version of PC-Lint when analysing a specific solution [Visual Lint EnterpriseEdition].
     
  • Trial installations and development builds now report the effective product edition they are running under.
     
  • Added a context menu to the Analysis Status Display. In consequence, the "One click activate" style of the Display is now optional, and off by default.
     
  • The use of Intel C++ Compiler projects now requires a Professional Edition licence.
     
  • Added the ability to distribute .vloptions files on a per project basis Advanced Solution Analysis Configuration dialog [Visual Lint Enterprise Edition].
     
  • Added support for an optional project.lnt preprocessing step at solution level to the Advanced Solution Analysis configuration dialog [Visual Lint Enterprise Edition].
     
  • Added basic support (/I and/D directives, as well as response files containing them) for additional command line parameters in VS2002 onwards.
     

Installation:
  • Added a "Select Product Edition" page to the installer. This allows the initial effective product edition to be set within the trial period. Once set, the effective product edition can be changed at any time during the trial period.
     
  • Added a prerequisites page to the installer to inform the user that a valid PC-Lint installation is required, and offer them the choice of whether to search for it.
     
  • The installer now searches for the PC-Lint installation folder. If it cannot be found, a warning page is now shown during the installation process.
     
  • The PC-Lint 9.00 installation folder registry key (if available) is now used as the default PC-Lint installation folder path (this already happens for PC-Lint 8.00).
     
  • Once a PC-Lint installation has been located by the installer, a registry key identifying it will now be written so that subsequent installations will not need to repeat the same search.
     
  • Added checkboxes to the uninstaller to allow the user to determine whether Visual Lint configuration information and commands should be removed on uninstallation.
     
  • Updated the Getting Started Guide, readme file etc.
     

Minor Tweaks:
  • Revised issue category icons.
     
  • When a solution is loaded, the initial stage (project preload) no longer involves reading the project files. As a result, the Analysis Status Display is populated faster on large solutions.
     
  • The context menu in the Analysis Results Display now shows lint issues with a single reference on the top level of the menu rather than within a "Go To Reference" submenu.
     
  • Added a "Delete Analysis Results" command to the Solution Explorer context menu at project and file level (VS2002 onwards).
     
  • When a solution is loaded which contains only one project in which background analysis is enabled, the Analysis Status Display will now automatically display the appropriate project.
     
  • Added a "Find it for me" button to the Configuration Wizard "Select PC-Lint installation folder" page in the Configuration Wizard.
     
  • Added a "Free Trial" button to the Registration Dialog if a key for a previous version of the software is detected.
     
  • Added message 829 ("A +headerwarn option was previously issued for header 'Symbol'") to the PC-Lint 8.00 message database.
     
  • Increased the minimum and default report refresh intervals from 1s to 10s and 10s to 60s respectively.
     
  • Added icons to the "Project", "File" and "Filter" controls in the Analysis Results Display, Analysis Status Display and Analysis History Display.
     
  • Added an "Uninstall Licence" button to the Options dialog "Registration" page.
  • Added the full product name to product related prompts.
     
  • Added a chart colour property to issue categories, for use by charting displays.
     
  • Added a mailing list prompt.
     
  • Removed obsolete Analysis Status Display options.
     

Bug Fixes:
  • The Visual C++ automation interfaces are no longer used to parse project file details (a cached read of the project file is perfomed instead). As a result, Visual Lint is now less vulnerable to flaws in the Visual C++ automation interfaces.
     
  • When a custom category is removed, the issues assigned to it are now correctly ressigned to their default categories [Visual Lint Professional and Enterprise Editions].
     
  • Corrected a bug in the handling of solution folders within the automation interface [VS2005 and VS2008].
     
  • Improvements to the way add-in toolbars are managed in Visual C++ 6.0 and eMbedded Visual C++ 4.0. In particular, the add-in toolbar is now automatically renamed to "Visual Lint" after creation when hosted under Visual C++ 6.0 and eMbedded Visual C++ 4.0.
     
  • Added default font face/size values for the Output Window configuration in case VC6 or eVC4 doesn't have them in the registry.
     
  • Improved the 8 bit "Analyse Current File" command image used under VC6, eVC4, VS2002 and VS2003 to match the 24 bit image used in VS2005 and VS2008.
     
  • Removed a duplicated balloon tip on trial version startup.

 

Version 1.5.12.92 (20th July, 2008)

  • When a whole project analysis task is aborted, the status of the project is now set to "not analysed".
     
  • When an issue in the Analysis Results Display is activated (by a double click or one of the "Go to..." commands), the file details within the display are no longer changed if the activated file is an implementation file or its primary header file.
     
  • Corrected a focus issue when hosted in Visual C++ 6.0 or eMbedded Visual C++ 4.0.
     
  • Fixed a bug in the installer which was preventing the update check wizard from being run correctly.

 

Version 1.5.11.89 (25th June, 2008)

  • Added Goto Previous/Next Location support to the Analysis Results Display. Note that:
     
    1. This is currently available in VS2002 onwards only, as the keyboard bindings for VC6 and eVC4 are not accessible through the automation interface, and
       
    2. The presence of other add-ins may affect the functioning of this feature under VS2002 and VS2003 due to a bug (fixed in VS2005) in the Visual Studio automation interfaces. Please refer to MSDN KB article http://support.microsoft.com/kb/555090 for further details.

  • Pressing the Enter key in the Message Lookup Display is now equivalent to pressing the "Go!" button.
     
  • Added direct support for the $(SolutionDir) and $(ProjectDir) macros to the project.lnt file writer in order to overcome a bug in the VS2008 automation interfaces.
     
  • The $(ConfigurationName) macro is now handled directly when reading the intermediate files folder. This change is only required to support VS2008, which is unreliable when it comes to expanding Visual Studio environment variables via its automation interfaces.
     
  • The UseAutoGeneratedProjectLntFile project property is now saved into the solution options file correctly [Visual Lint Professional Edition].
     
  • Fixed a bug in the Analysis Options page which was preventing the indirect file ordering option from being applied correctly in Visual Lint Standard Edition.
     
  • Corrected a bug in the resolution of relative paths within .vsprops files.
     
  • Corrected a bug in the generation of HTML reports.
     
  • Fixed a validation bug in the Configuration Wizard.
     
  • The title and registration text in the About Box is now highlighted in colour.
     
  • Added registry keys to allow the font used for raw analysis results to be set independently of the IDE "Text Output Tool Windows" setting. The keys in question are:

    HKCU\Software\Riverblade\Visual Lint\Settings\Displays\Raw Analysis Results\Font Family and
    HKCU\Software\Riverblade\Visual Lint\Settings\Displays\Raw Analysis Results\Font Size.
     
  • Visual Lint Free Edition is now licenced for non-commercial use only. Updated the licence terms, installer, About Box and licencing prompts accordingly.
     
  • When a trial installation is activated, a "thank you for trying Visual Lint" page is now displayed offering additional information and support. A similar page is displayed when a trial installation expires.
     
  • When a trial installation is uninstalled a feedback request page is now displayed.
     
  • Corrected the icons installed in the start menu for update checks and scheduling.
     
  • Update checks initiated from the start menu are no longer silent.
     
  • Removed the unnecessary balloon tip shown when updates are scheduled in the installer.

 

Version 1.5.10.83 (6th May, 2008)

  • Added update checking, via an Installaware scheduled task. Note that the product update check is scheduled from a checkbox on the completion page rather than the InstallAware default of on the next login. Start menu entries for manually defining the update schedule and manually checking for updates have also been added.
     
  • Improved the prompt shown by the Configuration Wizard when the PC-Lint installation folder cannot be located.
     
  • If a background analysis task causes a manual analysis task to abort, the manual analysis dialog will now be closed.
     
  • Corrected a validation bug in the Configuration Wizard [IMS ID 261].
     
  • Replaced std::sort with std::stable_sort to ensure deterministic secondary sort ordering in the Analysis Status and Results Displays.
     
  • If an ATL exception occurs during the solution/workspace loading process, a message box will no longer be shown - the warning will instead be logged to the status window.
     
  • Inherited property sheet (.vsprops) file specifications of the form ".\FolderName" are now parsed correctly (applicable to VS2002, VS2003, VS2005 and VS2008 IDEs).
     
  • Preprocessor directives defined within inherited property sheet (.vsprops) files are now included within the returned project configuration (applicable to VS2002, VS2003, VS2005 and VS2008 IDEs).
     
  • Corrected the ordering of additional include folder specifications inherited from a .vsprops file.
     
  • When a lint issue is double clicked on in the Analysis Results Display under Visual C++ 6.0 or eMbedded Visual C++, the selected line is now more appropriately positioned within the code editior.
     
  • ".\" additional include paths are no longer filtered out when project.lnt files are written.
     
  • If the "LINT" environment variable is set, Visual Lint will now issue a warning in the status window and clear it within the process (this change is necessary to prevent the injected command line parameters causing analysis failures. If required, the same effect can be achieved via the "Custom Analysis Options" control on the "Command Line" options page).
     
  • Corrected a bug in the Analysis Results Display which was preventing the "Go to Reference" command from working if the selected item was the first item in the display.
     

 

Version 1.5.9.79 (27th February, 2008)

  • Added (at customer request) support for additional includes within inherited property sheets (.vsprops files) under VS2002/VS2003/VS2005/VS2008.
     
  • Improved diagnostics when loading Intel C++ compiler (.icproj) projects under VS2002, VS2003, VS2005 and VS2008. This is necessary as some versions of the compiler suite have significant flaws in their integration of the compiler into the Visual Studio automation model which affect their compatibility with Visual Lint.
     
  • The "Projects" Analysis Configuration page now handles solution folders correctly.
     
  • Fixed a crash in the Analysis Results Display.
     
  • Visual C++ 6.0 project (.dsp) files containing only one project configuration are now parsed correctly.
     
  • Fixed a bug which could cause project analysis comand lines to be incorrectly generated if the project.lnt file failed to generate.
     
  • Corrected a bug in the parsing of intermediate file folders within Visual C++ projects.
     
  • Fatal errors during whole project analysis should now be reported correctly.
     
  • Fixed several potential resource leaks.
     
  • regsvr32.exe is now used for registering VisualLint.dll by the installer instead of RegisterDll.exe, which is now only provided for diagnostic purposes on Windows Vista.
     
  • Corrected a bug in the handling of upgrade keys.
     
  • Corrected minor bugs in the installer build.
     

Version 1.5.8.77 (17th December, 2007)

  • Updated the project to build under Visual Studio 2008 rather than Visual Studio .NET 2003. In consequence, the runtime library files packaged within the Installer are now those for Visual C++ 9.0 rather than 7.1.
     
  • Added a workaround for a bug in the VS2008 RTM implementation of the VCProjectEngineLibrary::VCConfiguration Visual C++ automation interface.
     
  • The "icon" control in the Lint Category Properties dialog now paints high-colour icons correctly.
     
  • Updated the readme file and Getting Started Guide packaged within the installer.
     
  • Filenames containing spaces will now be enclosed in quotes when written to project.lnt files.
     
  • Escaped quotes (""") found in additional include folder definitions within VS.NET project files will now be correctly converted back to nonescaped quotes before writing to the corresponding project.lnt file.
     
  • Corrected a bug in the project.lnt file writer which was causing the length of quoted relative pathnames containing spaces to be incorrectly reported and thus truncated when written to the file.
     
  • Fixed a bug in the resolution of relative include paths within project.lnt files.
     
  • Fixed a crash in the third party colour picker control used in the Category Properties Dialog.
     
  • Reduced the size of the icon shown in balloon tips from 32x32 to 24x24.
     
  • The Riverblade logo in the About Box now has a transparent background.
     
  • Added a "Go to Reference" command to the context menu in the Analysis Results Display. Activating the command opens a submenu containing the locations specified in any following informational messages 830 and 831 ("Reference/Location cited in prior message).
     
  • Improved the method used to check for the existance of preprocessor definitions in the project.lnt file writer so it will not incorrectly identify _AFX_DLL as being defined when a symbol containing it as a substring (for example "_HYPER_AFX_DLL") is found.
     
  • Fixed a case dependency issue in the checking of project types.
     
  • If runtime type information (RTTI) is enabled in a project configuration (/GR compiler switch), the _CPPRTTI macro is now automatically defined in the corresponding project.lnt file.
     
  • If native wchar_t types are enabled in a project configuration (/ZC:wchar_t compiler switch), the _NATIVE_WCHAR_T_DEFINED macro is now automatically defined in the corresponding project.lnt file.
     
  • Improved the handling of per file configuration properties. In particular, file specific preprocessor directives will now be correctly used during whole project analysis under VS2002 onwards.
     
  • Corrected a bug which was preventing "ItemPropertyChange" events from being recognised under VS2005.
     
  • When the "excluded from build" property of a file is changed (VS2002 onwards) the new state is now written to the solution options file. This ensures that the status is persisted when the solution is reloaded.
     
  • Improved support for per file preprocessor symbols during single file ("unit checkout") analysis when hosted in VS2002 and later versions.
     
  • Files which are excluded from background analysis are longer automatically re-analysed when saved.
     
  • Corrected a bug in the parsing of whole project analysis results.
     
  • Fixed a potential deadlock when the "Delete Analysis Results" command is activated during whole project analysis.
     
  • The Analysis Results Display now checks to see whether the analysis results have changed before reloading its contents.
     
  • The default value of the "Auto-show the Analysis Results Display when analysis results are available" option is now off, as the Visual Studio EnvDTE::Window::Activate() automation interface command used to implement this functionality can cause problems with the Visual Studio editor.
     
  • Fixed a bug which could prevent project.lnt files being written correctly if one or more projects was unloaded.
     
  • If the active platform is a non-C++ platform such as "Any CPU" the Configuration Wizard will now ignore it when determining which platforms to display in the "Includes" page.
     

Version 1.5.7.74 (29th August, 2007)

  • Whole project analysis now handles multipass analysis correctly.
     
  • Most options are stored on a per-IDE version basis where appropriate, rather than being common to all supported IDEs [IMS ID 146].
     
  • The analysis configuration is now automatically reloaded when the active platform is changed in Visual Studio 2005.
     
  • Project.lnt files are now uniquely named for IDE, configuration and platform. This ensures that .lnt files for the same configuration but different platforms in the same project do not conflict.
     
  • Visual Lint will now attempt to expand internal platform based environment variables where possible. This is primarily an issue with embedded projects (notably for Smartphone and Pocket PC platforms).
     
  • If an unexpected (and undefined) environment variable is encountered within a project during the process of writing a project.lnt file, Visual Lint now refers to an XML configuration file in order to expand the variable. A default file (Platforms.xml) is installed by default into the Visual Lint installation folder. Note that this issue primarily affects eVC4 and VS2005 installations used for embedded and mobile development.
     
  • When a file with up to date analysis results is saved while the IDE is in Build or Debug mode its status is now correctly set to "Stale".
     
  • Corrected a bug which was causing the Analysis Results Display to be cleared when a window was closed in Visual Lint Free Edition.
     
  • Analysis results files are no longer parsed when a solution is loaded under Visual Lint Free Edition.
     
  • Added a "Project" control to the Analysis Results Display. This allows for easier viewing of the analysis results for files which are physically shared between projects. In consequence, selecting a new project for a shared file in the Analysis Results Display will now cause the Project/selected File in the Analysis Status Display to automatically update if "Auto select project" is active.
     
  • Clicking on the white space to the right of the item label in the first column of the Analysis Status Display no longer incorrectly toggles the analysis state of the project or file. Note that this behaviour was due to a bug in the common control itself; this change simply implements a workaround for the incorrect behaviour.
     
  • Modifications to reduce flicker in the Analysis Status and Results Displays. Effective when running under ComCtl32 v6 or later (i.e. VS2005 or later on XP, 2003 or Vista).
     
  • Added (at customer request) an option to filter out duplicated issues from the Analysis Status and Results Displays.
     
  • The Manual Analysis Dialog and Options Property Sheet now have persistant positioning within a given session.
     
  • The progress bar within the Manual Analysis Dialog is now displayed correctly on completion when running under Windows Vista.
     
  • When the Configuration Wizard is used to create new lint configuration (.lnt) files appropriate default filenames (e.g. std_vs60.lnt) are now supplied.
     
  • Minor improvements to the Configuration Wizard "Select Folder" page.
     
  • The analysis results parser no longer requires a completion line such as "error 900: (Note -- Successful completion, nnn messages produced)". This prevents the status of files being marked as "Incomplete" if PC-Lint forgot to include the completion message.
     
  • Corrected a bug in the analysis results parser which caused it to fail if a pathname in the raw analysis results contains an opening bracket. Also added a test case for such results containing such pathnames to the corresponding unit tests [IMS ID 257].
     
  • "Analysis of this file is currently in progress" messages in the raw analysis results displays are now suffixed with the analysis results collected so far.
     
  • Raw Analysis Results are now displayed using the correct "Output Window" font settings when running under Visual Studio 6.0 or eMbedded Visual C++ 4.0.
     
  • If a std.lnt file is generated by Visual Lint, subsequent updates (either via the Configuration Wizard or when the include configuration changes) will identify the version of Visual Lint which performed the update.
     
  • If Visual Lint is running under Visual Studio 9.0, the host IDE is now reported as "Visual Studio 2008" in the Visual Lint Status pane of the Output Window rather than "Visual Studio codename Orcas" .
     
  • Corrected a bug in the storage of report options.
     
  • Fixed a potential bottleneck in the processing of options changes.
     
  • Revised the DSSharedObjects::IApplicationEvents event sink implementation for better compatibility with eMbedded Visual C++ 4.0.
     
  • Moved the "Indirect File Order" option from the "Command Line" options page to the "Analysis" options page, and added interlocks to make it obvious that the "Project, then global options" option is only applicable to single file analysis.
     
  • If the selected project in the Solution Explorer (VS2002 onwards only) is not a C/C++ project, the "Lint Configuration" command is no longer shown on its context menu.
     
  • Fixed a case sensitivity issue in the project file parser.
     
  • Optimised memory usage during whole project analysis.
     
  • File status within the Analysis Results Display is now correctly set to "Complete" when the manual analysis of a file completes in Visual Lint Free Edition.
     
  • Corrected a bug in the storage of historical solution result metrics.
     
  • Made a minor tweak to the default std.lnt filenames in the Configuration Wizard.
     
  • Corrected a bug in the Visual Studio 6.0 project file parser which caused preprocessor definitions of the form "/D _SYMBOL=Value" to fail to parse correctly.
     
  • Replaced the "Analysis Underway" icon with a less fuzzy alternative [IMS ID 238].
     
  • The "Readme" page now preceeds the "Licence Agreement" page in the installer (they were the opposite way around previously).
     

Version 1.5.6.70 (26th June, 2007)

  • Fixed a bug which was preventing the Analysis Results Display from updating if the corresponding file was not the active document [IMS ID 245].
     
  • When the "pin" in the Analysis Results Display is deactivated, the display will now re-synchronise with the active file.
     
  • The Analysis Results Display no longer clears when the corresponding file is closed if the "pin" is active.
     
  • Added support to Visual Lint Professional Edition for per-file Preprocessor Definitions and Additional Include Folders. Note that as PC-Lint does not provide a way to override the settings in a .lnt file the properties added are in addition to those defined in the corresponding project specific .lnt file. As a result, these properties are used only in single file (unit checkout) analysis and the Visual Studio $(NoInherit) property cannot be supported.
     
  • Minor corrections to the analysis results parser to handle malformed issues such as:
          -- Module:   d:\Projects\magellan\main\code\magellan\MgAIAction.cpp
    (C++)
    #include "co-msc80.h" /* generated from -header(co-msc80.h) */
    d:\Projects\magellan\main\code\magellan\MgAIAction.cpp(0): error 322:
    (Error -- Unable to open include file 'co-msc80.h')
  • Desensitised the analysis results parser to repeated backslashes ('\\') in pathnames.
     
  • Fixed a bug which was preventing the background analysis status from being set correctly when the add-in was loaded.
     
  • Fixed a bug which could cause projects to be incorrectly excluded from analysis when running with a Standard Edition licence.
     
  • The Analysis Results Display now updates appropriately as each project within the solution loads (previously, it did not load until the solution load completed).
     
  • The Analysis Results Display is now cleared when a workspace is closed under Visual Studio 6.0 or eMbedded Visual C++ 4.0.
     
  • Temporary analysis files (.tmp) are now deleted from project analysis results folders when a solution is loaded or the active solution configuration is changed.
     
  • The Manual Analysis Dialog now uses a marquee progress bar when running on Windows Vista or later.
     
  • The "View Results" button in the Manual Analysis Dialog now forces the correct results to be shown in the Analysis Results Display.
     

Version 1.5.5.69 (12th May, 2007)

  • Added support for Visual Studio 9.0 (codename "Orcas") Beta 1.
     
  • Individual files can now be manually excluded from background analysis in Visual Lint Professional Edition (this feature works in much the same way as the current project level feature). As part of this change, a "Background Lint Analysis" command has been added to the context menu for C/C++ implementation files in the VS2002/VS2003/VS2005 Solution Explorer.
     
  • Project analysis now takes into account whether files are excluded from analysis, provided Visual Lint is configured to write project specific .lnt files directly.
     
  • If a custom report stylesheet cannot be found, Visual Lint will now issue a warning (via the Lint Analysis Status pane in the Output Window) and use the default one instead.
     
  • Corrected the text in the message database for issue 960 (MISRA Rule Violation).
     
  • Added (at customer request) an option to the "Displays" options page to allow the progress control in the Manual Analysis Dialog to be hidden if desired.
     
  • Added (at customer request) a "View Results" button to the Manual Analysis Dialog.
     
  • The "Show display colours" option in the "Categories" option page is now persistant.
     
  • Fixed a bug in the options code which could cause the "IndirectFileOrder" option to be saved incorrectly.
     
  • Fixed a bug which could cause relative pathnames in solution options files to be resolved incorrectly.
     
  • Corrected a bug in the "Report" Options page which could cause the pathnames of custom solution and project stylesheets to be saved incorrectly.
     
  • The project.lnt file writer no longer attempts to resolve relative pathnames enclosed in quotes. This ensures that filenames such as "..\Folder1\Folder2" are not incorrectly expanded to fully qualified pathnames.
     
  • Project.lnt files are now written with correct Windows line endings (CR + LF as opposed to just LF).
     
  • Desensitised Visual Lint to consequtive backslashes in global include folder specifications (this is a workaround for a VS Orcas Beta 1 bug) and in project additional include folder specifications (where they can cause the folder paths to be resolved incorrectly). Also converted forward slashes to backslashes before writing project specific includes to a .lnt file.
     
  • If a whole project analysis aborts due to a fatal analysis error, the status of individual files within the project is now set correctly.
     
  • Fixed two potential divide by zero errors.
     
  • Corrected a bug in the import of custom categories.
     


Version 1.5.4.67 (31st March, 2007)

  • Integrated a new installer built using InstallAware Studio (we previously used the installation builder supplied with Visual Studio, but we have outgrown its capabilities). This installer also addresses compatibility issues with Windows Vista.
     
  • Modified elements of the user interface for consistancy with Windows Vista. As part of this task most commonly seen message box prompts have been replaced with Vista style Task Dialogs, and the appearance and layout of the Manual Analysis Dialog, Registration Dialog and About Box have had been improved. In addition, all File Dialogs displayed by Visual Lint when running under Windows Vista are now the new style ones rather than the old style Windows 2000 ones displayed under Vista for legacy applications.
     
  • Project.lnt files are now by default written directly by Visual Lint rather than by PC-Lint. This avoids problems with MFC projects and the definitions of _AFXDLL and /MD[d] in MFC projects.
     
  • Added an option to the "Command Line" page to determine whether std.lnt or the project.lnt file should be located first on the command line. This can be important when files of the same name as SDK include files are referenced through project additional includes.
     
  • When a file is saved, any analysis tasks currently running on that file are now aborted to avoid parallel re-analysis tasks on the same file. Note that under VS2005, such analysis tasks are stopped prior to the file save being executed to avoid problems with file locking [IMS ID 141].
     
  • Added limited support (VS2002/VS2003) for Intel C++ compiler 9.1 (.icproj) projects. (see http://www.intel.com/cd/software/products/asmo-na/eng/compilers/279578.htm).

    Note that VS2005 cannot be supported in this way as EnvDTE::Project::GetObject() returns E_NOTIMPL for Intel compiler projects under VS2005. As this is a prerequisite for access to the entire Visual C++ automation model, we cannot support the Intel compiler under VS2005 until this deficiency is rectified. Note also that Under VS2002 and VS2003 minor deficiencies in Intel's implementation of the Visual C++ automation interfaces (specifically the non-implementation of VCProject::GetConfigurations and GetVCProjectEngine) any project environment variables in the Additional Include Folders and Preprocessor Definitions properties within an Intel compiler project cannot currently be expanded.
     
  • When a solution containing a single project is loaded, the Analysis Status Display will automatically show the contents of that project when loading completes, rather than leaving "All Projects" selected.
     
  • Clicking on the column in the Analysis Status Display containing a count of the total issues in a category now sets the category filter in the Analysis Results Display to that category.
     
  • Corrected a bug in the resolution of relative pathnames while activating items in the Analysis Results Display.
     
  • Added a "Lookup Meaning" command to the context menu of the Analysis Results Display. When activated, this will display details of the selected issue in the Lint Message Lookup Display, making the Display visible if required.
     
  • Disabled or hid a number of irrelevant controls under VS6/eVC4.
     
  • Improved lockouts which prevent toolwindows being docked when the Visual Assist "VA View" is active under Visual Studio 6.0 or eMbedded Visual C++ 4.0.
     
  • Files which are excluded from build (currently supported under VS2002 onwards) are no longer used when calculating analysis progress metrics [IMS ID 247].
     
  • Added a "Close this dialog when analysis completes" checkbox to the Manual Analysis Dialog. at customer request. Also corrected the calculation of the content string extent to avoid unwanted text wrapping.
     
  • Visual Lint now checks the include configuration in std.lnt against that defined in the IDE when a workspace is loaded under Visual C++ 6.0 or eMbedded Visual C++ 4.0 (comparable checks for later IDEs are already present).
     
  • Added a "Do not ask me again" checkbox to the include folder mismatch prompt displayed when a discrepency between the contents of std.lnt and the current include folder configuration is detected. When activated, the "Automatically update the lint include configuration when the Visual Studio include folder configuration is changed" option is deactivated [IMS ID 251].
     
  • If the Visual Studio 6.0/eMbedded Visual C++ 4.0 add-in determines that its VSPackage is missing (which can happen if a legacy version of Visual Studio is installed after Visual Lint) it will attempt to deploy it to the correct folder (note that this is likely to fail under Windows Vista due to UAC, so additional work is necessary on this platform).
     
  • Fixed a bug which was preventing some custom solution/project analysis options from being loaded correctly.
     
  • Added a horizontal scrollbar to the "Include Folders" control in the Configuration Wizard.
     
  • Added ".cc" to the list of supported C++ file extensions.
     
  • Corrected a potential buffer overflow in the project file parser.
     
  • Minor corrections to the way Additional Include Folders are resolved.
     
  • Corrected calls to PathResolve() to ensure that the correct drive is used when resolving paths of the form "\folder1\folder2" while generating project specific .lnt files.
     
  • When a file is manually analysed, the corresponding command line is now displayed in the "Visual Lint Status" pane of the Output Window (this already during background analysis).
     
  • Added functionality to allow Visual Lint to perform analysis with only a std.lnt file (i.e. without an options.lnt file) at customer request.
     
  • Fixed an assert in the project file parsing code, which fired if the parser found environment variables it could not resolve (but did not necessarily need to - the project.lnt file writer should handle such cases) [IMS ID 250].
     
  • Fixed a minor bug in the Visual Studio service pack reading code which was causing it to fail when run under a limited user account.
     
  • Updated the copyright notice in the Visual Studio About Box (applies to VS2002 onwards).
     
  • Minor updates to the Readme and Licence text displayed by the installer.
     

Version 1.5.3.63 (1st February, 2007)

  • Improved diagnostics while loading projects, in order to track down a solution load failure in VS6.
     
  • IApplication (Visual Studio 6.0 automation) pointers are now marshalled correctly between threads. This change is precautionary.
     
  • PathResolve() is no longer called when writing additional includes to a .lnt file if the includes are relative. This change prevents fully qualified relative paths from being resolved incorrectly.
     
  • Added support for Embedded Visual C++ 4.0 [IMS ID 181].
     
  • Fixed a bug in the Analysis Status Display which caused the included/excluded from analysis status of a project to be incorrectly toggled when text in a column other than the first was clicked.
     
  • Fixed a bug in the Analysis Status Display which could cause the status of a project to fail to update as analysis proceeded.
     
  • Where possible the Visual Studio service pack is now identified in the status pane on startup, and in the subject of emails sent from the About Box.
     
  • Updated copyright notices from "Copyright (c) 2004-2006" to "Copyright (c) 2004-2007".
     

Version 1.5.2.62 (9th January, 2007)

  • Added an "Internal Errors" category to differentiate Internal PC-Lint Errors (messages 200-299 and 1200-1299). If the analysis results parser cannot parse a message, it will also use this category.
     
  • When a category is edited, the ordering of the categories within the "Categories" options page is now defined automatically by severity. In consequence, the "Move Up" and "Move Down" buttons have been removed.
     
  • Project.lnt files can now be generated directly by Visual Lint when hosted under Visual Studio 6.0 (this option was previously only available in VS2002 onwards). Any shell environment variables found within the files or additional include folders sections of a Visual Studio 6.0 project (.dsp) file will now be expanded correctly.
     
  • Improved handling of relative paths within Visual Studio 6.0 projects.
     
  • Fixed a minor bug in the Analysis Results Display which could cause an erroneous "Invalid Pointer" error message if a file could not be opened [IMS ID 241].
     
  • The Analysis Status and Results Displays now check that pathnames are valid before attempting to open the corresponding file [IMS ID 241].
     
  • When a file completes analysis, the Analysis Status Display no longer re-sorts if the current sort column is "Filename".
     
  • Fixed a bug in the generation of project lint analysis command lines which could cause analysis to fail under some circumstances.
     
  • Links in HTML reports are now generated using forward slashes rather than backslashes for compatibility with Apache [IMS ID 240].
     
  • Corrected the default sort order in the project analysis report template.
     
  • Added PC-Lint 8.00v error 1085 (Invalid definition of 'String') to the message database.
     


Version 1.5.1.61 (20th November, 2006)

  • Fixed a bug in the generation of PC-Lint command lines which was preventing Visual Lint from using the PC-Lint executable if it was located in a folder path containing one or more spaces.
     
  • Fixed minor bugs which were preventing solution/project warning policy files from being configured unless a corresponding solution/project lint configuration file was also defined [IMS ID 234].
     
  • Corrected the default value for the "Warning Policy Usage" control on the "Project" Options page.
     
  • The "Project specific custom analysis options" control on the "Project" Options page is now enabled/disabled appropriately.
     
  • Resetting the solution or project lint configuration now enables/disables all controls appropriately.
     
  • Fixed a potential crash when a file was removed from a project.
     
  • When a new category is added, defaults for the "Plural Name" and "XML Element" fields are now automatically filled in from the category name.
     
  • Corrected the operation of the "Back" button in the Analysis Status Display [IMS ID 216].
     
  • Changed the colour of the "Back" button in the Analysis Status Display from green to blue, to reflect emerging Windows conventions (Vista/Media Player 11).
     
  • Fixed a minor bug in the validation of fields in the Lint Issue Categories Dialog.
     
  • The "Pin" button in the Analysis Results Display is now hidden in Visual Lint Free Edition, as it only works in Standard Edition and above.
     
  • Widened the initial width of the "Category Name" column in the Analysis Results Display slightly so the built-in category "Elective Note" is not truncated.
     

Version 1.5.0.60 (12th November, 2006)

  • Added support for Visual Studio 6.0.
     
  • Added support for Visual Lint Professional Edition licence keys and the corresponding features (whole project analysis, inclusion/exclusion of selected projects, customisable HTML report stylesheets, custom categories and per solution/project lint configurations).
     
  • The "All Projects" option in the Analysis Status Display now displays status information for complete projects rather than individual files. The new "All Files" option now performs the same function as "All Projects" did previously [IMS ID 182].
     
  • Fatal errors are now displayed in white text on a red background in both the Analysis Status and Results Displays. Note that in the Status Display, a file containing one or more Fatal Errors would previously have been displayed in gray if the analysis did not complete. This has now been corrected.
     
  • The Analysis Status Display now sorts the display after a project is updated. This ensures that the display remains correctly sorted during project loading.
     
  • The Analysis Results and Status Display now display pathnames using ellipses to fit the available space.
     
  • Changed the colour used for Elective Notes to one which does not conflict with the colours used to indication project and file status in the Analysis Status Display. Also changed the colour for Informational messages as a result.
     
  • The Analysis Status Display now preloads the display of projects while the solution is loaded. Projects which have not yet been loaded by Visual Lint display with the status "Loading" and are displayed in grey.
     
  • The Analysis Status Display no longer resets the selected project or fully refreshes as the solution is loaded. All updates are now incremental, and the current selection is preserved.
     
  • Revised the colours used in the Analysis Status Display and added icons. Also rationalised the code to decide what colour display elements should be in preparation for making it customisable.
     
  • Files containing fatal errors are now displayed within the Analysis Status Display in white text on a red background in order to draw attention to them.
     
  • The Analysis Results Display now has the capability to display raw analysis results directly. This feature is intended to replace the existing "Lint Analysis Results" pane within the Output Window (although that will still be optionally available in VS2002 onwards) and extends the capability to easily view raw analysis results to developers running Visual Lint within Visual Studio 6.0.

    In consequence, the "Preferred window for analysis results" option has been removed, and an option added to determine whether raw analysis results should be echoed to the Output Window as well as the Analysis Results Display. By default, this option is enabled.
     
  • Added a "pin file" button to the Analysis Results Display. When activated, this control will pin the current file within the display, preventing its contents from being replaced when the active file changes.
     
  • Prevented the Analysis Results Display from being unnecessarily refreshed when an implementation file was activated after its corresponding header file.
     
  • If a header file is the active file in the IDE and the corresponding implementation file is being analysed, the Analysis Results Display is now updated accordingly.
     
  • When a lint issue in the Analysis Results Display is double clicked, the line the issue relates to is vertically centred in the code editor. Note that this change has been made for VS2002 onwards - the behaviour under VS 6.0 is unchanged at present since it does not expose the necessary interfaces.
     
  • When an issue is double clicked on in the Analysis Results Display, the selection is extended by one character to ensure that long lines are not scrolled to the extreme right in the code editor.
     
  • Added an icon to the Analysis Results Display to indicate the status of the analysed file.
     
  • Many other minor changes, bug fixes and improvements.
     

Version 1.0.5.48 (31st May, 2006)

  • Modified the balloon tip component used by Visual Lint to display notifications when a solution analysis completes etc. for compatibility with Hardware DEP (Data Execution Prevention) enabled systems.
     
  • Increased the duration of the tooltip from 5s (the default) to 30s.
     
  • When a message is double clicked on in the Analysis Results Display, the selection is extended by one character to ensure that long lines are not scrolled to the extreme right in the code editor.
     
  • Further improvements to the Analysis Results parser (to handle messages such as "Error 314: Previously used .lnt file: C:\Lint\options.lnt").
     
  • The command line used during each analysis task is now displayed in the Visual Lint Status pane of the Output Window.
     

Version 1.0.4.46 (18th April, 2006)

  • Added support for VS2005 solution folders.
     
  • When a lint issue in the Analysis Results Display is double clicked, the line the issue relates to is now centred in the code editor
     
  • The analysis results parser now copes better with lint messages which are not in the expected format. This is most likely to happen with some fatal error messages or those generated during a specific walk
     
  • Guarded against window object retrieval failures while activating files in the Analysis Results Display. This change is precautionary.
     
  • CAddInEventManager::Opened() now reports via the Status Window if an unexpected exception occurs. This change is precautionary.
     

Version 1.0.3.45 (4th March, 2006)

  • Changed the terminology used to describe collections of lint results from "Messages" to "Issues".
     
  • When analysis of a solution has completed, the change in issues from the previous analysis is now displayed. Also fixed a minor bug in the code used to determine when the analysis of a solution has completed.
     
  • The sort column and order in the Analysis Status and Results Displays are now persistant.
     
  • The Analysis Results Display now shows the status and total issue count of the file [IMS ID 135].
     
  • Analysis results are now written to temporary files first. This reduces the possibility of a sharing violation while accessing the results files.
     
  • The Analysis Results Display no longer refreshes when the currently displayed file is re-activated.
     
  • Modified the Visual C++ "ItemAdded" and "ItemRemoved" event handlers for VS2005 compatibility.
     
  • If a configuration file is read only the Configuration Wizard now prompts to ask whether it should be overwritten [IMS ID 56].
     
  • When the analysis of a file completes, the raw analysis results are now read directly from a cached copy within the thread task rather than from the file on disk. This is not only faster but eliminates any possibility of a sharing violation while reading the file.
     
  • The Analysis Results Display and Status Display now use virtual list controls (i.e. with the LVS_OWNERDATA style). As a result, they can now handle larger solutions and sets of results more efficiently than previously.
     
  • Analysis results for open files are now cached to optimise speed and memory useage.
     
  • Optimised the way raw analysis results are written to the Lint Analysis Results pane of the output window.
     
  • Improved the way analyis failures are handled. Instead of a message box, the file for which analysis failed is highlighted in the Analysis Status Display, and details of the failure (including the command line used) are shown in the Lint Analysis Results pane of the Output Window.
     
  • Solution Pathnames are now read from a helper function which uses the Solution.Properties.Item("Path") property rather than Solution.FullName. This allows the add-in to better handle direct loading of projects rather than solutions (the "Path" property is set under these circumstances; Solution.FullName is not).
     
  • COM event sinks are now version independent, for compatibility with VSTS editions of Visual Studio 2005 [IMS ID 161].
     
  • Visual Lint is now compatible with PC-Lint 7.50. As PC-Lint 7.50 cannot parse .vcproj files, Visual Lint now checks the version of PC-Lint before asking it to generate project specific .lnt files. If the version is prior to 8.00, Visual Lint writes the file directly instead [IMS ID 162].
     
  • For support purposes, details of the version and edition of Visual Studio and PC-Lint in use are now recorded in the Status Window when the add-in is loaded, and in the subject of emails sent from the About Box.
     
  • HTML Reports are no longer automatically written automatically unless the corresponding option is active. Also added some additional diagnostics to help troubleshoot HTML report transformation failures, and regenerated the project report template - which seemed to be most likely to fail [IMS IDs 159 and 160].
     
  • Pathnames are no longer directly compared. Instead, a helper function is used for safety.
     

Version 1.0.2.43 (18th January, 2006)

  • A DTE interface pointer obtained from the COM Global Interface Table (GIT) is now used while loading solutions. This avoids potential problems caused by marshalling of COM interfaces which can occur when running under VS2005. In order to allow threads using the GIT to operate correctly, worker threads within the add-in are now implemented as multithreaded appartments [IMS ID 152].
     
  • The "BeforeExecute" command event handler no longer pauses analysis if the "Active Configuration" property is about to change, as under some circumstances VS2005 RTM will source this event regularly even though the configuration is not changing. In such cases this could cause the solution analysis state to unilaterally switch back to "Paused" when the user presses "Play" [IMS ID 152].
     
  • The code used to read the intermediate files folder for a Visual C++ project has been modified for compatibility with GIT marshalled COM interfaces - which do not support backward compatible VCProjectEngineLibrary interfaces. This is a direct consequence of the changes made to address IMS ID 152.
     
  • Changed the method of reading include folder configurations in order to improve compatibility with VS2005. The required VCPlatform interface is now obtained directly from VCProjectEngine, which itself can be obtained from the properties collection maintained by VCProjects. The same method also works with VS2002 and VS2003, so it has been adopted for all platforms [IMS ID 100].
    Note that of the platforms supported by VS2005 (Win32, x64, Pocket PC 2003 and Smartphone 2003) the wizard currently only supports the Win32 platform - this will be expanded in a subsequent release to include the other available platforms [see IMS ID 156 for details].
     
  • When running under VS2005 the include folder and active configuration are not checked periodically as they are under VS2002/2003. Not only is it unnecessary with VS2005 (which does not have the command event bug which makes it necessary for VS2002/2003) but doing so can cause instability in the VS2005 IDE.
     
  • The eAction parameter received by the "BuildBegin" event handler is now cached, as under VS2005 the companion "BuildDone" event can receive an invalid value. This caused Visual Lint to fail to restart analysis after a Rebuild All (but not Build, which works correctly).
     
  • The VCProjectEngineLibrary::_dispVCProjectEngineEvents "ItemPropertyChange" event has an additional parameter in VS2005. Visual Lint now handles this event correctly, irrespective of whether the add-in is running under VS2002, VS2003 or VS2005.
     
  • Fixed an intermittent crash when a solution is closed or a message in the Analysis Results Display is activated while the display is being updated [IMS ID 153].
     
  • Analysis results now appear correctly when a source file is analysed while no solution is open.
     
  • The "Show Display" commands now reset the position of a floating toolwindow if its size is far too small (this can happen from time to time due to a bug in Visual Studio itself). This provides an easier way of recovering a "lost" toolwindow than resetting the IDE's window layout.
     
  • When the add-in is being uninstalled the user is now prompted as to whether it should attempt to remove its commands and warns that this could affect IDE customisations (at least under VS2005) [IMS ID 154].
     
  • The parent window of uninstallation prompts and the progress dialog is now set correctly.
     
  • Error messages returned while writing HTML reports are now written to the Status Display for diagnostic purposes.
     
  • When the add-in is being uninstalled instances of Visual Studio it launches to remove its commands are now configured not to load any add-ins. This prevents any unexpected UI from being shown by other add-ins during this process [IMS ID 109].
     
  • Three +linebuf parameters are now injected into the generated command line to reduce the likelyhood of a buffer overflow in PC-Lint during analysis [IMS ID 149].
     
  • The way unloaded projects are handled has been improved. In particular, they are now identified by name when the solution is loaded (the name is accessible, the pathname is not!) and removing an unloaded project from the solution no longer results in an uncaught exception [IMS IDs 150 and 148 respectively].
     
  • Guarded the solution "BeforeClosing" event handler against calls when no solution is open (this can happen during project conversion, for example) [IMS ID 142].
     
  • The active configuration and include folder configurationare no longer checked while if no solution is open. This prevents problems during project conversion in VS2005 [IMS ID 142].
     
  • Removed unnecessary status window activation calls.
     
  • Updated the PC-Lint message database to PC-Lint 8.00t. Also improved the formatting of messages containing code samples.
     


Version 1.0.1.41 (19th December, 2005)

  • Added an "Order" column to the Analysis Results Displays so it can be sorted by the order messages are generated by PC-Lint. This assists in interpreting messages such as 830 ("Location cited in prior message") which relate to the preceeding message.
     
  • Corrected the icons used in the Analysis Results Display.
     
  • Trailing backslashes are now stripped from the Intermediate File Folder configuration before it is used in a PC-Lint command line, as PC-Lint gets rather confused by them [IMS ID 144].
     
  • Lint messages which are not associated with a source file (e.g. Fatal Errors generated during the analysis process) are now parsed correctly.
  • Messages 200-399 are now correctly identified as Fatal Errors [IMS ID 144].
     
  • The Analysis Results Display no longer attempts to jump to the source line if the lint double clicked message is not associated with a source file [IMS ID 144].
     
  • Analysis results for the file displayed in the active window are now automatically displayed when the solution finishes loading [IMS ID 147].
     
  • When a file without analysis results is activated, the Lint Analysis Results pane of the Output Window is now cleared irrespective of whether the IDE is in Design or Debug mode.
     
  • Corrected the URL of the online store in the registration page/dialog.
     
  • Balloon tips are now only displayed if the host instance of Visual Studio is the foreground window [IMS ID 143].
     

Version 1.0.0.40 (29th November, 2005)

  • Initial public release
 
"I really believe that this tool has contributed more than any other in improving the quality of the software I release."
- Simon Raybould, Freelance Software Consultant