Visual Lint Version History
Version 8.0.12.359 (22nd February, 2023)
-
Added support for
$([MSBuild]::GetDirectoryNameOfFileAbove())
,$([MSBuild]::GetPathOfFileAbove())
,$([System.IO.Path]::Combine())
and$(MSBuildToolsVersion)
to the Visual Studio 2010-2022 project (.vcxproj
) file parser. Together, these allow Visual Lint to correctly loadDirectory.Build.props
property files located in the solution file folder. -
Updated the PC-lint Plus compiler indirect files
co-rb-vs2017-shared.h
,co-rb-vs2019-shared.h
andco-rb-vs2022-shared.h
to check if_MSVC_LANG
is defined before checking its value. -
Added support for PC-lint Plus 2.0:
-
Visual Lint is now compatible with PC-lint Plus installations containing
pclp64.exe
but notpclp32.exe
. This change is necessary to support PC-lint Plus 2.0, which does not includepclp32.exe
. -
Dedicated support files for PC-lint Plus 2.0 are now installed into the
C:\Program Files (x86)\Riverblade\Visual Lint\Tools\PC-lint Plus\2.x
folder. -
Updated the PC-lint Plus Visual Studio 2022 compiler indirect file
co-rb-vs2022.lnt
to enable C++ 20 support. -
Added a PC-lint Plus 2.x message database.
-
Updated the user interface and online help to reflect the fact that PC-lint Plus is now a product of Vector Informatik GmbH, following their acquisition of the assets of Gimpel Software LLC.
-
Version 8.0.11.357 (18th January, 2023)
-
Fixed an MSBuild parsing issue which affected the definitions of the vcpkg project variables
$(_ZVcpkgRoot)
,$(_ZVcpkgManifestRoot)
and$(_ZVcpkgInstalledDir)
. -
Added support for Codegear C++ Builder 11.2 project files.
-
Updated the PC-lint Plus compiler indirect files
co-rb-vs2022/19/17.lnt
to prevent a warning (553 - "undefined preprocessor variable, assumed 0") being issued for the Visual C++ built-in compiler symbol_MSVC_LANG
in some circumstances. -
Updated the PC-lint Plus compiler indirect file
co-rb-vs2022.lnt
to support Visual Studio 2022 v17.4.3. -
Updated the PC-lint Plus compiler indirect file
co-rb-vs2019.lnt
to support Visual Studio 2019 v16.11.22. -
Updated the PC-lint Plus compiler indirect file
co-rb-vs2017.lnt
to support Visual Studio 2017 v15.9.51.
Version 8.0.10.355 (16th September, 2022)
-
The VisualLintConsole command line parser now accepts spaces between the name and value of a command line switch. As a result, switches of the form.
/switchname = <value>
are now accepted, whereas previously only/switchname=<value>
would work. -
Entries in the file list within manually created custom project (
.vlproj
) files can now use wildcards. Note however that if the project file is subsequently edited by VisualLintGui, the file list will be expanded to explicitly reflect the files actually found. -
Fixed a bug opening analysis tool manual PDFs located on UNC drives.
-
Fixed a bug in VisualLintGui which could cause some file save operations to fail.
-
Updated the PC-lint Plus compiler indirect file
co-rb-vs2022.lnt
to support Visual Studio 2022 v17.2.6. -
Updated the PC-lint Plus compiler indirect file
co-rb-vs2019.lnt
to support Visual Studio 2019 v16.11.17. -
Updated the PC-lint Plus Boost library indirect file
lib-rb-boost.lnt
. -
Removed nonfunctional "Print" menu commands from VisualLintGui.
-
Updates to various help topics.
Version 8.0.9.353 (25th May, 2022)
-
Added support for Codegear C++ Builder 11 Alexandria.
-
Fixed a crash in the Visual Studio plugin when a file was opened in Visual Studio 2022 v17.2.0 Preview. The crash was apparently caused by a change or regression in the VS2022 implementation of
EnvDTE::DocumentEvents::DocumentOpening()
. -
When analysing Visual Studio projects the appropriate
-std
and-m32
or-m64
switches are now automatically added to generated Clang-Tidy command lines. -
Fixed a bug in the Clang-Tidy analysis results parser which caused issues containing multiple square brackets to be parsed incorrectly.
-
Updated the PC-lint Plus compiler indirect file
co-rb-vs2022.lnt
to support Visual Studio 2022 v17.1.6. -
Updated the PC-lint Plus compiler indirect file
co-rb-vs2019.lnt
to support Visual Studio 2019 v16.11.13. -
Updated the PC-lint Plus compiler indirect file
co-rb-vs2017.lnt
to support Visual Studio 2017 v15.9.47. -
Updated the PC-lint Plus compiler indirect files
co-rb-vs2017.lnt
,co-rb-vs2019.lnt
andco-rb-vs2022.lnt
to limit the value of_MSVC_LANG
to201703L
. This is necessary as the version of the Clang front-end used by PC-lint Plus 1.4.x and earlier does not include C++ 20 compiler intrinsics. -
Updated the installer to terminate any instances of
mspdbsrv.exe
(the Visual Studio program database symbol server) before installing the Visual Studio plugin to VS2017/19/22. -
Updated the text on the "Analysis Tools" page of the installer.
-
Updated the readme and help documentation to reflect the fact that Windows 11 is now supported.
Version 8.0.8.351 (10th February, 2022)
-
Updated the PC-lint Plus compiler indirect files
co-rb-vs2019.lnt
andco-rb-vs2022.lnt
to filter out errors in<xutility>
when analysing some Visual Studio 2019 and 2022 projects. -
Fixed a bug in the handling of preprocessor symbol properties in Visual Studio projects.
-
VisualLintGui will now open files dropped on its main window.
-
Updated the PC-lint Plus compiler indirect file
co-rb-vs2022.lnt
to support Visual Studio 2022 v17.0.5. -
Updated the PC-lint Plus compiler indirect file
co-rb-vs2019.lnt
to support Visual Studio 2019 v16.11.9. -
Minor updates to the online help.
Version 8.0.7.349 (3rd January, 2022)
-
The Visual C++ project (
.vcxproj
) file parser now defines the value of_MSVC_LANG
appropriately if/std:c++14
,/std:c++17
,/std:c++20
or/std:c++latest
are used within a Visual Studio 2015, 2017, 2019 or 2022 project configuration. -
Fixed a bug in the Clang-Tidy analysis results parser which could cause some "note" issues to be hidden.
-
Fixed a bug in the handling of UTF-8 files in VisualLintGui.
-
Updated the PC-lint Plus compiler indirect file
co-rb-vs2022.lnt
to support Visual Studio 2022 v17.0.4. -
Updated the PC-lint Plus compiler indirect file
co-rb-vs2019.lnt
to support Visual Studio 2019 v16.11.8. -
Updated the PC-lint Plus compiler indirect file
co-rb-vs2017.lnt
to support Visual Studio 2017 v15.9.42. -
Updated the PC-lint Plus library indirect file
lib-rb-atl.lnt
. -
Updated the help topic for the Clang-Tidy Analysis Configuration Dialog "General" page.
Version 8.0.6.347 (16th November, 2021)
-
Added direct download links for open source analysis tools such as Clang-Tidy and CppCheck to the Configuration Wizard, "Analysis Tool" Options page and Active Analysis Tool Dialog.
-
When the installation folder of an analysis tool is set in the Configuration Wizard for a particular IDE/project type, the path will now be used as the default for all project types. It can of course still be overridden on a project type by project type (or solution/workspace/project by solution/workspace/project) basis.
-
Updated the PC-lint Plus compiler indirect file
co-rb-vs2022.lnt
to support the public release of Visual Studio 2022 v17.0.0. -
Updated the Clang-Tidy message database to reflect changes in Clang-Tidy 13.0.0.
-
Corrected the "Status" text in the "Active Analysis Tool" dialog.
Version 8.0.5.346 (21st October, 2021)
-
The Visual Studio plugin is now compatible with Visual Studio 2022 Preview.
-
The Visual Lint installer now includes dedicated VSIX extensions for Visual Studio 2017 (
VisualLintPlugIn_vs2017.vsix
), Visual Studio 2019 (VisualLintPlugIn_vs2019.vsix
) and Visual Studio 2022 (VisualLintPlugIn_vs2022.vsix
). -
If makefile output is read while loading a C/C++ project, it is now used to determine which files will be built.
-
The Project Properties Dialog now includes a dedicated field for built-in (i.e. compiler defined) preprocessor definitions. Note that these include those inferred by other project settings, e.g. the Visual C++ "Runtime Library" property (compiler switches
/MD[d]
,/MLd
and/MT[d]
) which infer_DEBUG
/NDEBUG
,_MT
and_DLL
. -
Built-in (i.e. compiler defined) preprocessor symbols are now written separately in generated PC-lint/PC-lint Plus project indirect files from those specified directly.
-
Updated the PC-lint Plus compiler indirect file
co-rb-vs2022.lnt
to support Visual Studio 2022 v17.0.0 Preview 5.0. -
Updated the PC-lint Plus compiler indirect file
co-rb-vs2019.lnt
to support Visual Studio 2019 v16.11.5. -
Updated the PC-lint Plus compiler indirect file
co-rb-vs2019.lnt
to support Visual Studio 2017 v15.9.40. -
Updated the VisualLintConsole help screen to reflect support for Visual Studio 2022 project and solution files.
-
Updated the installer to clarify that the "Remove Visual Lint commands from Visual Studio" option only applies to Visual Studio 2002-2008.
Version 8.0.4.342 (23rd September, 2021)
-
The Eclipse C/C++ project (
.cproject
) file reader now attempts to take into accountbuildTools.path
andtoolchain.path
properties defined in preferences (.prefs
) files while reading the properties of makefile builds. If not specified, the make tool and compilers used by the makefile are assumed to be available on thePATH
. -
The VisualLintGui "Open Containing Folder" command now works with local HTML files (e.g. HTML analysis reports).
-
The "Makefile output text" control in the Makefile Properties Dialog now wraps text.
-
Updated the PC-lint Plus compiler indirect file
co-rb-vs2017.lnt
to support Visual Studio 2017 v15.9.39. -
Updated the PC-lint Plus compiler indirect file
co-rb-vs2019.lnt
to support Visual Studio 2019 v16.11.3. -
Updated the PC-lint Plus compiler indirect file
co-rb-vs2022.lnt
to support Visual Studio 2022 v17.0.0 Preview 4.0. -
When loading a project which uses makefiles, the following variables will be defined for troubleshooting purposes:
$(MakeToolPathName)
,$(MakeToolchainFolderPath)
,$(MakeWorkingFolder)
,$(MakeExecutedCommandLine)
and$(MakeOutputText)
. -
Added additional logging when loading projects which use makefiles.
-
Updated the information on supported platforms etc. in the readme and online help.
The Visual Lint plug-in included in this build is not compatible with Visual Studio 2022 Preview.
Visual Lint beta builds with full support for Visual Studio 2022 Preview are however available. Please contact us if you would like to become a beta tester.
Version 8.0.3.340 (17th August, 2021)
-
Visual Studio 2022 now appears as a supported project type in VisualLintGui and VisualLintConsole.
-
Added a stub PC-lint Plus compiler indirect file for Visual Studio 2022 (
co-rb-vs2022.lnt
) to the installer. This will be replaced by an expanded implementation in due course. -
Updated the values of
_MSC_VER
and_MSC_FULL_VER
in the PC-lint Plus compiler indirect fileco-rb-vs2019.lnt
to support Visual Studio 2019 v16.10.4. -
Fixed a bug in the Visual Lint Options Dialog which caused a "Visual Studio has encountered an unexpected error" message when the dialog was invoked while the Visual Studio plugin was loaded but turned off.
-
The Eclipse C/C++ project (
.cproject
) file reader now takes into account the value ofbuildPath
attributes when parsing the<builder>
elements which define the properties of makefile builds. If not specified, the value ofbuildPath
is assumed to be${ProjDirPath}
. -
Fixed a handful of typos in the helpfile.
The Visual Lint plug-in included in this build is not compatible with Visual Studio 2022 Preview.
Visual Lint beta builds with full support for Visual Studio 2022 Preview are however available. Please contact us if you would like to become a beta tester.
Version 8.0.2.338 (28th June, 2021)
-
Updated the values of
_MSC_VER
and_MSC_FULL_VER
in the PC-lint Plus compiler indirect fileco-rb-vs2019.lnt
to support Visual Studio 2019 v16.10.0. -
Project (e.g.
$(ConfigName)
or${ConfigName}
) and environment (e.g.%COMPUTERNAME%
) variables can now be used in the values of the "Analysis configuration" [PC-lint/PC-lint Plus], "Warning policy" [PC-lint/PC-lint Plus] and "Generate reports in..." properties of a solution/project specific analysis configuration. [Visual Lint Professional and Enterprise Editions] -
Project (e.g.
$(ConfigName)
or${ConfigName}
) and environment (e.g.%COMPUTERNAME%
) variables can now be used in the values of the "Analysis tool installation folder", "Analysis tool executable", "When solution analysis completes..." and "Post-process PC-lint indirect (project.lnt
) files after generation..." properties of a solution/project specific analysis configuration. [Visual Lint Enterprise Edition] -
Fixed a bug in the implementation of the Solution/Project Analysis Configuration Dialog "Analysis tool executable" property. [Visual Lint Enterprise Edition]
-
Fixed a bug in the implementation of the Solution/Project Analysis Configuration Dialog "Warning policy" property. [PC-lint/PC-lint Plus] [Visual Lint Professional and Enterprise Editions]
-
Modified the Visual Studio plug-in to prevent duplicated entries for projects from appearing in the Analysis Status Display (this could be caused by the IDE sourcing duplicated
ProjectAdded
events, and these are now filtered out). -
The Configuration Wizard "Analysis Tools" page no longer allows multiple analysis tools to be selected.
Version 8.0.1.337 (20th April, 2021)
-
If the Visual Studio plugin is selected for installation and the Visual Studio Debug Console (
VsDebugConsole.exe
) is running, the installer will now ask you to close it before installation can proceed. -
Updated the interface with IncrediBuild to support IncrediBuild 9.5.x. [also in Visual Lint 7.0.12.336]
-
IncrediBuild analysis tasks can now be colour coded in the IncrediBuild Build Monitor from within the Visual Studio, Atmel Studio and Eclipse plug-ins. [also in Visual Lint 7.0.12.336]
-
Fixed a bug which could cause duplicate IncrediBuild analysis tasks to be queued. [also in Visual Lint 7.0.12.336]
-
Updated the prompt displayed if an IncrediBuild installation was not found when IncrediBuild analysis was enabled. [also in Visual Lint 7.0.12.336]
-
Updated the values of
_MSC_VER
and_MSC_FULL_VER
in the PC-lint Plus compiler indirect fileco-rb-vs2019.lnt
to support Visual Studio 2019 v16.4.4. -
Updated the values of
_MSC_VER
and_MSC_FULL_VER
in the PC-lint Plus compiler indirect fileco-rb-vs2017.lnt
to support Visual Studio 2017 v15.9.35. -
Various corrections and updates to help topics.
Version 8.0.0.335 (27th March, 2021)
8.0.0.335 is the first Visual Lint 8.0 release, superseding Visual Lint 7.0.
As a major update, existing per-user Visual Lint 1.x, 2.x, 3.x, 4.x, 5.x, 6.x and 7.x licences must be upgraded to work with this version. The following changes are included:
- Projects whose physical location is defined using system environment variables within Visual Studio, AVR Studio 5.0 or Atmel Studio solutions (.sln, .avrsln or .atsln) files can now be loaded correctly.
- Improved support for Eclipse project/build variables. In particular, variables of the form ${workspace_loc:/<ProjectName>/<resource_path>} and ${workspace_loc:/${ProjectName}/<resource_path>} should now be resolved correctly, even if the project is physically located outside of the workspace folder and <resource_path> is a linked resource.
- Updated the values of _MSC_VER and _MSC_FULL_VER in the Visual Studio 2017 PC-lint Plus compiler indirect file co-rb-vs2017.lnt to support VS2017 v15.9.34.
- Updated the values of _MSC_VER and _MSC_FULL_VER in the Visual Studio 2019 PC-lint Plus compiler indirect file co-rb-vs2019.lnt to support VS2019 v16.9.2.
- Added support for the Clang-Tidy analysis tool. Clang-Tidy is an open source C++ analysis tool from the LLVM Project which is especially notable for its ability to automatically fix some of the analysis issues it detects.
- Updated the PC-lint Plus message database to reflect changes in PC-lint Plus 1.4.
- Added PC-lint Plus library indirect files lib-rb-stl.lnt and lib-rb-boost.lnt.
- The PC-lint Plus library indirect file lib-rb-win32.lnt no longer includes tuning directives for the ATL, WTL and MFC libraries - instead, dedicated indirect files for these libraries (lib-rb-atl.lnt, lib-rb-wtl.lnt and lib-rb-mfc.lnt respectively) are now supplied.
If you analyse ATL, WTL or MFC code your PC-lint Plus analysis configuration will need to be updated accordingly. The implementations of lib-rb-win32.lnt for PC-lint 8.0 and 9.0 are unaffected. - Added a "Exclude files matching these wildcard masks" option to the Advanced Analysis Options Dialog. This can be used to (for example) automatically exclude generated files such as Qt moc_*.cpp files from analysis. Multiple masks can be specified by delimiting them with semicolons.
- Revised the .vlconfig file format. The changes are backward compatible, so old format files can still be read and will be updated when saved.
- Analysis Configuration files now include the name and major/minor version of the product which wrote them. Note that the full build version is not included, as that could cause unnecessary diffs in the resultant .vlconfig files.
- Added the ability to override the preprocessor symbol and include folder properties of arbitrary project types using the Project Properties Dialog. This allows the analysis configuration of a project to be further customised (e.g. by injecting additional preprocessor symbols) without affecting the build environment. If the properties of the project are overridden in this way, a <projectfilename>.vlproj file will be written alongside the project file to store the overridden properties. [Visual Lint Professional, Enterprise and Build Server Editions]
- Various changes to the implementation of options.
- The "Auto" value of the Maximum background analysis tasks option now allocates threads at 75% of the CPU logical core count.
- Manual analysis can now optionally automatically fix some detected issues. To enable this option, select Clang-Tidy as the active analysis tool and check the "Apply suggested fixes" option in the Clang-Tidy Analysis Configuration Dialog. [Visual Lint Enterprise and Build Server Editions]
- Added the Clang-Tidy Analysis Configuration Dialog, which contains a variety of options for configuring Clang-Tidy analysis. For example, the dialog allows header and line filters to be defined and includes options to define which Clang-Tidy checks are active.
- The Issue Documentation Display can now show documentation for CppCheck and Clang-Tidy issues.
- Replaced the TeeChart charts in the Analysis History and Results Displays with JqPlot (Javascript) equivalents as already used in HTML analysis reports. As part of this change the "Stacked Bar Chart" view has been removed from the Analysis History Display.
- The Project Properties Dialog (and comments within generated project indirect ("project.lnt") files) now explicitly shows any project variables within the system include path unless the "Use VS2012/VS2010 system headers for compatibility with PC-lint 9.00L or earlier" option on the "Analysis Tool" Options page is active.
- The Property List Dialog now filters out blank lines when displaying include folder paths etc.
- The Project Variables Dialog now displays IAR Embedded Workbench format variables (e.g. $PROJ_DIR$) correctly.
- The Analysis Results Display "Raw Analysis Results" view now attempts to normalise newlines for display purposes. This affects the Clang-Tidy analysis tool specifically, as it can generate output with a mixture of line endings.
- The CppCheck Analysis Configuration Dialog "Checks" control is now an MRU combo box.
- The Send Feedback Dialog is now modeless.
- The Active Analysis Tool Dialog is now resizable and its contents sortable. In addition the meaning of the "Status" column has been made clearer.
- The Advanced Analysis Options Dialog is now resizable.
- The Configuration Wizard is now resizable.
- The CppCheck Analysis Configuration Dialog is now resizable.
- The Options Dialog is now resizable.
- Display filters are now host and toolchain independent.
- Moved code editor marker options from the "Displays" Options page to the "Editor" Options page.
- Removed the "Auto-show the Analysis Results Display when analysis results are available" option from the "Displays" Options page.
- Moved the "Check for new blogposts" option from the "Displays" Options page to the "Updates" Options page.
- When a solution/workspace is closed, the displays are now cleared first and (in VisualLintGui only) a "Solution Closed" message written to the Status Bar when the process is complete.
- The "Insert Directive" command on the Analysis Results Display context menu can now also be used to suppress Clang-Tidy analysis issues.
- The "Lookup Meaning" command on the Analysis Results Display context menu is now available when analysing with CppCheck or Clang-Tidy.
- Added an "Apply Fixes" command to the Analysis Status Display context menu. This command applies all fixes identified by Clang-Tidy to the selected implementation files.
- Added a "Troubleshooting | View Fixes" command to the Analysis Status Display context menu. This command displays the contents of the Clang-Tidy .fixes file (if any) corresponding to the selected implementation file. These are YAML files associated with the clang-apply-replacements tool and which contain details of the issues Clang-Tidy has identified - and any changes it identified to fix them.
- Fixed a bug in the expansion of project variables in multi-field strings where more than one field expands to the same variable. This manifested in Visual Studio 2019 where the include path "$(VC_IncludePath);$(WindowsSDK_IncludePath)" only expanded the first instance of $(WindowsSdkDir).
- Fixed a bug which could affect the parsing of VisualDSP project files in the 64 bit version of VisualLintConsole.
- Fixed a crash which which could occur while generating a Clang-Tidy command line for a standalone source file which is not part of any project.
- Fixed a bug in the Analysis Results Display charts when rendering summaries of issues with embedded quotes in the issue title.
- Fixed a bug in the Analysis Statistics Display which could cause some issues to be incorrectly displayed with the wrong issue category. The bug was identified while adding support for Clang-Tidy to the display.
- Fixed a bug in the Analysis Status Display "Delete Analysis Results" context menu command which could cause an analysis task to be created for a file which was excluded from background analysis.
- Fixed a bug which could prevent affected source files from being marked as stale when a header file was changed. The bug was identified while adding support for Clang-Tidy.
- Fixed a bug which could cause uncommitted changes in the Property List Dialog to be lost if the "Expand project variables" checkbox was checked.
- Fixed a bug in the x64 build of the Eclipse plugin.
- Fixed a minor bug in the "Command Line" Options page.
- Parsing operations on MSBuild project files can now be aborted part way through. This should make certain operations (e.g. changing configurations immediately after loading a solution) more responsive.
- The Display Filter will no longer automatically attempt to suppress instances of issue 974 (note -- worst case stack usage...) if the active analysis tool is not either PC-lint or PC-lint Plus.
- The Solution/Project Analysis Configuration Dialog now resizes correctly.
- Corrected the tab order of the Solution/Project Analysis Configuration Dialog.
Host Environments:
Analysis Tools:
Installation:
Configuration:
Analysis:
User Interface:
Commands:
Bug Fixes:
Version 7.0.12.336 (20th April, 2021)
-
Updated the interface with IncrediBuild to support IncrediBuild 9.5.x.
-
IncrediBuild analysis tasks can now be colour coded in the IncrediBuild Build Monitor from within the Visual Studio, Atmel Studio and Eclipse plug-ins.
-
Fixed a bug which could cause duplicate IncrediBuild analysis tasks to be queued.
-
Updated the prompt displayed if an IncrediBuild installation was not found when IncrediBuild analysis was enabled.
-
Various corrections and updates to help topics.
Version 7.0.11.332 (2nd February, 2021)
-
Updated the values of _MSC_VER and _MSC_FULL_VER in the PC-lint Plus compiler indirect file co-rb-v2017.lnt to reflect those in the latest Visual Studio 2017 update (VS2017 v15.9.31).
-
Updated the values of _MSC_VER and _MSC_FULL_VER in the PC-lint Plus compiler indirect file co-rb-v2019.lnt to reflect those in the latest Visual Studio 2019 update (VS2019 v16.8.4).
-
The project variables $(CEVER), $(ARCHFAM) and $(_ARCHFAM_) are now automatically defined when analysing Visual Studio 2008 projects for the WEBMAINT_SDK (ARMV4I) platform.
Version 7.0.10.329 (4th January, 2021)
-
The ${eclipse_home} and ${software_location} project variables are now defined when parsing S32 Design Studio for ARM projects.
-
Any Eclipse project variables (i.e. "${VARNAME}") which Visual Lint cannot expand will now be converted to the standard OS format (i.e. %VARNAME%) before any properties referencing them are written to a PC-lint or PC-lint Plus project indirect (project.lnt) file. This allows the values of Eclipse project variables to be defined as system environment variables and (for example) injected using the PC-lint/PC-lint Plus -setenv() directive.
-
Fixed a bug in the generation of PC-lint/PC-lint Plus command lines for projects containing per-file preprocessor definitions.
-
Fixed a bug in the generation of analysis command lines containing preprocessor definitions whose values contain quotes. The bug affected analysis command lines for PC-lint, PC-lint Plus and CppCheck.
-
Fixed a bug which could prevent VisualLintGui code editor views from reflecting changes to files which have been externally modified.
Version 7.0.9.324 (16th September, 2020)
-
When a custom report folder is defined in the Options Dialog "Reports" page, generated reports will now be written into subfolders identifying the solution/workspace, analysis tool and analysed solution/workspace configuration rather than just the solution/workspace name. This allows analysis reports for the same project but using different analysis tools or configurations to co-exist without overwriting each other.
-
Fixed a bug in the persistance of the "Generate reports in..." report options in the Options Dialog "Reports" page.
-
Updated the PC-lint Plus message database to reflect changes in PC-lint Plus 1.3.5.
Version 7.0.8.322 (16th July, 2020)
-
Fixed a crash in the Analysis Results Display if the "Report" button was used when the "All Files" view was selected.
-
Fixed a bug which could cause charts to fail to render in analysis reports.
-
Fixed a bug in the MSBuild project file parser which could cause some MSBuild property groups to be incorrectly parsed.
-
Fixed a bug in the Advanced Analysis Options Dialog which affected VisualLintConsole.
-
The PC-lint/PC-lint Plus "Compiler Configuration" Configuration Wizard page no longer shows indirect files which are used as part of the implementation of other PC-lint Plus compiler indirect files.
-
Fixed minor display bugs in the PC-lint/PC-lint Plus "Information","Compiler Configuration","Analysis Configuration File" and "Warning Policy File" Configuration Wizard pages.
-
If the active analysis tool is anything other than PC-lint or PC-lint Plus the nonfunctional "Issues" page in the Category Properties Dialog is now hidden.
Version 7.0.7.318 (21st April, 2020)
-
The Visual C++ built-in preprocessor symbol _MSC_VER is now defined on the generated CppCheck command line when analysing Visual Studio 2019 projects.
-
Appropriate defaults (e.g. the compiler indirect file co-rb-vs2019.lnt) are now offered when creating a PC-lint Plus analysis configuration for Visual Studio 2019.
-
Updated the values of _MSC_VER and _MSC_FULL_VER in the PC-lint Plus compiler indirect file co-rb-v2017.lnt to reflect those in the latest Visual Studio 2017 update (VS2017 v15.9.21).
-
Updated the values of _MSC_VER and _MSC_FULL_VER in the PC-lint Plus compiler indirect file co-rb-vs2019.lnt to reflect those in the latest Visual Studio 2019 update (VS2019 v16.5.1).
-
Fixed a bug in the Configuration Wizard "Select Analysis Tool Installation Folder" page.
-
Fixed a bug in the implementation of the "Active Analysis Tool" option.
-
Fixed a bug in the implementation of the .vlconfig file "Solution specific Analysis Tool" property. [Visual Lint Enterprise and Build Server Editions]
-
Fixed a display bug in the Configuration Wizard "Information" page. Note that this page is PC-lint and PC-lint Plus specific.
-
Corrected the title of the "PC-lint" page in the Analysis Configuration Dialog to "PC-lint Plus" when the active analysis tool is PC-lint Plus.
Version 7.0.6.316 (3rd March, 2020)
-
Fixed a bug in the parsing of Visual Studio MSBuild expressions using the [MSBuild]::GetDirectoryNameOfFileAbove() function which was preventing the system include folder path from being read correctly in Visual Studio 2019 v16.4.4.
-
Updated the values of _MSC_VER and _MSC_FULL_VER in the PC-lint Plus compiler indirect file co-rb-vs2019.lnt to support Visual Studio 2019 v16.4.4.
-
Modified the PC-lint Plus Visual Studio 2019 compiler indirect file co-rb-vs2019.lnt to suppress an instance of error 4392 (constexpr declaration follows non-constexpr declaration) in the header file $(VCToolsInstallDir_160)\include\intrin0.h.
-
Added help documentation for the fields (e.g $(index), $(SourceFile) and $(LineNo) ) which can be used in exported analysis results files.
-
Updated the helpfile to explicitly reference the PC-lint Plus analysis tool throughout.
-
Added a "PC-lint/PC-lint Plus multipass analysis" help topic.
-
Updated links within the online help as necessary.
Version 7.0.5.314 (23rd January, 2020)
-
If an output report folder is specified on the command line and its path is relative, VisualLintConsole now resolves it before starting analysis. This ensures that the path referenced in any status/progress messages is is unambiguous.
-
Fixed a bug in VisualLintConsole in the copying of Javascript baggage files to the (optional) output report folder.
-
Fixed a minor display bug in the VisualLintGui "Projects" Display.
Version 7.0.4.313 (3rd December, 2019)
-
Added support for wildcards to the text filters in the Analysis Status, Analysis Statistics, Analysis Results and Stack Usage Displays and Display Filter Dialog.
This allows (for example) files to be easily excluded from analysis by using a wildcard text filter in the Analysis Status Display.
-
Added a /writevlconfigfiles switch to VisualLintConsole to allow the user to use VisualLintConsole to incrementally update analysis configuration (.vlconfig) file(s) for the current solution/workspace/project.
-
Added the environment variable _RB_CONFIGURATION to the generated PC-lint/PC-lint Plus command line. This includes the name of the configuration, and like _RB_PLATFORM can be used to dynamically select options within an indirect (.lnt) file.
-
The "Delete Analysis Results" command now correctly deletes per-project analysis results and report baggage files.
-
Improved a prompt which was shown by the Configuration Wizard if it was unable to write any affected files on completion.
-
Locked out the program information (+program_info) option on the Command Line Options page if the active analysis tool is PC-lint Plus, as this directive is currently PC-lint 9.0 specific.
-
Generated PC-lint Plus command lines now escape the pathname of the stack usage report file if it contains quotes (generated PC-lint 9.0 command lines are unaffected as spaces in the pathname do not cause issues for it).
-
Fixed a bug in the parsing of ExcludedFromBuild attributes in Visual C++ 2010-2019 (.vcxproj) project files.
-
Fixed a bug which affected projects containing more than one file with the same name.
-
Fixed a bug in the parsing of cpplint analysis results of the format: "
( ".): error cpplint: [ ] [ ] -
Corrected a help topic.
Version 7.0.3.311 (24th September, 2019)
-
Fixed a bug in the Visual Studio 2017/2019 installation process which can cause an invalid filename to be specified for VSIX logfiles written to the %TEMP% folder.
-
The timestamps of any property (.props, .targets or .vsprops) files referenced by a Visual Studio project are now taken into account when determining whether a new PC-lint/PC-lint Plus indirect (.lnt) file needs to be written.
-
Added a breadcrumb bar to HTML solution, project and file reports to make navigating to the report for the parent entity (e.g. from file to project) easier.
-
Fixed a bug which could cause an invalid -setenv() directive to be generated on the PC-lint Plus analysis command line if a platform name referenced in a project contained one or more spaces.
-
Replaced the "invalid key entered" balloon tip in the Registration Key Dialog with an inline text field.
-
Added a missing help topic.
Version 7.0.2.310 (24th July, 2019)
-
Added a +rw(noexcept) directive to the Visual Studio 2015 and 2017 PC-lint 9.0 compiler indirect files co-msc140.lnt and co-rb-vs2017.lnt respectively. This allows code which uses the noexcept keyword to be analysed more cleanly.
As PC-lint 9.0 does not officially support modern C++ code other analysis errors may still occur when you analyse modern C++ code with PC-lint 9.0. As such we recommend that you update to PC-lint Plus to analyse code for modern C++ compilers such as GCC 4.x/5.x or Visual Studio 2013/15/17/19. Please contact us for details. -
Fixed a bug in the installer which could prevent the Visual Studio plug-in from being installed to Visual Studio 2019.
-
Fixed a bug in the VisualLintGui Products Display "Add Existing File" context menu command.
-
Fixed a bug in the update check process which could result in incorrect text being displayed for a major update (e.g. to Visual Lint 7.x). [also in Visual Lint 6.5.8.309]
Version 7.0.1.308 (10th June, 2019)
-
System include folder and for loop compliance settings can now be read from Visual Studio 2019 project files which use the v142 toolset.
-
Device specific includes (e.g. "
/RTE/Device/TLE9879QXA40 ") are now read when loading Keil uVision 5 projects. -
Updated the value of _MSC_FULL_VER in the PC-lint Plus compiler indirect files for Microsoft Visual Studio 6.0, 2008, 2010, 2012, 2013, 2015, 2017 and 2019 to reflect the version of the most recent update of the compiler shipped with each. Also enabled C++ 17 support (-std=c++17) with Visual Studio 2017 (VS2017 update 9.4 is C++ 17 complete) and Visual Studio 2019.
-
Removed an erroneous directive from the PC-lint Plus library indirect file rb-win32-pclint10.lnt (an implementation file invoked by lib-rb-win32.lnt).
-
Fixed a bug in the Analysis Tool Options Page which could prevent the "Browse for installation folder" button from working correctly.
-
Fixed a bug in the Project Properties Dialog which affected the editing of configurations within custom projects.
-
Fixed a bug in the VisualLintGui Products Display "Remove File" context menu command.
-
The Configuration Wizard "Select Analysis Tool Installation Folder" page no longer indicates that you can buy PC-lint licences from Riverblade as this analysis tool has now been superseded by PC-lint Plus.
-
VisualLintGui now displays the correct page title when loading the "Blog" page on the Riverblade website.
-
Fixed a typo in the "Product Not Configured" dialog.
Version 7.0.0.307 (30th March, 2019)
7.0.0.307 is the first Visual Lint 7.0 release, superseding Visual Lint 6.5. As a major update, existing Visual Lint 1.x-6.x licences must however be upgraded to work with this version.
Upgrades from Visual Lint 5.x and 6.x per-user licences are available in our online store. Please contact us for a quote if you need an upgrade from an earlier version.
The following changes are included:
General
- Replaced Visual Lint Standard Edition with Visual Lint Personal Edition.
Host Environments:
-
Added support for Microsoft Visual Studio 2019 to the Visual Studio plug-in. VisualLintGui and VisualLintConsole have also been updated to support Visual Studio 2019 solution and project files.
-
Removed support for Windows XP, Windows Vista and Windows Server 2003 (although the software should still function on these platforms, we no longer test on them).
Analysis Tools:
-
PC-lint Plus is now recognised as a distinct analysis tool from PC-lint 8.0/9.0. As a result it is now straightforward to switch between the two products.
-
Added PC-lint Plus specific compiler indirect file co-rb-vs2019.lnt for Visual Studio 2019.
-
The environment variable _RB_PLATFORM on the generated PC-lint Plus command line now includes the string name of the platform rather than an enumerated value.
-
Added the environment variable _RB_TOOLCHAIN to the generated PC-lint Plus command line. This is used to determine which compiler indirect file to use in Atmel Studio projects where the AVR platform (which can be either 8 bit or 32 bit) is used. In such cases the toolchain (e.g. 'com.Atmel.AVRGCC32') is unambiguous and can be used instead.
-
Added a PC-lint Plus indirect file (co-rb-as7.lnt) for Atmel Studio 7.x to the installer. This conditionally invokes compiler indirect files for either ARM (32 bit), AVR (8 bit) or AVR (32 bit) compilers based upon the active platform and toolchain.
-
Added additional PC-lint Plus suppression directives to the indirect file lib-rb-win32.lnt supplied within the installer.
Installation:
-
The installer will now ask you to close third party development environments (devenv.exe, atmelstudio.exe, eclipse.exe etc.) before installation can continue only if the corresponding plugin is selected for installation.
-
Removed the PC-lint 8.0 message database.
Configuration:
- If it has not yet been configured, Visual Lint no longer prompts to run the Configuration Wizard when it is started. Instead, the user is prompted only when they attempt to start manual or background analysis.
Analysis:
- When a Visual Studio solution is loaded, the version reported is now that corresponding to the highest version of platform toolset in the solution. e.g. If a Visual Studio 2019 project contains Visual Studio 2015 and 2017 projects, the solution will be reported as being for Visual Studio 2017 for analysis purposes.
User Interface:
-
The elapsed time in the Manual Analysis Dialog is now displayed in minutes and seconds rather than just seconds.
-
Increased the size of the "Active Analysis Tool" and "Options" dialogs.
-
The Message Lookup View can now switch dynamically between message databases for PC-lint and PC-lint Plus.
-
Revised Configuration Wizard page text to differentiate between PC-lint and PC-lint Plus where appropriate.
-
"Project" nodes in the VisualLintGui Projects Display now include details of the active configuration and project type in the same way as the root "Solution" node.
-
The Analysis Status, Statistics, History and Results Displays now indicate the name of the active analysis tool.
Bug Fixes:
-
Fixed a potential crash in the Analysis Results Display.
-
Fixed a bug which prevented PC-lint Plus analysis from being run on an IncrediBuild grid.
-
Fixed a couple of bugs in the Configuration Wizard which affected PC-lint Plus.
-
Fixed a bug in some of the displays which could cause one of the columns to be oversized.
-
PC-lint Plus user defined messages (8000-8999) are now correctly categorised as informational.
-
Fixed a bug which could cause PC-lint Plus command lines containing the obsolete PC-lint +linebuf or +macrobuf directives to be generated if the analysis tool was set to PC-lint but the analysis tool installation folder was overridden to point to a PC-lint Plus installation folder.
Version 6.5.8.309 (4th July, 2019)
- Fixed a bug in the update check process which could result in incorrect text being displayed for a major update (e.g. to Visual Lint 7.x).
Version 6.5.7.304 (26th February, 2019)
-
Added support for Texas Instruments Code Composer Studio 7.x and 8.x. Note that when a project for CCS 6.x or later is opened, the latest installed version of the IDE will be assumed.
-
Fixed a bug in the parsing of Texas Instruments Code Composer 5.x/6.x/7.x/8.x projects which could cause them to be inconsistently classified as vanilla Eclipse projects in some circumstances.
-
Fixed a crash which could occur in VisualLintGui if saved PC-lint or PC-lint Plus issue category data became corrupted.
-
The generated PC-lint/PC-lint Plus command line now includes a -width(0) directive at the beginning. This ensures that any fatal errors are reported on a single line.
-
Added a PC-lint Plus indirect file (co-rb-gcc.lnt) for GCC to the installer.
-
Added a PC-lint Plus indirect file (co-rb-ti-arm.lnt) for the Texas Instruments ARM compiler to the installer.
-
Added details of the /silent and /verbose switches to the VisualLintConsole help screen and documentation.
Version 6.5.6.302 (8th January, 2019)
-
Modified generated Vera++ command lines to replace the -showrules option with --show-rule. In consequence the minimum supported version of Vera++ is now 1.2.1.
-
When a Visual Studio 2017 project using the /Zc:alignedNew or /Zc:alignedNew+ option is loaded the C++ 17 __STDCPP_DEFAULT_NEW_ALIGNMENT__ preprocessor symbol will now be included in the generated analysis configuration.
-
Corrected the value of _MSC_FULL_VER referenced in the PC-lint Plus compiler indirect files for Visual Studio .NET 2002 and 2003 (co-rb-vs2002.lnt and co-rb-vs2003.lnt respectively).
Version 6.5.5.300 (24th October, 2018)
-
Fixed an MSBuild parsing bug which was preventing Visual Studio system include folders from being read in some circumstances.
-
Fixed a bug which could prevent the VisualLintGui code editor determining the location of PC-lint Plus indirect files in order to open them from a context menu.
-
Updated the values of _MSC_VER and _MSC_FULL_VER in the PC-lint Plus indirect file co-rb-vs2017.lnt for compatibility with Visual Studio 2017 v15.8.3. This change is needed to fix a fatal error in yvals_core.h if _MSC_VER is less than 1915.
-
Added a PC-lint Plus compatible version of lib-stl.lnt to the installer as it is not currently supplied with PC-lint Plus.
-
Added additional indirect files needed for analysing Visual Studio 2012, 2013 and 2015 codebases with PC-lint Plus 1.2 to the installer.
-
If a project intermediate files folder does not currently exist, it will not be referenced with a -i (include folder) directive on generated PC-lint or PC-lint Plus command lines. This avoids extraneous 686 warnings "(Warning -- option '-i
' is suspicious: absolute path is not accessible) ".Note that if build artifacts (e.g. .tlh or .tli files) are required for analysis purposes, analysing without the intermediate folder will most likely result in analysis errors. In this case, performing a build and re-analysing the affected files/projects should fix it.
Version 6.5.4.298 (11th September, 2018)
-
If a "Lint" folder without the hidden attribute exists in a solution/workspace folder Visual Lint will no longer attempt to use it to store analysis results and will create a new ".visuallint" folder instead. This prevents Visual Lint from assuming that a user-created "Lint" folder is one which was created by an earlier (pre-v5.0) version of Visual Lint.
-
Fixed a crash which could occur when files were saved in the Eclipse plug-in. The crash seemed to particularly affect plug-in installations running within Texas Instruments Code Composer Studio and configured for per-project analysis with the "Re-analyse saved files using the preferred method" option set.
-
The project variables $(CEVER), $(ARCHFAM) and $(_ARCHFAM_) are now automatically defined when analysing Visual Studio 2008 projects for the NetDCU9 (ARMV4I) platform.
-
Corrected the "Supported development environments" help topic to reflect the fact that Atmel AVR Studio 5 and Atmel Studio 6.x/7.x are now supported via a dedicated plug-in.
-
Updated the PC-lint Plus message database to reflect changes in PC-lint Plus 1.2. Note that the definitions for Clang errors 5905, 5916 and 5922 have been omitted as the PC-lint Plus -dump_messages directive does not reveal either their titles or descriptions.
Version 6.5.3.296 (14th August, 2018)
-
Added the ability to override the analysis tool installation folder on a per solution/workspace or project basis. [Visual Lint Enterprise and Build Server Editions]
-
The analysis tool executable pathname can now be overridden on a per project basis as well as per solution/workspace. [Visual Lint Enterprise and Build Server Editions]
-
Fixed a minor resizing bug in the Analysis Configuration Dialog.
-
Fixed a minor bug in the "Active Analysis Tool" dialog.
Version 6.5.2.295 (24th May, 2018)
-
Added basic support for Qt Creator projects (.pro/.pro.user files). Note that the implementation does not yet support subprojects or read preprocessor and include folder properties. As such, if the analysis tool you are using requires preprocessor or include folders to be defined (as PC-lint and PC-lint Plus do) for the time being they must be defined manually (e.g. written as -D and -i directives within a PC-lint/PC-lint Plus std.lnt indirect file).
-
The "Analysis Tool" Options page now recognises PC-lint Plus installations containing only a 64 bit executable if the "Use a 64 bit version of PC-lint if available" option is set.
-
When the PC-lint Plus installation folder is selected in the "Analysis Tool" Options page the PC-lint Plus manual (
/doc/manual.pdf ) is now correctly configured. -
Added a workaround to the Eclipse plug-in for an issue identified with some Code Composer Studio installations which source plug-in startup and shutdown events in different threads.
-
Fixed a crash which affected some machines when the "Analysis Tool" Options page was activated when PC-lint was the active analysis tool.
-
Fixed a bug which caused the Visual Studio plug-in to be incorrectly configured in Visual Studio 2017 v15.7.
-
Fixed a bug which could cause the PC-lint/PC-lint Plus environment file to reset to "Defined in std.lnt".
-
Updated the "Example PC-lint/PC-lint Plus project.lnt file" help topic and those relating to supported project types.
Version 6.5.1.294 (27th March, 2018)
-
Built-in compiler preprocessor symbols are now automatically included in the analysis configuration for Atmel Studio projects using ARM toolchains where possible.
-
Fixed a bug which caused a "project changed" event to be erroneously sourced if an external project file located in the same folder as a loaded project was changed.
-
The PC-lint raw analysis results parser will now raise a fatal error if a PC-lint Plus License Error is detected.
-
Fixed a bug in the "Analysis Tool" Options page which affected browsing for an analysis tool installation folder.
-
Modified a handful of prompts to refer to "PC-lint or PC-lint Plus" rather than just "PC-lint".
Version 6.5.0.293 (7th March, 2018)
Host Environments:
- Removed the (deprecated since Visual Lint 5.0) ability of the Visual Studio plug-in to load within Microsoft Visual Studio 6.0 and eMbedded Visual C++ 4.0. Projects for these environments can of course still be analysed in the standalone VisualLintGui and VisualLintConsole applications.
Analysis Tools:
-
Modifications to support PC-lint Plus PCH analysis, which creates object files (.lpph or .lpch) in the project working folder rather than (as was the case with PC-lint 9.0) in the folder containing the PCH header file. This should affect only projects where the PCH header file is contained in a different folder from the project file.
-
PC-lint project indirect (project.lnt) files are now automatically recreated if a different version of the analysis tool is in use.
Installation:
-
The installer now prompts for affected applications (Visual Studio, Atmel Studio, AVR Studio, Eclipse, VisualLintConsole and VisualLintGui) to be closed before installation can proceed.
-
The installer now installs VSIX extensions to Visual Studio 2017 and Atmel [AVR] Studio silently.
-
Revised the order of registration of the Visual Studio plug-in with each version of Visual Studio so that the newest versions are now registered first.
-
Uninstallation no longer incorrectly runs "Configuring Visual Studio..." steps if the VS plug-in is not selected for installation.
-
The "Installing Visual Lint" progress bar is now updated while Visual Studio, Atmel Studio and Eclipse installations are being registered.
-
Improved the logging of VSIX extension installation/uninstallation.
User Interface:
-
The Analysis Status View now supports text filters of the form "Project/File".
-
Added a new [Window List Dialog](/products/visual_lint/help/v6.5/index.htm#page=gui_window list_dialog.html) to VisualLintGui to display details of the open MDI child windows, and allow selected windows to be activated, saved or closed as a group.
-
Widened the About Box slightly.
Reports:
-
Replaced the table sort code in generated HTML reports with a simpler, more robust implementation from https://www.kryogenix.org/code/browser/sorttable/.
-
Replaced the Teechart generated Issue Count by Category/ID charts in HTML reports with Javascript ones.
Bug Fixes:
-
Converted links to HTTPS where possible.
-
Fixed minor bugs in the Property List Dialog.
-
Added a workaround for a race condition in boost::filesystem::path which could cause one or more projects to fail to load or even a crash. See https://svn.boost.org/trac10/ticket/6320 for details.
Version 6.0.8.291 (18th January, 2018)
-
Fixed a bug which could cause Visual C++ 2010-2017 project (.vcxproj) files which have configuration names containing brackets to be loaded incorrectly.
-
Fixed a race condition which could cause errors or a crash while loading MSBuild projects.
-
Added modified versions of several PC-lint 9.0 indirect files which are not supplied with PC-lint Plus 1.0 to the installer.
-
Added additional PC-lint Plus suppression directives to the indirect file lib-rb-win32.lnt supplied within the installer.
Version 6.0.7.289 (7th December, 2017)
-
Fixed a bug in the "Analysis Tool" Options page which affected whether the "Use VS2012/VS2010 system headers for compatibility with PC-lint 9.00L or earlier" option was shown.
-
Fixed a bug in the installer which could cause a malformed VsixInstaller command line to be executed when attempting to install the Visual Studio plug-in Visual Studio 2017 and Atmel Studio.
-
Fixed a bug in the Visual Studio 2017 plug-in (VisualLintPlugIn_vs2017.vsix) which could cause it to fail to install with a manifest.json error.
-
Fixed an intermittent crash when shutting down background analysis, reporting or control threads.
-
Projects are now loaded at the same thread priority as the task loading the parent solution. This should make the UI more responsive during the loading of large solutions.
-
Fixed a bug which was preventing solution load tasks from being aborted as quickly as they could be (e.g. when the active configuration is changed).
-
Added additional PC-lint/PC-lint Plus suppression directives to the indirect file lib-rb-win32.lnt supplied within the installer.
-
The RB_PLATFORM environment variable (which allows compiler indirect files to conditionally configure for specific platforms) is now defined within generated PC-lint and PC-lint Plus command lines for platforms other than Win32 and x86.
Version 6.0.6.287 (13th October, 2017)
-
Added PC-lint Plus specific compiler indirect files co-rb-vs6.lnt (Microsoft Visual Studio 6.0), co-rb-vs2002.lnt (Microsoft Visual Studio .NET 2002), co-rb-vs2003.lnt (Microsoft Visual Studio .NET 2003) and co-rb-vs2005.lnt (Microsoft Visual Studio 2005) to the installer.
-
Modified the installer to correctly recognise Microsoft Visual Studio 2017 version 15.3 installations.
-
Fixed a bug in the installer which affected the installation of the Atmel Studio plug-in into AVR Studio 5.x.
-
Added PC-lint Plus specific warning 550 suppression directives for the UNREFERENCED_PARAMETER, DBG_UNREFERENCED_PARAMETER and DBG_UNREFERENCED_LOCAL_VARIABLE macros. These suppressions are implemented in a new lib-rb-win32.h header file referenced by the existing lib-rb-win32.lnt indirect file supplied within the installer.
Version 6.0.5.285 (22nd September, 2017)
-
Added PC-lint Plus specific compiler indirect files co-rb-vs2008.lnt and co-rb-vs2010.lnt.
-
co-rb-vs2013.lnt and co-rb-vs2015.lnt now undefine the preprocessor symbols _CPPRTTI, _CPPUNWIND and _NATIVE_WCHAR_T_DEFINED which are hardcoded in the Gimpel supplied compiler indirect files. These definitions should not be hardcoded as Visual Lint will automatically define these symbols where required by the project configuration.
-
Added additional suppression directives to the PC-lint Plus indirect file rb-win32-pclint10.lnt.
-
Fixed a bug in the expansion of project variables within the "Command Line" page in the Analysis Configuration Dialog.
-
If a category with no issues (e.g. "Internal Errors" in PC-lint Plus) is selected in the Message Lookup Display the "Title" and "Description" fields will now be correctly cleared.
-
When multiple views of a file is opened for editing in VisualLintGui, the contents of the views are now correctly synchronised.
-
VisualLintGui now captions the MDI child window tabs correctly when there are multiple instances of the same file open.
-
Fixed a bug in VisualLintGui which prevented MDI windows from being correctly configured if more than one view of a particular file was open.
-
Added a "Window | Close" command to VisualLintGui. The Ctrl+W accelerator and MDI tab "Close" command are now mapped to this command rather than "File | Close".
-
Fixed a bug in the VisualLintGui "Window | Close All" and "Window | Close All Except" commands which manifested when more than one view of a particular file was open.
-
The VisualLintGui "Window | New" command is now disabled if the active MDI child window is a web browser window.
-
Updated the PC-lint Plus message database to reflect changes in PC-lint Plus RC2.
Version 6.0.4.281 (25th July, 2017)
-
Microsoft Visual C++ Express Edition 2010/2012 system headers can now be used as a source of system headers for PC-lint 8.0/9.0 analysis of VS2013/15/17 projects.
-
Fixed a potential crash in VisualLintGui if a corrupt window layout is restored on startup.
-
Fixed a bug in the parsing of Visual C++ 2010-2017 project (.vcxproj) files in which the configurations are defined in an external property (.props) file located via a user macro.
-
Fixed a bug in the parsing of Green Hills projects which affected whether some subprojects were read correctly.
-
Various changes to the installer:
-
The installer now prompts for affected applications (Visual Studio, Atmel Studio, AVR Studio, Eclipse, VisualLintConsole and VisualLintGui) to be closed before installation can proceed.
-
The installer now installs VSIX extensions to Visual Studio 2017 and Atmel [AVR] Studio silently.
-
Revised the order of registration of the Visual Studio plug-in with each version of Visual Studio so that the newest versions are now registered first by the installer.
-
Uninstallation no longer incorrectly runs "Configuring Visual Studio..." steps if the VS plug-in is not selected for installation.
-
The "Installing Visual Lint" progress bar is now updated while Visual Studio, Atmel Studio and Eclipse installations are being registered.
-
Improved the logging of VSIX extension installation/uninstallation.
Version 6.0.3.278 (1st June, 2017)
-
Renamed the Visual Studio 2017 VSIX extension to VisualLintPlugIn_vs2017.vsix.
-
Added a VSIX extension for Atmel AVR Studio 5.x and Atmel Studio 6.x/7.x as an optional component in the installer.
-
Added support for the analysis of Atmel AVR Studio 5.1 projects.
-
The "Analysis" Options page now allows more than 16 analysis threads to be selected on systems which have more than 16 logical cores.
-
Fixed a bug which could cause the displays to be incorrectly configured when the Visual Studio plug-in is started within Visual Studio 2015 or 2017.
-
Fixed a bug in the Analysis Statistics Display which affected the "Show/Hide all issues with this ID" context menu command.
-
Fixed a bug in the Display Filter Dialog which affected the "Check selected Items" context menu command.
-
Corrected the toolchain used for Atmel Studio 6.x projects from "AVR6.0" to "AS6.0". Note that this is a breaking change (but fortunately a minor one).
Version 6.0.2.276 (13th April, 2017)
-
Migrated the Visual Studio 2017 VSIX extension to VSIX v3 to prevent Visual Studio 2017 from issuing a "This extension is not compatible with Visual Studio 2017" warning when the VSIX extension is installed.
-
Eclipse/CDT path variables of the form ${workspace_loc:/
/include} are now internally aliased to ${project_loc}/include while expanding project include folder paths. This prevents issues expanding folder locations for projects which are physically located outside of the workspace. -
The Analysis Status and Projects Display context menu "Troubleshooting | Save Preprocessed File As..." commands no longer erroneously include a reference to a PC-lint environment indirect file on the generated command line. This prevents PC-lint Plus from issuing an erroneous error 900 message at the end of the preprocessed file, which could cause an analysis error when the file is subsequently analysed.
-
Fixed a bug which could cause an out of date issue count to be displayed for a file while it was being analysed.
-
Added a "Browse" button to the "Location" combo box in the VisualLintGui "Find in Files" Dialog.
-
Updated the help to make it clear that VisualLintConsole and VisualLintGui can both analyse standalone projects as well as complete solutions/workspaces.
Version 6.0.1.275 (2nd March, 2017)
-
Fixed a bug which could potentially prevent Visual Studio 2013/2015 projects from being analysed with PC-lint 8.0/9.0 using compatible system headers from earlier versions of Visual Studio.
-
Fixed a bug which caused saved display filter settings to be lost when the product edition was set to one which does not support the global display filter. This ensures that the previous filter settings will be preserved if the display filter subsequently becomes available once again.
-
Fixed a minor resizing bug in the "Send Feedback" Dialog.
-
The "View Analysis Results" context menu command in the Analysis Status Display now correctly echoes the raw analysis results to the Output Window (Visual Studio) or Console (Eclipse) if the "Echo raw analysis results to the Output/Console Window" option is active.
-
The "Echo raw analysis results to the Output/Console Window" option in the "Display" Options page is now disabled in hosts which do not support it. In Visual Studio, turning on the option also no longer requires Visual Studio to be restarted to apply changes.
-
CppCheck analysis issues of the form "cppcheck: error: unrecognized command line option: "-foo"." are now correctly recognised as Fatal Errors.
-
Added the "Send Feedback" command to the main toolbar in VisualLintGui and the Visual Studio and Eclipse plug-ins.
-
When the analysis tool installation folder is changed in the "Analysis Tool" Options page or "Select Analysis Tool Installation Folder" Configuration Wizard page, the paths of the associated PC-lint indirect and help files will now be updated automatically where possible.
-
Converted the "Raw issue ID filter" control in the Global Display Filter Dialog to a combo box.
-
The initial folder paths in various file/folder dialogs are now set correctly.
-
If the Visual Studio plug-in has been installed into Visual Studio 2017, installing a newer version will now first attempt to remove the previous version of the extension prior to installing the new version.
-
The installer now copies the PC-lint Plus indirect file rb-win32-pclint10.lnt to the correct location.
-
Added additional suppression directives to some of the Riverblade authored PC-lint Plus indirect files.
-
Minor corrections to the comments within some of the Riverblade authored PC-lint Plus indirect files.
-
Added a help topic for the "Send Feedback" Dialog.
Version 6.0.0.273 (1st February, 2017)
Host Environments:
-
Added support for analysing standalone makefile projects.
-
Added support for makefiles within custom project (.vlproj) files. This allows makefiles requiring additional parameters to be analysed more easily.
-
Added support for Visual Studio 2017 RC. Note that the IDE will currently issue a warning that the extension is not compatible during installation.
-
Speeded up the loading of solutions and workspaces by loading the projects within them in parallel.
Analysis Tools:
-
PC-lint Plus crashes ("Serious Errors") are now parsed and reported as Fatal Errors with ID 399.
-
PC-lint Plus messages 890-897 are now correctly recognised as referencing ("supplemental", in PC-lint Plus parlance) issues.
-
Added PC-lint Plus specific compiler indirect files co-rb-vs2012.lnt, co-rb-vs2013.lnt, co-rb-vs2015.lnt and co-rb-vs2017.lnt, as well as a PC-lint Plus version of lib-rb-win32.lnt. All such indirect files are installed into the Visual Lint installation folder and referenced via -i directives on the generated PC-lint Plus command line.
-
When a PC-lint Plus per-project analysis task which uses more than one thread is running, Visual Lint can now dynamically reduce the number of active analysis tasks to take account of the number of analysis threads launched by the analysis task. [Visual Lint Professional and Enterprise Editions]
-
PC-lint and PC-lint Plus project indirect (project.lnt) files are now written when analysis tasks requiring them are created rather than when a solution/workspace is loaded.
Installation:
- If the Visual Studio plug-in is selected for installation, a VSIX extension (VisualLintPackage.vsix) supporting Visual Studio 2017 RC is now installed into the Visual Lint installation folder. If Visual Studio 2017 is installed on the target system, the installer will automatically attempt to run the appropriate instance of VsixInstaller.exe to install the extension into Visual Studio 2017 RC.
Configuration:
-
When invoked, the Configuration Wizard now opens on the Analysis Tools page. As a result, the "Introductory" page has been removed.
-
The indirect files listed in the Configuration Wizard PC-lint Compiler Configuration page are now sorted primarily by description rather than filename. This works better than sorting by filename as the naming conventions for MSVC compiler indirect files between PC-lint and PC-lint Plus are slightly different.
-
Added an "analysis threads" option to the Command Line Options page to allow the value of the PC-lint Plus -max_threads option to be set on the command line in per-project analysis. [Visual Lint Professional and Enterprise Editions]
-
Renamed the "Maximum background analysis thread count" option on the Analysis Options page to "Maximum background analysis tasks".
User Interface:
-
Added a new Projects Display to VisualLintGui to provide a way of viewing the structure and properties of projects.
-
Added a new Project Properties Dialog to provide a way of viewing (and in the case of custom projects, editing) project properties. The dialog is available via context menu commands in the Projects Display and Analysis Status Display.
-
Added a new Project Variables Dialog to display the build variables defined in the associated project configuration.
-
Added a new Makefile Properties Dialog. Where appropriate, the makefile command line can be edited here and the makefile output seen immediately.
-
Added an "Issue IDs" control (similar to the one in the Analysis Statistics Display) to the Display Filter Dialog as an alternative to editing the raw issue filter directly. Note that this control will be hidden if the dialog does not have access to a list of the issues which can be detected by the current analysis tool.
-
Replaced the discrete "Clear Text Filter" buttons in the primary displays with integrated ones built into the corresponding text filter edit controls.
-
Added infotips to the Analysis Statistics Display.
-
When the current host environment is changed (e.g. when projects for different versions of Visual Studio are loaded) the details are now reflected in the Status View.
-
The "Analysis Tool:" message displayed in the Status View when Visual Lint starts now shows which host environment/project type the active analysis tool relates to.
Commands:
-
Added an "Export Project" command to the Analysis Status Display context menu to export the current project as a custom project (.vlproj) file.
-
Added an "Export Analysis Results" context menu command to the Analysis Status Display context menu.
-
Added a "File | New Project" command to VisualLintGui to allow new custom projects to be created directly within the environment.
-
Rearranged the VisualLintGui "File" menu and added accelerators to the "File | Open | Solution/Workspace/Project..." and "File | Open | Eclipse Workspace..." commands.
-
Added a "Send Feedback" command to the main menus in VisualLintGui and the Visual Studio and Eclipse plug-ins.
Reports:
- HTML analysis reports are now displayed in the internal browser of the host environment (if available) by default.
Bug Fixes:
-
The platform name is now inferred from the targetPlatform element while reading Eclipse C/C++ (.cproject) project files.
-
Variables within file paths are now expanded correctly while reading IAR Embedded Workbench project files.
-
The Analysis Status Display "Troubleshooting | View Project Indirect File" context menu command is now disabled if Visual Lint has not been configured for PC-lint analysis of the associated project type, or if the project is still loading.
-
Fixed a bug relating to ProjectVersion elements within Atmel AVR Studio 5.0 project files.
-
Fixed a potential bug when interfacing to CppCheck, which could have caused cppcheck.exe to be omitted from the analysis tool pathname under some conditions - potentially causing analysis errors.
Version 5.5.8.280 (16th June, 2017)
- Microsoft Visual C++ Express Edition 2010/2012 system headers can now be used as a source of system headers for PC-lint 8.0/9.0 analysis of VS2013/15 projects.
Version 5.5.7.272 (23rd January, 2017)
-
Generated CppCheck command lines now include the correct value of _MSC_VER when analysing Visual C++ projects.
-
Fixed a bug which could cause duplicate analysis results data to be exported in text formats. Also modified the algorithm used to detect duplicate issues to match that used by the displays and reports.
-
Generated PC-lint analysis configurations for Visual Studio projects no longer automatically use the Gimpel supplied env-vc*.lnt indirect files to determine the output format of the raw analysis results. Instead, the IDE independent env-rb.lnt (installed with Visual Lint) is recommended.
Version 5.5.6.270 (20th December, 2016)
-
Added a "Re-analyse saved files using the preferred method" option to the "Analysis" Options page. When checked, newly saved files will be re-analysed using the preferred analysis method. If unchecked (the default), newly saved files will be re-analysed using per-file analysis (which is usually much faster) even if the preferred analysis method is per-project. [Visual Lint Professional, Enterprise and Build Server Editions]
-
Added a /analysismethod switch to VisualLintConsole to determine whether per-file or per-project analysis should be used. If omitted, the previous setting is used. [Visual Lint Professional, Enterprise and Build Server Editions]
-
Source file relative paths containing build/environment variables are now expanded when loading projects.
-
Corrected the default pathname when browsing for a PC-lint configuration file in the Analysis Config Dialog "PC-lint" page.
-
Fixed a bug which could cause analysis to fail when attempting to analyse a solution or project using an analysis tool which does not support the preferred analysis method defined in a .vlconfig file.
-
Fixed a bug which could potentially cause a divide by zero error under exceptional circumstances.
-
Fixed a bug in the parsing of Visual C++ 2013/2015 project (.vcxproj) files which could cause them to be erroneously identified as VS2012 projects.
-
Fixed a bug in the expansion of Eclipse/CDT project build variables defined in "C/C++ Build -> Environment" and saved in a org.eclipse.cdt.core.prefs file stored in the project's .settings folder.
-
Fixed a bug in the "PC-lint" Options page which could cause uncommitted changes to other options to be discarded when some of the browse buttons are used to locate files.
Version 5.5.5.265 (7th October, 2016)
-
Added a /analysestack option to VisualLintConsole to determine whether PC-lint stack usage reports should be generated during analysis. [Visual Lint Enterprise Edition]
-
Added a /oldvsheaders option to VisualLintConsole to determine whether the PC-lint "Use VS2012/VS2010 system headers..." option should be active during analysis of projects for Visual Studio 2013 or later.
-
Build variables defined in an Eclipse project (.project) file can now be used to expand project includes in an Eclipse C/C++ project (.cproject) file.
-
Added support for the ${ConfigName} project variable to the Eclipse C/C++ project (.cproject) file parser.
-
Fixed a bug in the parsing of file configurations within Visual C++ 2010-2015 (.vcxproj) projects.
-
Visual Lint binaries are now dual signed with both SHA1 and SHA256.
Version 5.5.4.263 (5th August, 2016)
-
Fixed a bug reading "Excluded from build" properties in projects containing more than one file with the same filename (but located in different paths).
-
Corrected the system include folders returned by the IAR project (.ewp) file parser.
-
Fixed a bug in the parsing of Visual C++ 2015 makefile projects which caused a forced include containing the unexpanded variable $(NMakeForcedIncludes) to be incorrectly identified.
-
VisualLintConsole now writes details of the active command line parameters to its logfile (and optionally the console if the /verbose switch is active).
-
Added an "Enabled Checks" control to the CppCheck Analysis Configuration Dialog to allow the value of the --enable option to be controlled. The default value is "all".
-
Fixed a bug which could cause PC-lint indirect ("project.lnt") files to be generated before the build settings of the corresponding project were fully loaded.
-
Added support for PC-lint Plus precompiled header analysis.
-
The "Insert Directive" command on the Analysis Results Display context menu is now disabled if the selected issue is a PC-lint Plus issue with location given as "
", " " etc. -
Updated the Configuration Wizard to recognise PC-lint Plus specific compiler indirect files (co-vs2013.lnt and co-vs2015.lnt).
-
The Configuration Wizard "PC-lint Library Configuration" and "PC-lint Author Recommendations" pages now filter out indirect files which are not available within the current PC-lint installation.
-
Modified the Configuration Wizard and Active Analysis Tool Dialog to clarify that both PC-lint and PC-lint Plus are supported.
-
Generated PC-lint Plus command lines now reference the correct indirect files folder (as opposed to the PC-lint 9.0 one) within the Visual Lint installation.
-
Modified various user interface elements for compatibility with high DPI displays, including buttons, fonts and context menus used in the displays, as well as VisualLintGui specific command bars, context menus and displays.
-
Although the changes made primarily affect VisualLintGui, the changes to the core displays also affect the Visual Studio and Eclipse plug-ins. Note that although Visual Studio tries to do the right thing, Eclipse does not yet offer high DPI support for plug-ins so in that environment the Visual Lint toolbar and main menu icons will still appear smaller than they should.
-
If attempting to restore the window layout in VisualLintGui causes problems (e.g. as a result of the DPI changing), the exception will now be caught and the default layout restored. This change is precautionary.
Version 5.5.3.261 (3rd June, 2016)
-
Updated the Configuration Wizard to add descriptions for a handful of PC-lint 9.0 indirect files (co-ARMCC-5.lnt and co-xc8/16/32.lnt) which did not have them.
-
Modified the Visual C++ (.vcxproj) project file parser for compatibility with Visual Studio 2013/2015 Intel C++ Compiler projects which do not contain a "BaseToolset" element.
-
If a fatal error occurs during PC-lint per-project analysis, the fatal error is now also assigned to the subsequent files in the project.
-
The Analysis Status Display now has independent text filters for projects and files.
-
Renamed the "Within std.lnt" and "Specified on command line" PC-lint warning policy options in the Configuration Wizard, Analysis Configuration Dialog and Options Dialog for clarity.
-
Added a "All Solution/workspace/project files" filter to the VisualLintGui Open Solution/Workspace..." command.
-
The PC-lint analysis results parser can now recognise issues of the form "9 Error 307: Can't open indirect file 'filename.lnt'".
-
Fixed a bug which could prevent changes to Eclipse .cproject files from being detected in TI Code Composer.
-
Fixed an error loading some projects containing UNC pathnames.
-
Fixed a number of broken links in the help and added the missing the Options "Updates" page help topic.
Version 5.5.2.259 (28th March, 2016)
-
PC-lint Plus raw analysis results with the filename field set to "
", " " etc. are now parsed and displayed correctly. -
CppCheck fatal errors of the form "Failed to add suppression. Invalid id" are now parsed correctly.
-
When a Visual C++ (.vcproj or .vcxproj) project is loaded, Visual Lint will now attempt to detect whether the QtAddIn or QtPackage Visual Studio plug-ins are installed and if possible define appropriate values for the $(DefaultQtVersion) and $(QTDIR) project variables.
-
Improved the handling of Eclipse "PARENT-n-" prefixed project variables.
-
Fixed a bug which affected PC-lint per-project analysis and could cause some files to be marked as analysed when in fact the analysis had terminated (as a result of a fatal error) before those files were reached.
-
Fixed a bug which could cause PC-lint project indirect files to fail to be updated when the files included in background analysis change.
-
Fixed a bug which could cause the contents to the Analysis Results Display to fail to update when the selected project was changed.
-
Fixed a bug in the "Command Line" Options page which could incorrectly cause PC-lint specific controls to be shown for other analysis tools.
Version 5.5.1.258 (7th March, 2016)
-
Added "Show/hide text filter" buttons to the Analysis Status and Results Displays to toggle the visibility of the "Text filter" controls and reclaim the space they occupy when not in use. In consequence, the text filters in these displays are now hidden by default.
-
The "Text Filter" controls in the Analysis Results Display are now hidden when the Raw Analysis Results or Chart views (the contents of which they do not currently affect) are active.
-
Fixed a potential crash during manual analysis.
-
Fixed a crash in the Eclipse plug-in when the context menu in the "Projects" window was invoked with the plug-in disabled.
-
Fixed a bug which prevented a solution which had been converted from an earlier version (the case reported was a Visual C++ 6.0 workspace opened by Visual Studio 2010) from being loaded by Visual Lint until the solution was closed and reopened.
-
Improved the detection of "excluded from build" files in Eclipse C/C++ projects.
-
When an Eclipse project file is opened standalone (i.e. outside of a workspace) in VisualLintGui or VisualLintConsole, Visual Lint will now attempt to infer the value of ${workspace_loc} if possible.
-
Fixed a bug in the expansion of Eclipse project variables of the form "${workspace_loc:/${ProjName}}/Include".
-
Fixed a bug which could cause some excluded files to be erroneously included in generated PC-lint project indirect ("project.lnt") files.
-
Fixed a bug which could cause the positioning of some controls to become erratic when the displays were resized below a certain threshold.
-
Fixed a potential crash in the installer when uninstalling the Visual Studio plug-in from Visual Studio 2012 and 2013.
-
The installer now shows the product version on the titlebar.
Version 5.5.0.257 (29th January, 2016)
Host Environments:
-
The Visual Studio plug-in now implements the correct Code Editor and Solution Explorer context menu commands when hosted in Visual Studio 2015.
-
Added basic support for CodeGear C++ Builder XE4-XE8 and C++ Builder 10 Seattle.
-
If the Visual Studio plug-in is not loaded on startup by Visual Studio 2015 (which can happen if the IDE is started without any Visual Lint toolwindows open), all plug-in commands with the exception of "Help", "Options", "About" and "Product Enable" (the four rightmost buttons on the toolbar) will now be shown initially disabled. Activating the "Product Enable" command will force the plug-in to load in the background - and make the other toolbar buttons available as appropriate.
Analysis Tools:
-
Added an option to the "Analysis Tool" Options page to specify whether the 64 bit PC-lint executable (lint-nt64.exe, which is distributed on an as required basis by Gimpel) should be used in preference to the 32 bit version (lint-nt.exe) where possible.
-
Added preliminary support for the forthcoming PC-lint Plus (see the blogpost PC-lint Plus is coming - and with it, full support for C++ 11 and C++ 14). Like PC-lint 9.0, both 32 bit (pclp32.exe) and 64 bit
(pclp64.exe) executables are supported. A draft message database is included, and will be updated as information becomes available.
Installation:
-
The installer now autodetects (using the contents of eclipse.ini) whether the specified Eclipse installation is 32 or 64 bit, and automatically installs the correct Eclipse plug-in file (com.riverblade.visuallint.win32_x86.jar or com.riverblade.visuallint.win32_x86_64.jar).
-
If a newer Visual Lint build is available details will now be recorded in the Status View and corresponding logfiles.
Configuration:
-
Added comments to generated PC-lint project indirect project.lnt) files to identify when PC-lint 9.00L or earlier is being used to analyse a project with system includes for Visual Studio 2013 or later.
-
Added comments to delimit the various sections (Preprocessor Symbols, System Includes etc.) within generated PC-lint project indirect (project.lnt) files.
Analysis:
- When a file which is not part of a loaded project is manually analysed Visual Lint will now attempt to determine which (if any) of those projects it is located closest to, and will use those project settings while analysing it if appropriate.
User Interface:
-
Added freeform text filtering capabilities to the Analysis Status, Analysis Results, Stack Usage and Analysis Statistics Displays.
-
The issue ID charts within the Analysis Results Display, reports etc. now aggregate any issues which can not be displayed in the legend (due to limited space) into a single "Others" series.
-
Added the suffix "(trial)" to the version string used in the VisualLintGui titlebar, generated file banners etc. where appropriate.
-
Clipboard commands now copy data to the clipboard using the CF_UNICODETEXT format rather than CF_TEXT.
-
Added an "Updates" page to the Options Dialog. In consequence, Visual Lint will by default now periodically check for updates when it is started, and the "I would like to schedule a task to check for updates" option and "Help | Configure Update Check Schedule" command have been removed from the installer and VisualLintGui respectively.
-
Improved the dialog displayed by the "Check for Updates" command on the VisualLintGui "Help" menu if an update is available.
Commands:
- Tweaked the position of the Visual Studio plug-in "Background Analysis", "Analysis Configuration" and "Delete Analysis Results" commands within the Solution Explorer context menu in Visual Studio 2010, 2012, 2013 and 2015.
Bug Fixes:
-
Added support for pathnames longer than MAX_PATH characters.
-
Fixed an installer bug relating to the registration of the Visual Studio plug-in with Microsoft Visual Studio .NET 2002 and 2003.
-
The VisualLintGui code editor "Open Referenced File" command now attempts to resolve per-file additional include folder settings when opening referenced C/C++ include files.
-
Fixed a bug in the VisualLintGui code editor which caused blank lines to be wrongly stripped when loading a file which uses LF (rather than CR+LF) line terminators.
-
The Configuration Wizard PC-lint Configuration File Page now chooses an appropriate default std.lnt filename if necessary when it becomes active.
-
Updated the URL for the Vera++ C++ analysis tool.
-
The "Use VS2012/VS2010 system headers for compatibility with PC-lint 9.00L or earlier" option now checks that the substituted system include folders exist rather than just checking that the corresponding development environment is installed.
-
Added support for Visual C++ 2010-2015 (.vcxproj) projects with project configurations defined within property (.props) files rather than in the enclosing .vcxproj file. This is most likely to be encountered within handwritten .vcxproj files.
-
Added support for the MSBuild function GetDirectoryNameOfFileAbove().
-
Added support for the use of the MSBuild variable $(MSBuildThisDirectory) in logic conditions.
-
Corrected the background colour of the "Message" combobox in the Message Lookup Display.
-
The Visual Studio and Eclipse plug-ins will now only prompt to configure Visual Lint if the plug-in is enabled.
-
Fixed a bug in the Visual Studio plug-in which could cause Visual Studio 2015 to crash when the IDE is started by double clicking on a solution file.
Version 5.0.6.254 (9th November, 2015)
-
Added a dedicated parser for Texas Instruments Code Composer Studio 5.x and 6.x projects. In consequence the Code Composer 5.x/6.x specific project variables ${CCS_INSTALL_ROOT}, ${CCS_BASE_ROOT} and ${CG_TOOL_ROOT} are now expanded correctly.
-
Fixed a data validation bug in the Analysis Configuration Dialog which could prevent a solution/project specific PC-lint Warning Policy File from being defined.
-
Added support for the analysis of Atmel Studio 7.x projects to VisualLintGui and VisualLintConsole. Note however that the Visual Studio plug-in is not yet compatible with this version of Atmel Studio.
-
Corrected "Atmel AVR Studio 6.x" to "Atmel Studio 6.x" in the Options Dialog and Configuration Wizard.
-
Made VisualLintGui and VisualLintConsole a little more intelligent when it comes to determining which Eclipse project file (.project, .cproject, .ccsproject etc.) to load in a standalone project. This replicates similar logic which is already used when loading a complete Eclipse workspace.
Version 5.0.5.252 (1st October, 2015)
-
Added a "Exclude projects/files which are excluded from build from background analysis" option to the Advanced Analysis Options Dialog to allow the user to determine whether projects/files which are excluded from build should also be excluded from background analysis.
-
To support the above new option, the Advanced Analysis Options Dialog is now available in Visual Lint Standard Edition.
-
Fixed a bug in the parsing of Green Hills MULTI projects.
-
Fixed a bug in the generation of PC-lint command lines for projects with file specific additional include properties.
-
Fixed a bug in the reading of custom project (.vlproj) files.
-
Corrected the definition of the $(FrameworkSdkDir) variable in the Visual C++ 2010/12/13/15 project file parser.
Version 5.0.4.249 (14th July, 2015)
-
Added "Check for Updates" and "Configure Update Check Schedule" commands to the VisualLintGui "Help" menu
-
Revised the text used in the installer dialogs which handle update checks for clarity.
-
Fixed a bug which would cause manual analysis to fail if the file was not part of a project.
-
Fixed a bug in the Visual Studio plug-in which caused a Configuration Wizard prompt to repeatedly appear when hosted in Atmel Studio 6.1 or 6.2.
-
Fixed a data validation bug in the "Analysis Tool" Options page.
-
Modified the Visual C++ 2010/2012/2014/2015 project (.vcxproj) file parser for compatibility with Visual Studio 2013 Intel C++ Compiler 15.0 project files which identify the base project version via <_ProjectFileVersion> elements.
-
Corrected a couple of "Analysis Tool not found" prompts.
Version 5.0.3.247 (15th June, 2015)
-
If available, details of the worst case stack usage for the active file are now displayed in the status bar.
-
The "Manual Analysis" context menu command in the Analysis Status Display is now (correctly) disabled for analysis tools (e.g. FxCop) which do not support per-file analysis.
-
Fixed a potential crash in the x64 build of the Eclipse plug-in, which could manifest when a file or project was included or excluded from analysis.
-
Fixed a bug in VisualLintGui in the loading of scanner (.sc) files associated with Eclipse C/C++ projects.
-
Visual Studio MSBuild C# project (.csproj) files which contain a "Project" element identifying the project version will now be loaded correctly. This variation of the .csproj file format is associated with Visual Studio 2013.
-
Visual Studio MSBuild C# project (.csproj) files without identifying version data will now be identified as the baseline version (9.0 - i.e. Visual Studio 2008) for the file format.
-
Optimised the loading of Eclipse C/C++ projects.
-
Fixed a flicker issue when VisualLintGui starts running.
Version 5.0.2.246 (8th June, 2015)
-
Added a status bar (displaying worst case stack usage, as documented by PC-lint Elective Note 974) to the Stack Usage Display.
-
Renamed the analysis results root folder created by default within the solution/workspace root folder from "Visual Lint" to ".visuallint". Analysis results folders created using the previous naming scheme will still be used if present.
-
Fixed a bug in VisualLintConsole which could prevent custom analysis options (the /param switch) from being applied in some cases.
-
Corrected various "
issues reported" informational messages to take into account the active display filter settings. -
Corrected the series ordering of the issue ID charts within the Analysis Results Display, reports etc.
-
Minor revisions to the layouts of the "Registration" Options page and Registration Key dialog.
-
Added preliminary support for Windows 10 (build 10074).
-
Added logging of Visual Studio system include folder substitutions for compatibility with PC-lint 9.00l and earlier. The new logging will also warn if PC-lint 9.00l or earlier is being used to analyse a Visual Studio 2013 or 2015 project and the system include folders cannot be substituted for those of Visual Studio 2012 or 2010 for some reason.
-
Added a "PC-lint stack usage reports" topic to the helpfile.
Version 5.0.1.245 (14th May, 2015)
-
Environment variables defined in an Eclipse/CDT or Netburner project within "C/C++ Build-> Environment" (and saved in a org.eclipse.cdt.core.prefs file stored in the project's .settings folder) are now expanded in project analysis configurations.
-
Fixed a bug which in VisualLintGui which could cause an incorrect solution/workspace configuration to be selected in VisualLintGui when the active configuration was changed using the toolbar on the main menu.
-
The "Configurations" drop list on the VisualLintGui toolbar is now correctly disabled (with the right data...) if the current solution/workspace has the "Always analyse this configuration" property active. [Visual Lint Enterprise Edition]
-
The "Configure for" drop lists in the Configuration Wizard and "Analysis" Options page are now sorted and show all host environments, irrespective of whether they are actually installed (this change is necessary to analyse some MSBuild Windows SDK projects).
-
The Analysis Results Display "All files" view is now available in Visual Lint Professional Edition (it was originally implemented in Visual Lint Enterprise Edition). In consequence, the Analysis Status Display "View Analysis Results" context menu command is also now available in Visual Lint Professional Edition if a project is selected.
-
Removed the -printf_code(s, TCHAR *) directive from the PC-lint suppressions file rb-win32-pclint8.lnt (included by lib-rb-win32.lnt) as it was causing erroneous instances of error 154 while analysing some projects.
-
Corrected the location of the "Product Editions" topic in the helpfile table of contents.
Version 5.0.0.244 (31st March, 2015)
Host Environments:
-
Added preliminary support for Visual Studio 2015 (Visual Studio 14.0). Note that as this version of Visual Studio does not support Visual Studio add-ins, the Visual Studio add-in used in previous versions of Visual Lint has been re-implemented as a VSPackage for use with this version of the IDE. Note that when Visual Studio 2015 starts the Visual Lint toolbar may not show the correct state of each command until the VSPackage has been loaded by invoking one of its commands, as Visual Studio 2015 does not seem to handle autoloading packages correctly.
Visual Studio 2015 projects can of course also be analysed using the standalone versions of Visual Lint (VisualLintGui and VisualLintConsole).
-
Use of the Visual Studio plug-in within the Visual Studio 6.0 and eMbedded Visual C++ 4.0 development environments is now deprecated, and as such the plug-in no longer self-registers with these environments. If required however the plug-in can still be manually registered for use with Visual Studio 6.0 and/or eMbedded Visual C++ 4.0 by registering VisualLint.dll as an add-in from the "Tools | Customize" dialog within the corresponding development environment.
Visual C++ 6.0 and eMbedded Visual C++ 4.0 projects will continue to be fully supported by the standalone versions of Visual Lint (VisualLintGui and VisualLintConsole).
-
The Eclipse plug-in now shows the state (checked, enabled, disabled etc.) of its commands on the main toolbar/menubar.
-
Added support for user defined projects (.vlproj files) to make it simpler for users to analyse arbitrary project types. The .vlproj file format is a straightforward .ini file based format designed for hand editing - see Custom project file (.vlproj) format for details.
Analysis Tools:
-
Added additional PC-lint 9.0 indirect files to the installer.
-
Added env-rb.lnt (a custom PC-lint indirect environment file which defines the preferred format for PC-lint raw analysis results) to the installer.
Configuration:
-
Added an option to enable the generation of PC-lint stack usage reports (the +stack directive) to the "Command Line" options page. The option must be enabled to make use of the new Stack Usage Display. [Visual Lint Professional and Enterprise Editions]
-
Added an option to enable the generation of PC-lint program information reports (the +program_info directive) to the "Command Line" options page. [Visual Lint Professional and Enterprise Editions]
-
If the folder specified for a new PC-lint options.lnt indirect file in the Configuration Wizard does not exist, the Configuration Wizard will now attempt to create it.
-
Changing the PC-lint installation folder on the "Analysis Tool" Options page now automatically sets the help file/manual pathname.
-
Generated PC-lint project indirect files now include the text "This is an automatically generated file. DO NOT EDIT" in the file banner.
Analysis:
-
Optimised the analysis task implementation to speed up the analysis of codebases returning a large volume of analysis results.
-
Added support for PC-lint 9.0 stack usage reports (the +stack directive). [Visual Lint Professional and Enterprise Editions]
-
Added support for PC-lint 9.0 program information reports (the +program_info directive). [Visual Lint Professional and Enterprise Editions]
-
Generated XgConsole (IncrediBuild) command lines now only include the /UseIDEMonitor switch if the analysis is running within Visual Studio. [Visual Lint Enterprise Edition]
User Interface:
-
Added a new Stack Usage Display to display the results of a PC-lint stack usage report. This display is PC-lint specific. [Visual Lint Professional and Enterprise Editions]
-
Added Line/Column Number, Analysis status, Issue Count and Read Only/Writeable indicators to the VisualLintGui statusbar.
-
Added an optional long line marker to VisualLintGui.
-
Added a "Find in Files" command and associated dockable "Find Results" toolwindow to VisualLintGui.
-
Added a "Reset Window Layout" command to VisualLintGui.
-
Added accelerators to the VisualLintGui Help | Documentation (F1) and Help | Analysis Tool Documentation (Shift + F1) commands.
-
Added informational text to the Active Analysis Tool Dialog.
-
Added a "Troubleshooting | View Project Indirect File" command to the Analysis Status Display context menu. The command is available if PC-lint is the active analysis tool and allows the contents of the PC-lint project indirect file corresponding to the selected project or file to be inspected for diagnostic purposes. Note: these files are automatically generated, so any changes made to them manually are likely to be discarded when the project is reloaded or analysed unless the file is marked read only (in which case Visual Lint will not attempt to overwrite them).
-
Added a "Troubleshooting | Save Preprocessed File As..." command to the Analysis Status Display context menu. The command is available if PC-lint is the active analysis tool and generates a preprocessed copy of the selected file using the PC-lint -p option.
-
To support the analysis of projects described by .vlproj files, a new "Custom" environment type has been added to the Configuration Wizard and "Analysis Tool" Options pages.
-
Folder/filename controls in the Configuration Wizard, Options Dialog etc. now support direct editing and drag-drop.
-
The VisualLintGui code editor "Open Referenced File" context menu command can now open PC-lint indirect (.lnt) and header (.h) files referenced within an indirect file such as std.lnt (the latter using the -header() directive), as well as indirect files referenced from within a header file using the -indirect() directive.
-
The VisualLintGui code editor "Open Referenced File" context menu command now shows the full pathname of the referenced filename if it can be located. Otherwise, the filename given in the directive will be shown and the command disabled.
-
Revised the logic used to determine which instance of a shared file to display the analysis results for when a file is opened. Files with "Completed" analysis status are now given the highest priority, and "Excluded" lowest.
-
Revised the default window layout in VisualLintGui.
-
The Manual Analysis Dialog now centres itself with respect to the main window of the host environment.
-
Updated the appearance of the AboutBox.
-
Updated the icon of the VisualLintGui Status Log View.
-
Tidied up the layout of the VisualLintGui "Find" dialog.
-
The "Help" button in the Configuration Wizard now launch the corresponding page in the helpfile. Also added Help buttons to various other dialogs and removed the "What's This?" help buttons made redundant as a result.
-
Added help topics for the VisualLintGui Find/Replace dialogs and Find Results View.
Bug Fixes:
-
The Manual Analysis Display now applies the current global display filter to the issue count displayed during analysis. [Visual Lint Enterprise Edition]
-
Improved the persistence of the current selection of the "Configure for" controls on the Configuration Wizard "Tools" page "Analysis Tool" Options pages.
-
Icons used within Visual Lint displays now reflect the current system defined icon sizes rather than being hardcoded to 16x16, 32x32 etc.
Version 4.5.10.243 (29th March, 2015)
- Refined the "Use VS2012/VS2010 system headers for compatibility with PC-lint 9.00l or earlier" option for compatibility with systems with Visual Studio installations in folders other than the default, or on other drives.
Version 4.5.9.239 (6th March, 2015)
-
Added a "Use VS2012/VS2010 system headers for compatibility with PC-lint 9.00l or earlier" option to the "Analysis Tool" options page. When enabled (the default) Visual Lint will attempt to use the system headers for Visual Studio 2012 or 2010 instead while analysing VS2013 projects.
This is a workaround for the fact that PC-lint 9.00l and earlier do not have support for variadic templates, which are used in the system headers for Visual Studio 2013 onwards and can cause analysis failures as a result.
Please note that this is potentially a breaking change as it will prevent PC-lint from accessing STL features (e.g. std::make_unique) added in Visual Studio 2013 - please contact us if you have any queries about the effects of this.
-
Modified the Visual C++ 2010/2012/2013 project (.vcxproj) file parser for compatibility with project files (typically generated by third party applications) which have
elements with incorrect capitalisation (although MSBuild is case sensitive, apparently Visual Studio is more tolerant in this area). -
If PC-lint is the active analysis tool, Visual Lint now takes into account whether a std.lnt indirect file has been specifically defined for a given project type when determining whether the Configuration Wizard should be run.
-
The Configuration Wizard "Tools" page now always shows the "Configure for..." drop list, irrespective of the host environment.
Version 4.5.8.237 (16th February, 2015)
-
Added support for the analysis of IAR Embedded Workbench projects to VisualLintGui and VisualLintConsole.
-
C/C++ header files are now shown separately in the Analysis Status Display when Vera++ is the active analysis tool (in the same way as with cpplint.py).
-
Code editor markers (generated by manual analysis etc.) are no longer shown for files/projects which are excluded from background analysis.
-
Fixed a bug in the handling of solution/project specific PC-lint analysis configurations which could cause the warning policy ("options.lnt") indirect file configured for a specific solution or project to be ignored in certain circumstances.
-
Fixed a bug in the Analysis Results Display which caused the "Show issues in header files" checkbox to be incorrectly shown if cpplint.py was the active analysis tool.
-
PC-lint MISRA messages in the range 9100-9199 are now correctly categorised as Elective Notes.
Version 4.5.7.235 (5th January, 2015)
-
Added support for Keil uVision 4 projects to VisualLintGui and VisualLintConsole.
-
Fixed a bug in the handling of analysis configurations by VisualLintGui and VisualLintConsole.
-
Fixed a bug which could cause a file open operation to fail within the Visual Studio plug-in.
-
Fixed a bug which could cause files which are excluded from analysis (or files within projects which are excluded from analysis) to be included in background analysis when a file is saved.
-
Various minor optimisations to the solution loading process.
-
The "Delete Analysis Results" and "Start Background Analysis" commands are now disabled until the solution has finished loading.
-
Corrected the URL of the "more information" link on the "Analysis" Options page.
Version 4.5.6.233 (24th November, 2014)
-
Fixed a bug in the generation of PC-lint analysis command lines for files analysed with the -pch option.
-
When a PC-lint analysis task corresponding to a PCH generation file (e.g. stdafx.cpp) starts, the corresponding PCH object (.lph) file is now explicitly deleted before PC-lint is invoked.
-
Fixed a bug which was preventing custom PC-lint issue categories from being loaded correctly.
-
Fixed a bug in the VisualLintGui code editor "Open Referenced File" context menu command which could cause header files referenced via project additional include folder properties to fail to be located.
-
Fixed a bug which prevented header files from being analysed with the Google C++ Style Checker (cpplint.py).
-
Adjusted the priority and timing of IncrediBuild analysis results parsing tasks.
-
Improved the handling of IncrediBuild analysis tasks in VisualLintConsole.
-
Added details of PC-lint 9.00l messages 29, 94, 169, 330, 486, 488, 489, 491, 1112, 1113, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1723, 1751, 9063, 9064 and 9067-9166 to the PC-lint 9.0 message database. Also updated the entries for 165, 170, 312, 435, 436, 516, 665, 686, 690, 836, 838, 845, 905, 967, 1096, 1102, 1104, 1111, 1119, 1417, 1419, 9011, 9022, 9033 and 9066.
-
Updated various PC-lint indirect files as a result of the public release of PC-lint 9.00l.
-
The titlebar captions of the Registration Key dialog and VisualLintGui main window now include the major/minor version of the product.
Version 4.5.5.231 (6th October, 2014)
-
Fixed a bug which could cause the Visual Studio plug-in to miss changes to the active project configuration.
-
Added a status message to the Visual Studio plug-in to identify when the active configuration has changed.
-
Fixed a bug which could cause system include folders to be read incorrectly from Visual Studio 2012/13 projects which use the Intel C++ Compiler.
-
Fixed a bug in VisualLintGui which was preventing accelerators from being translated correctly by the main frame window when no MDI windows were open.
-
Various updates to the helpfile.
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)
-
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.
-
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
" 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:
- Added a "Perform Manual Analysis" command to the Analysis Status Display context menu.
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
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 '
' ". -
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
: ( -- ) -
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
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 and VS2002-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
) 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 enabling/disabling inline highlighting will not currently take effect in a given editor window until it has been reopened, and changes in the colours will not currently take effect until the environment is restarted. [VS2002-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 analysis 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-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)
-
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 inadvertently 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 efficiency 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-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 "
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 /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 History 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
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 occurring 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 header
-
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 (seehttp://sourceforge.net/projects/cppcheck/).
-
Added support for the Google C++ Style Checker (cpplint.py - seehttp://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. Note that such project analysis results are not currently updated "live" as they change - the display is currently purely static in this mode. [Visual Lint Enterprise Edition]
-
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, eVC4, VS2002-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 attempting 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-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 occurrences 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]
-
$(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. [VS2002-2008]
-
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-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 synchronisation.
-
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 discrepancy.
-
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 significantly 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 Enterprise Edition]
-
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 reassigned 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.
This is currently available in VS2002 onwards only, as the keyboard bindings for VC6 and eVC4 are not accessible through the automation interface. The presence of other add-ins may also affect the functioning of this feature under VS2002 and VS2003 due to a bug (fixed in Visual Studio 2005) 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. [VS2002-VS2008]
-
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 editor.
-
".\" 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-VS2008.
-
Improved diagnostics when loading Intel C++ compiler (.icproj) projects under VS2002-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 command 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 existence 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 indirect ("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. These changes are 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-2005 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 inconsistent slash delimiters 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 consistency 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.
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 discrepancy 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 usage.
-
Optimised the way raw analysis results are written to the Lint Analysis Results pane of the output window.
-
Improved the way analysis 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 apartments. [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 likelihood 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 configuration are 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