Quarkus 3.3.0 released - OpenTelemetry improvements, Reactive Messaging Pulsar extension
It is our pleasure to announce the release of Quarkus 3.3.0.
The first thing you will notice in this release is that we dropped the
This suffix was introduced to make sure final releases were sorted properly compared to alphas, beta and candidate releases,
at a time where the Java tooling had troubles sorting versions properly.
These days are long gone so it is time for us to drop the suffix and simplify our version scheme.
We currently maintain 3 version streams in the community:
3.3: it is the latest and greatest and it introduces new features
3.2: it is our current LTS release
2.16: we plan to release a few more releases but we recommend you to migrate your applications before the end of October, as there is little chance we will release new 2.16 releases after this date
Major changes are:
A lot of improvements to the OpenTelemetry extension
Reactive Messaging Pulsar extension
Ability to customize the ObjectMapper in REST Client Reactive Jackson
Micrometer Introduce a way to completely customize MeterRegistry
Drop elasticsearch-high-level-rest-client extension and upgrade Dev Services and tests to Elasticsearch 8
Various security-related enhancements
To update to Quarkus 3.3, we recommend updating to the latest version of the Quarkus CLI and run:
To migrate from 3.2, please refer to our migration guide.
This version brings extensive improvements to the OpenTelemetry extension:
OTel 1.28 is now supported.
The default OTel exporter has been replaced by a Quarkus implementation on top of Vert.x. This allows us not to depend on the OkHttp library. The exporter continues to be automatically wired with CDI, that’s why the
quarkus.otel.traces.exporterproperty defaults to
The new Quarkus Vert.x exporter now supports
http/protobuf. Please change the protocol with this property:
The Quarkus OTel exporter will now have TLS support.
quarkus.tls.trust-all=true, it will also disable all SSL verifications on the Quarkus OTel exporter.
We added a way to customize the propagation header. This can be achieved by implementing the
TextMapPropagatorCustomizerinterface. This can be used, as an example, to restrict propagation of OpenTelemetry trace headers and prevent potentially sensitive data to be sent to third party systems
quarkus.otel.traces.eusp.enabled=true; you can add information about the user related to each span. The user’s ID and roles will be added to the span attributes, if available.
We now properly report the
Swagger UI endpoints will not be tracked anymore.
Spans of failed requests will now contain stack traces.
OTel instantiation has been improved to prevent racing condition at startup.
A Pulsar extension for Reactive Messaging has been added to Quarkus. And it comes with Dev Services!
Please have a look at the dedicated guide.
We added support for OIDC authorization code flow nonce.
We provide easy configuration for a lot of common OIDC provider and we added support for a new one: Twitch.
OIDC JavaRequest checks can be customized.
@Tenantannotation is used to resolved tenants.
OIDC token propagation is supported during
quarkus-elasticsearch-high-level-rest-client extension has been dropped.
It was relying on the previous high level client that was deprecated by Elastic and was not Open Source anymore in the recent versions (we were still using an old version).
This extension is replaced by the Elasticsearch Java Client extension. It is not a drop in replacement so the migration will require some work.
You can now customize the
ObjectMapper when using REST Client Reactive Jackson.
It is now possible to customize the
MeterRegistry as described in our documentation.
Netty metrics were added.
We are now relying consistently on the
org.graalvm.sdk:graal-sdk artifact (we previously used the non-API
The dependencies to this artifact are marked as
provided in Quarkus so they are not transitive:
if you want to include GraalVM substitutions in your applications, please add it as a dependency yourself from now on.
It is part of the BOM so you don’t have to define the version.
The Quarkus community is growing and has now 834 contributors. Many many thanks to each and everyone of them.
In particular for the 3.3 release, thanks to Ales Justin, Alexey Loubyansky, A.Moscatelli, Andrea Peruffo, Andy Damevin, Anthony T. Lannutti, Auri Munoz, biswassri, Bruno Baptista, Chris Laprun, Clement Escoffier, Daniel Cunha, Daryl Koh, Dave Maughan, Davide D’Alto, Emile de Weerd, Erin Schnabel, Falko Modler, Foivos Zakkak, Fouad Almalki, franz1981, Galder Zamarreño, George Gastaldi, Georgios Andrianakis, Giancarlo Calderón Cárdenas, Guillaume Smet, Holly Cummins, humberto, imperatorx, Ioannis Canellos, James Netherton, Jan Martiska, Jerome Prinet, Joan Ruget, Jose Carvajal, Josef Smrcka, Julien Ponge, Katia Aresti, Kenneth Bøgedal, Kevin Dubois, Kevin Howell, Kevin Wooten, kpapakyriakos, Ladislav Thon, Loïc Mathieu, Manyanda Chitimbo, Marek Skacelik, Marko Bekhta, Martin Kouba, Martin Ocenas, Martin Panzer, Matej Novotny, Max Rydahl Andersen, melloware, Michael Edgar, Michael Musgrove, Michal Maléř, Michal Vavřík, Michelle Purcell, Nicolas Filotto, Ozan Gunalp, Paul Carter-Brown, Paulo Casaes, Pedro Igor, Peter Fortuin, Peter Palaga, Phillip Krüger, rjtmahinay, Robert Kühne, Roberto Cortez, Rolfe Dlugy-Hegwer, Romain Pelisse, Rostislav Svoboda, Samet Karakaya, Sanne Grinovero, Sebastian Schuster, Sergey Beryozkin, Severin Gehwolf, Siva_M7, suchwerk, The-Huginn, Thomas Segismont, Vincent Sevel, xstefank, ygyg70, Yoann Rodière, Yoshikazu Nojima, yyang.
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: