Quarkus 3.6.0 released - SSE improvements, OIDC and security-related enhancements

It is with great pleasure that we are announcing the release of Quarkus 3.6.0.

Quarkus 3.6 will be the last minor of the year (we will release micros for 3.6 in December though). Quarkus 3.7 is planned for the end of January.

Major changes are:

  • Several new features in the REST Client related to SSE handling

  • Many OIDC and general security enhancements (see below for details)

  • Move quarkus-jaeger and quarkus-smallrye-opentracing to Quarkiverse

As usual, this version also comes with bugfixes, performance improvements and documentation improvements.

As mentioned in the previous minor announcement, we currently maintain two version streams in the community:

  • 3.6: it is the latest and greatest and it introduces new features

  • 3.2: it is our current LTS release

Quarkus 2.x is not maintained in the community anymore. If you are using the community version, please upgrade to Quarkus 3.x (either 3.2 LTS or 3.6).

Update

To update to Quarkus 3.6, we recommend updating to the latest version of the Quarkus CLI and run:

quarkus update

To migrate from 3.5, please refer to our migration guide.

If you are not already using 3.x, please refer to the 3.0 announcement for all the details. You can also refer to this blog post for additional details. Once you upgraded to 3.0, also have a look at the 3.1, 3.2, 3.3, 3.4, and 3.5 migration guides.

What’s new?

SSE handling improvements

SSE handling in the REST Client was significantly improved:

  • The REST Client can now return the entire SSE event instead of just the data.

  • You can easily filter out some particular SSE events with a SseEventFilter.

These new features are fully documented in the REST Client guide.

OIDC and security improvements

Many enhancements were made to the OIDC and security extensions:

  • Support for dynamic OIDC JWK set resolution

  • Ability to adjust HTTP permissions and roles policies at runtime

  • Add Discord as well-known OIDC provider

  • JPA Security: allow pointing to a named persistence unit

  • Introduce OidcRequestFilter

  • Make it possible to acquire OIDC SecurityIdentity after HTTP request has completed

Also there is now an OIDC client integration for GraphQL clients.

quarkus-jaeger and quarkus-smallrye-opentracing moved to Quarkiverse

After having been deprecated for a long while, the Jaeger and SmallRye OpenTracing extensions have been retired from the Quarkus Platform.

It is recommended to migrate your applications to OpenTelemetry and a tutorial to guide you in this migration is available.

The code of the extensions have been moved to the Quarkiverse and can be consumed from there from now on (relocations have been put in place to avoid breaking your builds). If you want these extensions to continue working in the future, it is recommended to get involved in their development.

These extensions are not in the Quarkus Platform BOM anymore and you need to define the version yourself in your build file, together with moving to the new groupId:

Component New groupId Current version Repository

Jaeger

io.quarkiverse.jaeger

1.0.0

https://github.com/quarkiverse/quarkus-jaeger

SmallRye OpenTracing

io.quarkiverse.opentracing

1.0.0

https://github.com/quarkiverse/quarkus-smallrye-opentracing

Full changelog

You can get the full changelog of 3.6.0.CR1 and 3.6.0 on GitHub.

Contributors

The Quarkus community is growing and has now 876 contributors. Many many thanks to each and everyone of them.

In particular for the 3.6 release, thanks to Ales Justin, Alex Martel, Alexander Schwartz, Alexey Loubyansky, Anastasiia Pushkina, Andrea Peruffo, Andrej Petras, Andy Damevin, asjervanasten, Auri Munoz, barreiro, Bernhard Schuhmann, Bruno Baptista, Bruno Oliveira da Silva, Christian Beikov, Clement Escoffier, David Birks, David Cotton, Davide D’Alto, Eric Deandrea, Erin Schnabel, Falko Modler, Felix König, Foivos Zakkak, Geoffrey De Smet, George Gastaldi, Georgios Andrianakis, glefloch, Guillaume Smet, hiteshkhatri97, Holly Cummins, Ioannis Canellos, Ivan, Jan Martiska, jeanphi.baconnais, JiriOndrusek, Juan Diego López V, Katia Aresti, kdnakt, Ladislav Thon, Leonor Boga, Loïc Mathieu, Luke Morfill, Marc Nuri, Marco Bungart, Marco Sappé Griot, mariofusco, Mark Swatosh, marko-bekhta, Martin Kouba, Matej Novotny, Max Rydahl Andersen, Melloware, Michal Maléř, Michal Vavřík, Michelle Purcell, Milan Tulek, Nathan Erwin, Nelson Osacky, Ozan Gunalp, Pedro Igor, Peter Palaga, Phillip Krüger, Robert Stupp, Roberto Cortez, Rolfe Dlugy-Hegwer, Roman Ziske, Rostislav Svoboda, Rui Balau, sahuefficy, Said BOUDJELDA, Sanne Grinovero, Scott M Stark, Sergey Beryozkin, Stefan Guilhen, Torben Meyer, wrongwrong, xstefank, Yoann Rodière, and Yoshikazu Nojima.

Come Join Us

We value your feedback a lot so please report bugs, ask for improvements…​ Let’s build something great together!

If you are a Quarkus user or just curious, don’t be shy and join our welcoming community: