Implementations comparison regarding the version of pac4j:

Categories

Implementation pac4j version
(latest)
Framework version JDK requirement
(for that version)
spring-webmvc-pac4j 6.x Spring 6.x - 7.x JDK 17+
spring-webflux-pac4j 6.x Spring WebFlux 6.x+ JDK 17+
jee-pac4j 6.x JEE 8+ / Jakarta EE 9+ JDK 17+
buji-pac4j 6.x Apache Shiro 3.x JDK 17+
spring-security-pac4j 6.x Spring Security 6.x / 7.x JDK 17+
play-pac4j 6.x Play Framework 3.0
(2.8 and 2.9 with play-pac4j 12.0.x)
JDK 17+
vertx-pac4j 6.x Vert.x 5.x JDK 17+
spark-pac4j 6.x Spark Java 2.9+ JDK 17+
javalin-pac4j 6.x Javalin 7.x JDK 17+
ratpack-pac4j 6.x Ratpack 1.9+ JDK 17+
undertow-pac4j 6.x Undertow 2.4 JDK 17+
jax-rs-pac4j 6.x Jakarta RS 3.x - 4.x JDK 17+
dropwizard-pac4j 6.x Dropwizard 5.0+ JDK 17+
http4s-pac4j 6.x Http4s 0.23+ JDK 17+
Knox 6.x Apache Knox 3.x JDK 17+
jooby-pac4j 6.x Jooby 4.x
(3.x on JDK 17+)
JDK 21+
pippo-pac4j 2.x Pippo 1.x JDK 8+
CAS 6.x Apereo CAS 7.x - 8.x JDK 21+
(JDK 25+ for CAS 8.x)

This table lists the latest version of each implementation. The current pac4j 6.x line requires JDK 17; the older 4.x (JDK 8) and 5.x (JDK 11) lines are no longer maintained, though critical security fixes are backported to them — see the security policy.