Checkstyle 13.6.0, an update from Checkstyle, focuses on stability and enhanced compatibility with modern Java features. This release, dated 2026-06-15, is crucial for QA engineers and developers relying on static code analysis.
Key Changes
New Features & Enhancements:
- Constructor Grouping: The
ConstructorsDeclarationGroupingChecknow includes a newrequiredproperty. This allows for ordering constructors based on increasing arity, ensuring consistent code style. NoLineWrapImprovement: A false negative for wrappedimport moduledeclarations (MODULE_IMPORT) has been resolved, making the check more accurate.
Key Bug Fixes:
A significant portion of this update addresses issues related to JEP 512: Compact Source Files and Instance Main Methods, introduced in JDK 25.
- JEP 512 Stability: Numerous
NullPointerExceptions (NPEs) occurring on compact source files have been fixed across various checks, includingMagicNumberCheck,EmptyLineSeparatorCheck,FinalLocalVariableCheck,ModifiedControlVariableCheck,MissingOverrideCheck,MissingOverrideOnRecordAccessorCheck,MethodNameCheck, andUnusedLocalVariableCheck. This greatly improves the reliability of Checkstyle when analyzing modern Java codebases. import moduleDeclarations: Several false negatives and incorrect indentations forimport moduledeclarations have been corrected inEmptyLineSeparatorandIndentationchecks.- OpenJDK Style Checks: New checks have been added for OpenJDK Style §3.3 - Import statements and Wildcard Imports, ensuring better adherence to these guidelines.
- Javadoc Parser: Multiple issues with the Javadoc parser have been resolved, improving its accuracy and preventing errors on complex source files like
java/lang/Character.java. - False Positives:
PackageDeclarationCheckandOuterTypeFilenameno longer report false positives on JEP 512 compact source files. - SARIF & Suppression Files: Improvements include proper percent-encoding of double quotes in SARIFLogger file URIs and escaping file names in generated suppression files.
For a complete list of changes, refer to the official release notes.
Impact for QA Teams
QA teams will benefit from more reliable static analysis, especially when working with projects utilizing modern Java features like JEP 512 compact source files. Fewer false positives and NullPointerExceptions mean cleaner reports and less time spent triaging irrelevant issues, allowing focus on genuine code quality concerns. This update ensures Checkstyle remains an effective tool for enforcing coding standards.
