Cppcheck News

Cppcheck Open-Source 2.21 Released: Stability improvements and new checks

Written by Daniel Marjamäki | Jun 11, 2026 8:27:52 PM

Discover the updates in Cppcheck version 2.21!

Cppcheck 2.21 is now available. This release focuses on improving stability and code analysis capabilities. Several issues and crashes have been resolved, alongside the addition of new checks and updates to project handling, configuration options, and the GUI.

 

Here are the full 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 some but not all members requiring initialization have in-class initializers, or where a mixture of members do and do not require initialization exists.
  • 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