Bug
- [CPP-3486] - MSVC: Support naming the base class without template parameters
- [CPP-3487] - MSVC: Allow mentioning 'class' or 'struct' before the constructor declaration
- [CPP-3489] - Reproducer: fix isInterestingFile function when running Linux reproducer on windows
- [CPP-3592] - MSVC Support incomplete type in template when type is complete before instantiation
- [CPP-3633] - MSVC driver: support "/openmp-"
- [CPP-3648] - MSVC: fix parsing error on std::pair and std::tuple assignment
- [CPP-3651] - Fix reproducer generation in case of an unrecoverable crash and stabilize the recovery process
- [CPP-3655] - Compilation Database: fix handling of single quote and the escape character on Linux/macOS
- [CPP-3661] - Fix cache crash due to issues reported on invalid line
New Feature
- [CPP-3135] - Re-implement S3574: Redundant lambda return types should be omitted
- [CPP-3630] - Document and officialize `reportingCppStandardOverride`
- [CPP-3631] - build-wrapper should explicitly fail on Apple Silicon with a clear message
- [CPP-3635] - Use optimal multithreading default for C and C++ analysis
Task
- [CPP-3090] - Fix assertion failure in test/checks/ImplicitFunctionDeclarationCheck.c
- [CPP-3362] - Quick Fixes tester: make the order of fixes' labels irrelevant in the comparasion of actual and expected fixes
Improvement
- [CPP-2063] - MSVC support friend declaration as function declaration
- [CPP-2904] - Reproducers created on Unix should be able to reproduce on Windows and vice versa
- [CPP-3322] - S3574: Add an exception for lambdas that return expressions of different type (or just std::optional?)
- [CPP-3615] - Improve logging when cache query miss because of a dependency change
- [CPP-3623] - S6214 S6183: Clarify the relationship between those rules
- [CPP-3644] - Compilation database: Better handling of relative paths
- [CPP-3652] - Don't run AST and Symbolic-execution rules when generating the reproducer
- [CPP-3653] - Improve VS Code Parsing and logging of compilation database
- [CPP-3654] - Improve mingw installation detection mechanism while probing the compiler
- [CPP-3657] - Improve cache size by including project level rules in header issues optimization
- [CPP-3659] - Compilation database parsing: relax file extension requirement
- [CPP-3660] - Compilation database parsing: ignore invalid entry instead of failing
- [CPP-3662] - Improve C++ crash recovery for symbolic execution
- [CPP-3663] - Improve compiler probing on linux/macOS to search in the environment and log failure
- [CPP-3664] - Do not unnecessarily duplicate SE nodes
False-Positive
- [CPP-3136] - S3574: add an exception when the return type is a reference
- [CPP-3282] - S3574: add an exception for lambdas that do not return normally
- [CPP-3547] - S6164: Implement the rule based on usual rounding
- [CPP-3610] - S6031: False positive on forwarding references captured by lambda
- [CPP-3611] - S6031: False Positive when using a decltype through an alias.
Documentation
- [CPP-3399] - Document that the CFamily analyzer doesn't support `sonar.tests`
- [CPP-3609] - Document symbolic execution and how to allow debugging it from reproducer and tester
- [CPP-3636] - Document that reusing nodes with MsBuild is not supported by the build wrapper
- [CPP-3650] - Broken link to "sandbox" on page "Building with Bazel"
Edit/Copy Release Notes
The text area below allows the project release notes to be edited and copied to another document.