JavaKotlinSQL QuarkusKafkaQuarkus (Kotlin)GradleHibernateMavenVert.x Microservices ArchitectureAPI DevelopmentEvent-Driven ArchitectureLegacy Code RefactoringBackend Development 2 min read

Quarkus 4.0.0.Beta2 Released With Internal Refactoring and Updates

Quarkus 4.0.0.Beta2 arrives with major startup refactoring, enhanced OIDC and REST client capabilities, and updated dependencies including Vert.x 5.2.2.

Quarkus 4.0.0.Beta2 arrived on October 28 with several hundred changes across the Java and Kotlin framework.

The update introduces OAuth2 attestation-based client authentication and JFR events for the REST Client. OIDC and OIDC-client extensions now honor JVM HTTP proxy settings, including non-proxy hosts. Token caching handles additional parameters, and token propagation filters cache exchanged tokens. Empty session cookies are treated as missing, and protected resource metadata responses carry a Content-Type header. The REST Client supports request-level overrides for read timeout, other timeouts, and redirects, and no longer logs an error when closed twice.

Startup mechanics received substantial internal refactoring. Dozens of extensions—including SmallRye Health, Mailer, Kafka client, Kafka Streams, Jackson, Quartz, Narayana JTA, Liquibase, and Netty—had their bytecode recorders removed in favor of a service-based start/stop mechanism. Further changes add build reproducibility, parallel start support, and jlink image fixes for Quarkus REST, WebSockets Next, REST Client, Qute, Hibernate Validator, and Elytron basic authentication. The jlink launcher name now derives from the build, and tree shaking preserves classes referenced from invokedynamic call sites and dynamic constants.

Hibernate ORM replaces the deprecated sql-load-script with new data init scripts, supports zipped SQL load scripts, and allows per-class persistence unit assignment. Flyway moves to version 13, and quarkus-cache is split into an extension and an API library.

Dependency updates bring Vert.x 5.2.2 with Netty 4.2.19, Kotlin 2.4.20, SmallRye Config 4.1.0, Jackson 3.1.8 and 2.21.8, OpenTelemetry SDK 1.65.0, and Narayana LRA 2.0.1.Final.