Riverblade - LintProject Version History


LintProject Version History

Version 2.0.10.19 (26th August, 2010)

  • Corrected the parsing of RuntimeLibrary definitions in Visual C++ 2010 project (.vcxproj) files [VS2010] [from Visual Lint 2.5.4.136].

  • Speeded up the parsing of Visual Studio 2010 C++ project (.vcxproj) files further [VS2010] [from Visual Lint 2.5.4.136].

  • 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] [from Visual Lint 2.5.4.136].

  • Corrected the analysis results parser to strip leading and trailing whitespace from source file pathnames [also in Visual Lint 2.5.4.136].

  • 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] [from Visual Lint 2.5.4.136].

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

  • 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] [from Visual Lint 2.5.4.136].

  • he operating system version information written to the application logfile now includes the name of the OS rather than just the OS version number [from Visual Lint 2.5.4.136].

  • Corrected the analysis results parser to strip leading and trailing whitespace from source file pathnames [from Visual Lint 2.5.4.136].


Version 2.0.9.18 (26th July, 2010)

  • Added basic support for the CppCheck analysis tool. In consequence, the /folder option now saves PC-lint and CppCheck settings independently.

  • Corrected a bug which caused incorrect report links to be generated if the output folder contained at least one period (".").

  • 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] [from Visual Lint 2.5.3.134].

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

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

  • 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] [from Visual Lint 2.5.3.134].

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


Version 2.0.8.16 (16th June, 2010)

  • Modified the 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 in a project.lnt file [from Visual Lint 2.5.2.131].

  • Improved the parsing of .vcxproj (VS2010) project files to support changes to the structure of .vcxproj files between VS2010 RC and RTM [from Visual Lint 2.5.2.131].

  • Added information on the version of PC-lint being used to the banner displayed when analysis starts. Analysis reports also now show this information.

  • Text written to logfiles should now have consistent line endings.

  • Paths containing ampersands are now quoted before use in the same way as those containing spaces.


Version 2.0.7.15 (5th April, 2010)

  • Corrected a bug in the parsing of .vcproj project files introduced in the previous build [VS2002-VS2008].

  • Updated the theme of the installer to match that used in the Visual Lint installer.

  • Minor updates to the readme file packaged within the installer.


Version 2.0.6.14 (1st April, 2010)

  • Trailing backslashes on intermediate folder paths are now filtered out before generating the PC-lint command line. This is necessary as PC-lint will raise an erroneous warning 686 and abort analysis when presented with a directive of the form -i"FolderName\".

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

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

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

  • MsBuild property sheet user macros are now correctly processed [VS2010] [from Visual Lint 2.5.1.128].

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

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

  • Corrected a bug in the parsing of MSBuild project files which do not explicitly specify the name of a project [VS2010] [from Visual Lint 2.5.1.128].

  • 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] [from Visual Lint 2.5.1.128].

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

  • Corrected a bug in the handling of user macros within Visual Studio property sheet (.vsprops) files [VS2002-VS2008] [from Visual Lint 2.5.0.127].

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

  • 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 [from Visual Lint 2.5.0.125].

  • 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 [from Visual Lint 2.0.10.124].


Version 2.0.5.13 (1st December, 2009)

  • Added a /include switch to the command line. When used, it will analyse ONLY those files matching the specified wildcard.

  • Files which are "excluded from build" in the current configuration will no longer be analysed (to override this behaviour, use "/include=*" on the command line) [VC6/eVC4/VS2002/VS2003/VS2005/VS2008/VS2010].

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

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

  • Fixed a bug in the reading of include folders for Borland C++ Builder 5.0/6.0.

  • Fixed a bug in the calculation of the total issue count in a solution.

  • If a configuration is not specified on the command line, the first one found will now be assumed.

  • Added .cc and .cxx to the list of C/C++ implementation file extensions recognised by LintProject Professional.

  • Corrected a minor bug in the handling of project file paths.

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


