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 ConstructorsDeclarationGroupingCheck now includes a new required property. This allows for ordering constructors based on increasing arity, ensuring consistent code style.
  • NoLineWrap Improvement: A false negative for wrapped import module declarations (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, including MagicNumberCheck, EmptyLineSeparatorCheck, FinalLocalVariableCheck, ModifiedControlVariableCheck, MissingOverrideCheck, MissingOverrideOnRecordAccessorCheck, MethodNameCheck, and UnusedLocalVariableCheck. This greatly improves the reliability of Checkstyle when analyzing modern Java codebases.
  • import module Declarations: Several false negatives and incorrect indentations for import module declarations have been corrected in EmptyLineSeparator and Indentation checks.
  • 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: PackageDeclarationCheck and OuterTypeFilename no 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.