El equipo de Apache Shiro anunció el lanzamiento de la versión 3.0.0, una nueva versión mayor que culmina más de dos años de trabajo e introduce cambios significativos en los requisitos del framework de seguridad para Java.
Entre las novedades principales destaca la elevación de JDK 17 como versión mínima requerida, la migración al espacio de nombres Jakarta EE 9, 10 y 11 (sin componentes javax.*) y el soporte para Spring 6 y 7, SpringBoot 3 y 4, así como Guice 7 y 8+. La versión aprovecha además los Java Scoped Values para gestionar Subject y SecurityManager en lugar de ThreadLocals cuando se ejecuta sobre JDK 25 o superior.
El lanzamiento también mejora la seguridad por defecto: la coincidencia de rutas pasa a ser insensible a mayúsculas y minúsculas de forma predeterminada, se incorpora el nuevo filtro NoAccessFilter a la cadena de filtros por defecto (un cambio incompatible que refuerza la protección) y se habilitan por defecto las peticiones CORS preflight. Asimismo, la implementación por defecto de PrincipalCollection se ha vuelto inmutable y se ha reforzado la seguridad de hilos en las sesiones nativas de Shiro, incluyendo SimpleSession, SimpleSessionFactory y CachingSessionDAO.
Con esta publicación, Apache Shiro da por finalizadas las ramas 1.x y 2.x, cuyo soporte queda limitado a opciones comerciales. Los detalles completos están disponibles en la página de descargas del proyecto y en la release 3.0.0 de su repositorio en GitHub.