Version 2.0.4.12 (17th August, 2009)

  • 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) [from Visual Lint 2.0.7.113].

  • Added support for reading XML format analysis results generated using the env-xml.lnt indirect file.

  • Added support for Borland C++ Builder 5.0/6.0 project group (.bpg), project (.bpr) and package (.bpk) files. The PC-lint environment file env-xml.lnt is used by default with these files.

  • Added support for Borland C++ Builder 2006 project project group (.groupproj) and project (.bdsproj) files. The PC-lint environment file env-xml.lnt is used by default with these files.

  • Added support for CodeGear C++ Builder 2007/2009 project group (.groupproj) and project (.cbproj) files. The PC-lint environment file env-xml.lnt is used by default with these files.

  • Solution/workspace configurations specified on the command line are now case-independent.

  • Added -fpa to the generated command line. This is necessary for limited compatibility with env-cb.lnt, which contains a +fpa option which causes a "Type any key to terminate" message to be output to the console on the completion of analysis of each file.

  • The PC-lint environment options (env-*.lnt) file used is now displayed on the console. If the file is not available an error will be raised.

  • Added a new option (/env) to allow the env-*.lnt file to be specified on the command line.

  • If the env file specified (or selected by default) is not found in the PC-lint LintProject Professional will try to copy it from the "lnt" subfolder within the PC-lint installation.

  • The project name shown in reports is now always that specified in the project file, rather than the name of the file itself.

  • Fixed a bug which could cause project status to be momentarily shown as "Underway (100%)" in analysis reports.

  • Further improvements to the analysis results parser.

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

  • Minor improvements to the console output during analysis.


Version 2.0.3.11 (17th June, 2009)

  • Added support for Texas Instruments Code Composer Studio 3.x (.pjt) projects.

  • Added skeleton support for Visual Studio 2010 (.vcxproj) projects.

  • Added support for Intel C++ Compiler 11.0 projects, which use a different project file format to previous versions [from Visual Lint 2.0.7.113].

  • The help screen ('/?' switch) now shows which solution/workspace and project file types are supported.

  • Project configuration specified on the command line are now case-independent.

  • For loop compliance settings are now read from project files and written to the corresponding project indirect files directly.

  • Corrected a bug in the parsing of the /param switch introduced in LintProject Pro 2.0.2.9.

  • Improved command line validation and error reporting.

  • Added logging of command lines and console output (to CSIDL_COMMON_APPDATA\Riverblade\LintProject Professional).

  • Updated the readme file to include newly supported development environments and corrected a typographical error in the licence file.


Version 2.0.2.10 (18th May, 2009)

  • PC-lint raw analysis results generated without an env-vc*.lnt environment file can now be parsed correctly. Also improved the handling of messages in the module wrap-up [from Visual Lint 2.0.6.111a].

  • Wildcards can now be used to exclude both files and projects from analysis.

  • Corrected an issue with relative paths in the handling of the PC-lint std.lnt indirect file.

  • Empty projects are now no longer shown with "Pending" status in the solution report.

  • Removed the "Uninstall..." shortcut from the Start Menu (as per current guidelines the Control Panel "Add/Remove Programs" applet should be used instead).

  • Revised the way command line swiches are parsed. As a result, a delimiter ('=' or ':') should now be used with switches (e.g. /configfile) which have following parameters.

  • 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) [from Visual Lint 2.0.4.107].

  • Corrected the category totals and sort order in the "Issue Count by Project" section of the HTML solution report template [from Visual Lint 2.0.4.107].

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

  • 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 [from Visual Lint 2.0.5.109].

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

  • Fixed a bug which would cause a crash if a project file containing files of the form "\\filename.ext" was encountered [from Visual Lint 2.0.6.111].

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

  • Added support for Visual Studio variable $(WebDeployPath) in .vcproj files [from Visual Lint 2.0.6.111].

  • 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 [from Visual Lint 2.0.6.111].

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

  • Guarded against malformed -i directives (e.g. /I"Path) in Visual C++ response files [from Visual Lint 2.0.6.111].

  • 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") [from Visual Lint 2.0.6.111].

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

  • Improved error handling when an unsupported solution, workspace or project file type is specified.

Version 2.0.1.8 (13th February, 2009)

  • Corrected the installer properties text.

  • Corrected the product name displayed in the ReadMe and Licence files.

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

  • Updated the Platforms.xml file (which is used to support per platform environment variables) with new platform names for Visual Studio 2005 Smartphone and Pocket PC SDKs.

  • Corrected a bug which was preventing reports from being correctly generated if a standalone project was analysed.

  • Minor revisions to HTML report stylesheets.

  • Display "Saved configuration" when /save is supplied on the command line.

Version 2.0.0.7 (24th January, 2009)

  • Initial release (based on the Visual Lint 2.0 codebase, hence the v2.0 designation).
 
"I don't even have pc-lint yet, and the only thing I actually know about it is from reading the ads for it in C++ Users Journal. But thanks to your article, I plan on purchasing a copy in the next few days! Thanks!!"
- Comment posted on the original LintProject article on
The Code Project