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.
Added support for Visual C++ 2012 project (.vcxproj) files using the Windows Driver Kit 8 (WDK) platform toolset. [126.96.36.199]
Added support for the analysis of QNX Momentics projects to VisualLintGui, VisualLintConsole and the Eclipse plug-in. [188.8.131.52]
The 32 bit build of the Eclipse plug-in is now built with Java 1.5 for compatibility with QNX Momentics 4.7. [184.108.40.206]
Added support for the analysis of Atmel Studio 6.1 projects to VisualLintGui, VisualLintConsole and (if registered manually) the Visual Studio plug-in. [220.127.116.11]
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. [18.104.22.168]
Added support for Visual Studio 2013. [22.214.171.124]
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.
Added stub size-options.lnt and gcc-include-path.lnt PC-lint indirect files to the installer to make using the co-gcc.lnt indirect file a little easier. [126.96.36.199]
Converted the PC-lint 8.0 and 9.0 message database files packaged within the Visual Lint installer from Access to SQLite. [188.8.131.52]
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. [184.108.40.206]
Updated the version of TeeChart8.ocx packaged within the installer to 220.127.116.11. [18.104.22.168]
Added the PC-lint indirect file misra3.lnt (MISRA 2012) to the installer and updated misra-cpp.lnt to reflect changes introduced in PC-lint 9.00k. [22.214.171.124]
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. [126.96.36.199]
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 deleted in the public build of 9.00k). [188.8.131.52]
Updated various other PC-lint indirect files as a result of the public release of PC-lint 9.00k. [184.108.40.206]
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. [220.127.116.11]
Updated the PC-lint co-msc120.lnt (Visual Studio 2013) indirect file to reflect the changes recently made to co-msc110.lnt. [18.104.22.168]
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.
Added support for makefiles using the QNX C/C++ compiler (qcc.exe). [22.214.171.124]
Added support for makefiles where the compiler location is explicitly specified rather than located via the system path. [126.96.36.199]
Built-in compiler preprocessor symbols are now automatically included in the analysis configuration for makefile projects using GCC based compilers. [188.8.131.52]
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. [184.108.40.206]
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.
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. [220.127.116.11]
Added support for the insertion of CppCheck inline suppression directives (e.g. // cppcheck-suppress variableScope) from the Analysis Results Display context menu. [Visual Lint Enterprise Edition][18.104.22.168]
Raised the maximum number of analysis threads in the Analysis Options page from 10 to 16. [22.214.171.124]
Modified the internal definition of the VERA_ROOT environment variable for compatibility with Vera++ 1.2.1. [126.96.36.199]
The CppCheck analysis results parser can now recognise issues of the form "cppcheck: warning: Couldn't find path given by -I ''". [188.8.131.52]
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.
The Configuration Wizard "Library Configuration" and "Author Recommendations" pages no longer require you to select at least one indirect file before continuing. [184.108.40.206]
The Analysis Status Display now updates the status of projects while loading. [220.127.116.11]
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. [18.104.22.168]
The Message Lookup Display now remembers the last displayed issue definition when hosted in VisualLintGui. [22.214.171.124]
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. [126.96.36.199][Visual Lint Enterprise Edition]
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. [188.8.131.52]
Duplicate issues are now filtered out from the Analysis Results Display "All files" view. [184.108.40.206]
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. [220.127.116.11]
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. [18.104.22.168]
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. [22.214.171.124]
Added the ability to export analysis results data in user defined formats (defined using an external configuration file) to VisualLintConsole. [126.96.36.199]
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.
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) files to be loaded in place of newer .cproject files.
Fixed a bug in the implementation of the VisualLintConsole /includeproject, /includefile, /excludeproject and /excludefile switches. [188.8.131.52]
Fixed a bug in the persistence of filename data to Analysis Configuration (.vloptions or .vlconfig) files. [184.108.40.206]
Modified the Visual Studio plug-in to guard against duplicated EnvDTE::SolutionEvents::Opened() events erroneously 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. [220.127.116.11]
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 loaded project is subsequently closed it will be unloaded by Visual Lint. [18.104.22.168]
Fixed a bug in VisualLintConsole which could cause duplicated configurations to be listed when the /config? switch was used with an Eclipse workspace. [22.214.171.124]
VisualLintConsole now validates configuration names before attempting to proceed with the analysis. [126.96.36.199]
Fixed a bug parsing Visual C++ 2010/2012 project (.vcxproj) files 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. [188.8.131.52]
Fixed a bug in the parsing of Eclipse project files containing linked resources whose location is specified by URI. [184.108.40.206]
Fixed a bug in the handling of Eclipse project closed events. [220.127.116.11]
Further optimisations in the loading of Eclipse workspaces containing closed projects. [18.104.22.168]
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. [22.214.171.124]
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. [126.96.36.199]
Added the ability to detect file save events to the Eclipse plug-in. [188.8.131.52]
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. [184.108.40.206]
Fixed a bug in the parsing of project .location files within Eclipse workspaces. [220.127.116.11]
Fixed a bug in the generation of solution analysis reports. [18.104.22.168]
Duplicated analysis issues are now filtered out from the data written to export files written by VisualLintConsole using the /exportfile switch [22.214.171.124]
Various modifications for compatibility with solutions (e.g. the WDK "Toaster" sample) in which two projects share the same name and filename. [126.96.36.199]
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. [188.8.131.52]
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. [184.108.40.206]
Fixed a bug in the querying of available CppCheck analysis issues via the --errorlist switch. [220.127.116.11]
Fixed a bug in the implementation of the VisualLintConsole /showcmdlines switch. [18.104.22.168]
Fixed a bug in the Analysis Statistics Display which manifested when using the CppCheck analysis tool. [22.214.171.124]
Fixed a bug which caused unnecessary display updates when when checking/unchecking multiple selected items in the Analysis Statistics Display using the spacebar. [126.96.36.199]
Fixed a bug in the storage of analysis results which affected the analysis of Eclipse workspaces using multiple analysis tools. [188.8.131.52]
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. [184.108.40.206]
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. [220.127.116.11]
Improved the method used to determine which project configurations to load given an active workspace/solution configuration. [18.104.22.168]
Fixed a crash which could occur if a project was unloaded/closed while the solution/workspace was still loading. [22.214.171.124]
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. [126.96.36.199]
Fixed a bug which could prevent details of system includes for GNU makefile projects from being written to generated PC-lint project indirect files. [188.8.131.52]
Fixed a bug in the display of analysis issues (e.g. PC-lint message 457) which do not include source file information. [184.108.40.206]
Corrected the contents of the co-gcc.h header installed with the PC-lint 9.0 lnt files to match that available on the PC-lint 9.0 patch page. [220.127.116.11]
Updated the documentation for PC-lint messages 166, 510, 516, 829, 1009, 1085, 1962 and 1963. [18.104.22.168]
Added documentation for PC-lint message 142 ("case constant 'String' used previously in this switch"). [22.214.171.124]
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. [126.96.36.199]
Fixed a bug in the processing of analysis results generated using an IncrediBuild XGE grid. [188.8.131.52]
Fixed a bug in the VisualLintConsole /exportformat switch which affected issue export format template files. [184.108.40.206]
Fixed a bug in the parsing of analysis results generated by the FindBugs Java analysis tool. [220.127.116.11]
Fixed a minor bug in the parsing of CppCheck analysis results which do not include a line number. [18.104.22.168]
Desensitised the Analysis Results Display "Go to source" command to source file pathnames which contain unnecessary "..\" or ".\" sequences. [22.214.171.124]
Corrected the banner text for std.lnt PC-lint indirect files written by the Configuration Wizard. [126.96.36.199]
Fixed a bug in the Analysis Results Display context menu when hosted in VisualLintGui. [188.8.131.52]
Fixed a bug in the sorting of Analysis Status Display items for excluded files/projects. [184.108.40.206]
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. [220.127.116.11]
Fixed a bug in the parsing of Visual Studio 2012 projects using the v110_xp platform toolset. [18.104.22.168]
Fixed a bug in the parsing of Atmel Studio 6.1 GCC projects. [22.214.171.124]
Fixed a bug in the sorting of the "Issue count by ID" table within HTML reports. [126.96.36.199]
Fixed a bug parsing malformed PC-lint issues of the form: (0): Issue 628: (Warning -- no argument information provided for function). [188.8.131.52]
When a file is saved, a background thread is now used to mark any affected files as stale. [184.108.40.206]
The Analysis Results Display "Go to Reference" context menu command now works correctly if display filters are active. [220.127.116.11]
The Analysis Statistics Display now works correctly with inverted (i.e. "show only issues with these IDs") display filters. [18.104.22.168]
Fixed a bug in the VisualLintConsole analysis results export which affected the SATE XML format (/exportformat=SATE). [22.214.171.124]
Reduced the memory usage of VisualLintConsole when the /exportformat switch is used to export large data sets. [126.96.36.199]
Fixed a bug which could cause include directives for an unexpanded environment variable (%IncludePath%) from being used in the analysis configuration for a Visual Studio 2010/2012/2013 project. [188.8.131.52]
Fixed a bug in the Visual Studio 2012 .vcxproj project file parser which caused a freeze when loading projects which referenced masm.targets. [184.108.40.206]
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. [220.127.116.11]
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). [18.104.22.168]
Fixed a bug which could cause a crash in x64 builds of the Eclipse plug-in. [22.214.171.124]
Fixed a crash in the "Issues" page of the Category Properties dialog. [126.96.36.199]
Fixed a bug in the Analysis Results Display "View Analysis Report" command. [188.8.131.52]
Fixed a bug in the parsing of Visual C++ 2013 project (.vcxproj) files which could cause the system include folders to be read incorrectly. [184.108.40.206]
When parsing Visual C++ 2010/2012/2013 project (.vcxproj) files, duplicated &ly;ClInclude> entries for source files are now detected and filtered out. [220.127.116.11]
Fixed a bug in the expansion of the Visual Studio 2008 $(FrameworkSDKDir) variable. Other versions of Visual Studio are unaffected. [18.104.22.168]