Skip to content

Commit 2522749

Browse files
committed
Quarkus 3.16.1
1 parent 04f39d8 commit 2522749

File tree

2 files changed

+162
-2
lines changed

2 files changed

+162
-2
lines changed

_data/versions.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
quarkus:
2-
version: 3.15.1
3-
announce: /blog/quarkus-3-15-1-released/
2+
version: 3.16.1
3+
announce: /blog/quarkus-3-16-1-released/
44
graalvm: 'for Java 21'
55
jdk: "17+"
66
maven: 3.9.6+
Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
---
2+
layout: post
3+
title: 'Quarkus 3.16 - OpenTelemetry Logging, LGTM Quarkus dashboard and too many things to list here'
4+
date: 2024-10-30
5+
tags: release
6+
synopsis: 'We released Quarkus 3.16 which is packed with new features and enhancements: distributed logging with OpenTelemetry Logging, a nice default LGTM dashboard, a lot of new security features...'
7+
author: gsmet
8+
---
9+
10+
After the 3.15 LTS release comes Quarkus 3.16 and a lot of new features and enhancements.
11+
12+
Quarkus 3.16 is the result of the 2 month worth of work so it's more packed than your usual Quarkus minor.
13+
14+
Notable changes are:
15+
16+
* https://github.com/quarkusio/quarkus/pull/43005[#43005] - Drop the compatibility layer for the Big Reactive Rename
17+
* https://github.com/quarkusio/quarkus/pull/38239[#38239] - OpenTelemetry Logging support
18+
* https://github.com/quarkusio/quarkus/pull/41264[#41264] - LGTM Quarkus dashboard
19+
* https://github.com/quarkusio/quarkus/pull/42954[#42954] - Generate serialization-free Jackson deserializers
20+
* https://github.com/quarkusio/quarkus/pull/42642[#42642] - Quarkus REST - Support record parameter containers
21+
* https://github.com/quarkusio/quarkus/pull/43331[#43331] - Introduce per invocation override of REST Client's base URL
22+
* https://github.com/quarkusio/quarkus/pull/41866[#41866] - Add quarkus-oidc-client-registration extension
23+
* https://github.com/quarkusio/quarkus/pull/42749[#42749] - Add new AuthorizationPolicy annotation to bind named HttpSecurityPolicy to a Jakarta REST endpoints
24+
* https://github.com/quarkusio/quarkus/pull/42879[#42879] - Add OIDC Client SPI
25+
* https://github.com/quarkusio/quarkus/pull/43241[#43241] - Support @PermissionsAllowed defined on meta-annotation
26+
* https://github.com/quarkusio/quarkus/pull/43283[#43283] - Introduce OidcResponseFilter
27+
* https://github.com/quarkusio/quarkus/pull/42935[#42935] - Support for two or more authentications for a single request
28+
* https://github.com/quarkusio/quarkus/pull/43609[#43609] - Support Keycloak Dev Service when OIDC client is used without OIDC extension
29+
* https://github.com/quarkusio/quarkus/issues/42534[#42534] - Integrate GraphQL clients with the TLS registry extension
30+
* https://github.com/quarkusio/quarkus/pull/43303[#43303] - Integrate Keycloak Admin Client with TLS registry
31+
* https://github.com/quarkusio/quarkus/pull/43402[#43402] - Auto log for Dev Services in containers
32+
* https://github.com/quarkusio/quarkus/pull/43441[#43441] - Add HTTP Access Log to Dev UI
33+
* https://github.com/quarkusio/quarkus/pull/42907[#42907] - Allow multiple format and themes in the Config Doc generator
34+
35+
Note that we haven't forgotten 3.15 LTS, a 3.15.2 LTS is in the works and will be released in November.
36+
We are carefully selecting the fixes we will backport to it.
37+
38+
== Update
39+
40+
To update to Quarkus 3.16, we recommend updating to the latest version of the Quarkus CLI and run:
41+
42+
[source,bash]
43+
----
44+
quarkus update
45+
----
46+
47+
Note that `quarkus update` can update your applications from any version of Quarkus (including 2.x) to Quarkus 3.16.
48+
49+
For more information about the adjustments you need to make to your applications, please refer to the https://github.com/quarkusio/quarkus/wiki/Migration-Guide-3.16[Quarkus 3.16 migration guide].
50+
51+
== What's new?
52+
53+
=== Big Reactive Rename compatibility layer dropped
54+
55+
Remember the Big Reactive Rename?
56+
It happened in 3.9 with the ultimate goal of avoiding the confusion between extensions that have a reactive core and are supporting equally well reactive and non-reactive workloads and extensions that are purely designed as reactive.
57+
58+
A lot of extensions were renamed and we put in place relocations both for the artifacts and for the configuration.
59+
60+
Compatibility layers have a cost and we decided to drop this one in 3.16, after the 3.15 LTS release.
61+
62+
If you encounter issues with this change, please refer to the https://github.com/quarkusio/quarkus/wiki/Migration-Guide-3.9[Quarkus 3.9 migration guide].
63+
64+
If you are using `quarkus update` to update to each new version, the changes were handled for you already.
65+
66+
=== OpenTelemetry Logging
67+
68+
Quarkus 3.16 supports distributed logging via OpenTelemetry Logging.
69+
This is the natural continuation of the OpenTelemetry work in Quarkus.
70+
71+
This support is part of the already existing OpenTelemetry extension and can be easily enabled via configuration properties.
72+
73+
To learn more about it, have a look at the https://quarkus.io/guides/opentelemetry-logging[dedicated guide]
74+
75+
=== LGTM dashboard
76+
77+
When using the LGTM Dev Services, an out of the box Quarkus dashboard will now be provided.
78+
79+
=== Quarkus REST
80+
81+
In Quarkus REST, you can use custom classes as parameters of your REST methods but records were not supported.
82+
It is now the case in Quarkus 3.16.
83+
84+
When using the REST Client, providing a URL is mandatory and you usually configure it globally.
85+
However, from time to time, you might want to configure it per-invocation.
86+
The `@Url` annotation was introduced for that: annotate a parameter of your REST Client method with it and you can dynamically provide a URL.
87+
88+
=== Jackson
89+
90+
You might remember that in Quarkus 3.14, we introduced https://quarkus.io/blog/quarkus-3-14-1-released/#faster-reflection-free-jackson-serializers[faster reflection-free serializers].
91+
92+
And you might have wondered "where are my faster reflection-free **de**serializers"?
93+
94+
They just landed in 3.16!
95+
96+
=== Security
97+
98+
As usual, this version comes with several new features and enhancements related to our security layer:
99+
100+
* https://github.com/quarkusio/quarkus/pull/41866[#41866] - Add quarkus-oidc-client-registration extension - see https://quarkus.io/guides/security-openid-connect-client-registration[documentation] here
101+
* https://github.com/quarkusio/quarkus/pull/42749[#42749] - Add new AuthorizationPolicy annotation to bind named HttpSecurityPolicy to a Jakarta REST endpoints - see https://quarkus.io/guides/security-authorize-web-endpoints-reference#authorization-policy-example[documentation] here
102+
* https://github.com/quarkusio/quarkus/pull/42879[#42879] - Add OIDC Client SPI - see https://quarkus.io/guides/security-openid-connect-client-reference#oidc-client-spi[documentation] here
103+
* https://github.com/quarkusio/quarkus/pull/43241[#43241] - Support `@PermissionsAllowed` defined on meta-annotation - see https://quarkus.io/guides/security-authorize-web-endpoints-reference#permission-meta-annotation[documentation] here
104+
* https://github.com/quarkusio/quarkus/pull/43283[#43283] - Introduce `OidcResponseFilter` - see https://quarkus.io/guides/security-oidc-code-flow-authentication#code-flow-oidc-response-filters[documentation] here
105+
* https://github.com/quarkusio/quarkus/pull/42935[#42935] - Support for two or more authentications for a single request - described https://quarkus.io/guides/security-authentication-mechanisms[here]
106+
* https://github.com/quarkusio/quarkus/pull/43609[#43609] - Support Keycloak Dev Service when OIDC client is used without OIDC extension
107+
108+
=== TLS registry everywhere
109+
110+
The TLS registry was introduced in Quarkus a while ago and we are iterating in each version to migrate more extensions to it.
111+
112+
In Quarkus 3.16, two new extensions have been adapted to rely on the centralized TLS registry:
113+
114+
- SmallRye GraphQL Client
115+
- Keycloak Admin Client
116+
117+
=== Dev UI
118+
119+
The Dev UI is continuously enhanced but we wanted to highlight a very nice addition:
120+
logs from your Dev Services containers and HTTP access logs are now available in the Dev UI.
121+
122+
=== Configuration documentation
123+
124+
When developing extensions, it can be handy to publish your configuration documentation.
125+
126+
Until now, it was only possible to publish it in Asciidoc.
127+
With 3.16, you can also generate Asciidoc by passing `<format>markdown</format>` to the configuration of the Config Doc Maven Plugin.
128+
129+
=== Platform component upgrades
130+
131+
==== Camel Quarkus
132+
133+
Camel Quarkus has been updated to 3.16.0.
134+
135+
==== Quarkus CXF
136+
137+
Quarkus CXF 3.16 was released and is now available in https://code.quarkus.io/?extension-search=origin:platform%20quarkus-cxf[Quarkus Platform 3.16].
138+
Check the https://docs.quarkiverse.io/quarkus-cxf/dev/release-notes/3.16.0.html[Quarkus CXF 3.16.0] release notes for more information about what is new in this release.
139+
140+
== Full changelog
141+
142+
You can get the full changelog of https://github.com/quarkusio/quarkus/releases/tag/3.16.0.CR1[3.16.0.CR1], https://github.com/quarkusio/quarkus/releases/tag/3.16.0[3.16.0], and https://github.com/quarkusio/quarkus/releases/tag/3.16.1[3.16.1] on GitHub.
143+
144+
== Contributors
145+
146+
The Quarkus community is growing and has now https://github.com/quarkusio/quarkus/graphs/contributors[1020 contributors].
147+
Many many thanks to each and everyone of them.
148+
149+
In particular for the 3.16 release, thanks to AB, Adriano Moreira, Akulov S V, Ales Justin, Alex Martel, Alexandros Antonakakis, Alexey Loubyansky, Andreas Stangl, Andy Damevin, Auri Munoz, AxiomaticFixedChimpanzee, Bassel Rachid, Bruno Baptista, Chris Cranford, Chris Laprun, Christian Navolskyi, Claudio Miranda, Clement Escoffier, Dale Peakall, Daniel Bobbert, Daniel Cunha, Daniel Ezihe, Dannier Leonides Galicia Chinchilla, David M. Lloyd, Davide D'Alto, Dimitris Polissiou, Domenico Briganti, Falko Modler, Foivos Zakkak, Francesco Nigro, Galder Zamarreño, George Gastaldi, Georgios Andrianakis, Guillaume Smet, Gunnar Morling, Gunther C. Wenda, Holly Cummins, Inaki Villar, Ioannis Canellos, Jakub Gardo, Jakub Jedlicka, Jan Martiska, jcarranzan, Jeremy Whiting, Jerome Prinet, Jonathan Kolberg, Jorge Solórzano, Julien Ponge, Jérémie Bresson, Jérémie Panzer, Katia Aresti, KERN Christian, Konrad Durnoga, KS, Ladislav Thon, Lars, Laurent Perez, Loic Hermann, Lorenzo De Francesco, Loïc Hermann, Loïc Mathieu, luneo7, Marc Nuri, Marcel Stör, Marcelo Ataxexe Guimarães, Marek Skacelik, mariofusco, marko-bekhta, Martin Bartoš, Martin Kouba, Matej Novotny, Matheus Cruz, Matthias Schorsch, mauroantonio.depalma, Max Rydahl Andersen, Maximilian Rehberger, Melloware, Michael Edgar, Michal Maléř, Michal Vavřík, Nathan Erwin, Nicholas Kolatsis, Ozan Gunalp, Ozzy Osborne, Paul6552, Paulo Casaes, Peer Bech Hansen, Peter Palaga, peubouzon, PhilKes, Phillip Krüger, polarctos, Ralf Ueberfuhr, rghara, Robert Stupp, Roberto Cortez, RobinDM, Rod Cheater, Rolfe Dlugy-Hegwer, Roman Lovakov, Rostislav Svoboda, Sanne Grinovero, Sebastian Schuster, Sergey Beryozkin, Seto, sku20, Stéphane Épardaud, Thomas Canava, Thomas Segismont, Tiago Bento, tmulle, Vincent Sevel, xstefank, yamada-y0, Yasser Greyeb, Yoann Rodière, Yurii Dubinka, and Žan Ožbot.
150+
151+
== Come Join Us
152+
153+
We value your feedback a lot so please report bugs, ask for improvements... Let's build something great together!
154+
155+
If you are a Quarkus user or just curious, don't be shy and join our welcoming community:
156+
157+
* provide feedback on https://github.com/quarkusio/quarkus/issues[GitHub];
158+
* craft some code and https://github.com/quarkusio/quarkus/pulls[push a PR];
159+
* discuss with us on https://quarkusio.zulipchat.com/[Zulip] and on the https://groups.google.com/d/forum/quarkus-dev[mailing list];
160+
* ask your questions on https://stackoverflow.com/questions/tagged/quarkus[Stack Overflow].

0 commit comments

Comments
 (0)