Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 33 additions & 13 deletions releasenotes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,46 @@
Release Notes for Cppcheck 2.22

Major bug fixes & crashes:
-
- Fixed a large number of fuzzer-found crashes and hangs in the tokenizer and template simplifier, e.g. TemplateSimplifier::expandTemplate() (bb630c244, 3f2d60c4b), Tokenizer::simplifyTypedef() (71de6753d, 3deb36d1f, 592e7b7c2), Tokenizer::simplifyUsing() (9162aa7fb, 7d5a54cc6), Tokenizer::findGarbageCode() (08db3048d) and ReverseTraversal::traverse() (3a3184de2, 5aa31d0da).
- 6d2b6f4a5 Fix #14974 [regression] inline suppression does not work with build dir anymore.
- 9a500c866 Fix #14972 [regression] Syntax Error: AST broken, '!' doesn't have an operand.

New checks:
- Warn when feof() is used as a while loop condition (wrongfeofUsage).
- ftell() result is unspecified when file is opened in mode "t".
- Detect when an STL algorithm such as std::copy, std::equal, std::transform, etc. accesses more elements through an iterator than are available in the container (algorithmOutOfBounds).
- Detect switch cases that cannot be selected when the switch condition has a known value (unreachableSwitchCase).
- 0d7884dad Warn when feof() is used as a while loop condition (wrongfeofUsage).
- 04091bd59 ftell() result is unspecified when file is opened in mode "t".
- 3d88880e8 Detect when an STL algorithm such as std::copy, std::equal, std::transform, etc. accesses more elements through an iterator than are available in the container (algorithmOutOfBounds).
- f695ade7f Detect switch cases that cannot be selected when the switch condition has a known value (unreachableSwitchCase).

C/C++ support:
-
- b878dc223 Support C++23 'if consteval' / 'if !consteval'.
- 7a8c67ab4 Fix #15007 `isAttributeNoreturn` not set for `_Noreturn`.

GUI:
-

Changed interface:
-
- f81f6f0e7 Fix #14829 Platform configuration mismatch between UI selection and analysis log.
- 9f74c2db8 Fix #14813 crash: recheck in GUI sometimes crashes.
- 550189be6 Fix #14738 GUI recheck of files not working properly when importing compile_commands.json.
- 8f7666dd3 Fix #14983 GUI: exclude file with relative path.
- 6640862c9 Fix #14933 each GUI log entry line should be output on a separate line.
- 5799d47ee Removed GUI compliance report instructions (feature removed).

Suppressions:
- 93546a2bc XML suppression file: added macro attribute for specifying macro name.
- fecb3496f Fix #14959 Warning hash for token-based warnings.
- f6fff71c1 Fix #15013 Calculate warning hash for CTU warnings.
- 0b5998407 Baseline functionality (script and documentation).
- 637d5be67 Suppression file name cache. (performance)
- c976cac0e ErrorLogger: do not open and read from files unless necessary (performance).

Import project:
- d32c01d1b Added support for Folders in slnx project files, skip non-C++ projects.
- 9408a1d22 Added support for vcxproj ExcludedFromBuild.
- bf099d1d1 Import project: handle forced include files from compilation database projects.
- 3a9750e31 Flexible handling of -isystem, --sysroot and -I flags in compile_commands.json through the script tweak-compile_commands.py.

Infrastructure & dependencies:
- flexible handling of -isystem, --sysroot and -I flags in compile_commands.json through the script tweak-compile_commands.py.
- baseline functionality.
- 4e62f0cca Fix #14614 Optionally provide comments in preprocessor output (BuildCache).
- ff4d7ce36 Fix #14987 Update simplecpp to 1.9.1.

Other:
- Added configuration file for Microsoft.GSL (Guideline Support Library).
- 1fb66305f Added configuration file for Microsoft.GSL (Guideline Support Library).
- 167f49dce, 5aec67c33, 767ace640 man/checkers: documented remaining checkers and fixed guideline classifications for MISRA C++.