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 .Final
suffix.
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
Update
To update to Quarkus 3.3, we recommend updating to the latest version of the Quarkus CLI and run:
quarkus update
To migrate from 3.2, 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 and 3.2 migration guides.
What’s new?
OpenTelemetry
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.exporter
property defaults tocdi
. -
The new Quarkus Vert.x exporter now supports
grpc
(default) andhttp/protobuf
. Please change the protocol with this property:quarkus.otel.exporter.otlp.traces.protocol
. -
The Quarkus OTel exporter will now have TLS support.
-
When setting
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
TextMapPropagatorCustomizer
interface. 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 -
By setting
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
http.route
attribute. -
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.
Reactive Messaging
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.
Security
-
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.
-
The OIDC
@Tenant
annotation is used to resolved tenants. -
OIDC token propagation is supported during
SecurityIdentity`
augmentation.
Elasticsearch
The deprecated 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.
REST Client Reactive
You can now customize the ObjectMapper
when using REST Client Reactive Jackson.
Micrometer
It is now possible to customize the MeterRegistry
as described in our documentation.
Netty metrics were added.
GraalVM
We are now relying consistently on the org.graalvm.sdk:graal-sdk
artifact (we previously used the non-API svm
artifact).
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.
Contributors
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.
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:
-
provide feedback on GitHub;
-
craft some code and push a PR;
-
discuss with us on Zulip and on the mailing list;
-
ask your questions on Stack Overflow.