github cppcheck-opensource/cppcheck 2.21.0
Cppcheck-2.21.0

3 hours ago

Release Notes for Cppcheck 2.21

Major bug fixes & crashes:

  • Fixed potential crash with incomplete preprocessor directive
  • Fixed hang in createAst
  • Fixed invalid AST for braced initialization and references/pointers
  • Fixed cppcheckError with array typedef
  • Fixed recheck which now correctly excludes non selected files
  • Fixed potential crash when rechecking files in gui

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:

  • import project: include path in compile_commands.json now handled correctly

GUI:

  • Removed handling of Cppcheck Premium LOC license

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.

Don't miss a new cppcheck release

NewReleases is sending notifications on new releases.