
Release Notes for Cppcheck 2.21

Major bug fixes & crashes:
-

New checks:
- MISRA C 2012 rule 10.3 now warns on assigning integer literals 0 and 1 to bool in C99 and later while preserving the existing C89 behavior.
- funcArgNamesDifferentUnnamed warns on function declarations/definitions where a parameter in either location is unnamed
- uninitMemberVarNoCtor warns on user-defined types where (1) some but not all members requiring initialization have in-class initializers or (2) there is a mixture of members which do/do not require initialization.
- fcloseInLoopCondition warns when fclose() is used as a while loop condition, which may skip the loop body or double-close the file handle.

C/C++ support:
-

GUI:
-

Changed interface:
-

Infrastructure & dependencies:
-

Other:
- Make it possible to specify the regular expression engine using the `engine` element in a rule XML.
- Added CLI option `--exitcode-suppress` to specify an error ID which should not result in a non-zero exitcode.
- Moved source code from https://github.com/danmar/cppcheck to https://github.com/cppcheck-opensource/cppcheck
- The official Windows binary is now built with Visual Studio 2026.
- Updated simplecpp to 1.7.0.
-
