Checkstyle 13.6.0, una actualización de Checkstyle, se centra en la estabilidad y la compatibilidad mejorada con las características modernas de Java. Esta versión, con fecha 2026-06-15, es crucial para los ingenieros de QA y desarrolladores que dependen del análisis de código estático.

Cambios Clave

Nuevas Características y Mejoras:

  • Agrupación de Constructores: El ConstructorsDeclarationGroupingCheck ahora incluye una nueva propiedad required. Esto permite ordenar los constructores según la aridad creciente, asegurando un estilo de código consistente.
  • Mejora de NoLineWrap: Se ha resuelto un falso negativo para las declaraciones import module (MODULE_IMPORT) envueltas, lo que hace que la verificación sea más precisa.

Correcciones de Errores Clave:

Una parte significativa de esta actualización aborda problemas relacionados con JEP 512: Compact Source Files and Instance Main Methods, introducido en JDK 25.

  • Estabilidad JEP 512: Se han corregido numerosos NullPointerException (NPEs) que ocurrían en archivos fuente compactos en varias comprobaciones, incluyendo MagicNumberCheck, EmptyLineSeparatorCheck, FinalLocalVariableCheck, ModifiedControlVariableCheck, MissingOverrideCheck, MissingOverrideOnRecordAccessorCheck, MethodNameCheck y UnusedLocalVariableCheck. Esto mejora enormemente la fiabilidad de Checkstyle al analizar bases de código Java modernas.
  • Declaraciones import module: Se han corregido varios falsos negativos e indentaciones incorrectas para las declaraciones import module en las comprobaciones EmptyLineSeparator e Indentation.
  • Comprobaciones de Estilo OpenJDK: Se han añadido nuevas comprobaciones para el estilo OpenJDK §3.3 - Import statements y Wildcard Imports, asegurando una mejor adhesión a estas directrices.
  • Analizador Javadoc: Se han resuelto múltiples problemas con el analizador Javadoc, mejorando su precisión y evitando errores en archivos fuente complejos como java/lang/Character.java.
  • Falsos Positivos: PackageDeclarationCheck y OuterTypeFilename ya no reportan falsos positivos en archivos fuente compactos JEP 512.
  • Archivos SARIF y de Supresión: Las mejoras incluyen la codificación porcentual adecuada de las comillas dobles en las URIs de archivos SARIFLogger y el escape de nombres de archivo en los archivos de supresión generados.

Para una lista completa de cambios, consulte las notas de la versión oficial.

Impacto para Equipos de QA

Los equipos de QA se beneficiarán de un análisis estático más fiable, especialmente al trabajar con proyectos que utilizan características modernas de Java como los archivos fuente compactos JEP 512. Menos falsos positivos y NullPointerExceptions significan informes más limpios y menos tiempo dedicado a clasificar problemas irrelevantes, permitiendo centrarse en preocupaciones genuinas de calidad del código. Esta actualización asegura que Checkstyle siga siendo una herramienta eficaz para aplicar estándares de codificación.