Quarkus 2.11.1.Final and 2.10.4.Final released - Fixing CVE-2022-2466, new Redis Client API, more customization for some core extensions and more
Today, we released both Quarkus 2.11.1.Final and Quarkus 2.10.4.Final. Quarkus 2.11.1.Final is, despite its name, the first 2.11 release.
Both versions are fixing CVE-2022-2466 in the SmallRye GraphQL server extension (for real this time). Unfortunately, the previous fix introduced in 2.10.3.Final and the non-released 2.11.0.Final was incomplete and the issue was still present in another form.
-
New Redis Client API
-
Default to Java 17-based builder images for native executable generation
-
Bump to Vert.x 4.3.2 and Netty 4.1.78
-
Allow passing unsupported properties to Hibernate ORM
-
Change GraphQL endpoints to be Singleton by default
-
Introduce @SearchExtension to configure Hibernate Search through annotated beans
-
Hibernate Validator - Allow customization of the ValidatorFactory
-
Allow to provide custom configuration for JAXB context
-
Various improvements to the Dev Experience
Migration Guide
To migrate from 2.10, please refer to our migration guide.
What’s new?
New Redis Client API
Quarkus 2.11 introduces a modernized Redis Client API.
The previous one is still available and has been marked as deprecated. It will be removed in a few versions.
Have a look at the updated Redis getting started guide and the Redis reference guide for more information.
Java 17-based builder-images by default
Quarkus supports both Java 11 and Java 17 for a long while but we kept Java 11-based builder images for native executable generation… until now.
Starting with Quarkus 2.11, the images use Java 17 by default.
You can go back to the Java 11 images by using the quarkus.native.builder-image
configuration property.
Note that, even if your source code targets Java 11, we recommend to use the Java 17 images.
Vert.x 4.3.2, Netty 4.1.78
Vert.x and Netty are both at the core of Quarkus and have been upgraded respectively to 4.3.2 and 4.1.78.
Allow passing unsupported properties to Hibernate ORM
This particular feature was requested by a lot of users. With Quarkus, we tried to curate a validated list of Hibernate ORM that we want to expose and support in both JVM and native modes.
From time to time, we had users complaining about the unavailability of a particular property (and the workaround was to push this property to a persistence.xml
but it was not ideal).
Then, there were two options: either we decided to expose them in a future version of Quarkus or we decided we didn’t want to expose them - at least not for now - and that might have been impractical in some use cases.
It is now possible to declare any properties supported by Hibernate ORM with the quarkus.hibernate-orm.unsupported-properties
configuration property (which is configurable per persistence unit).
You will have a big warning when doing so and we still encourage you to create issues about the properties you would like to see added and fully supported as that will impact future developments of Hibernate ORM and the Hibernate ORM extension in Quarkus.
Customization
We improved the customization abilities of several extensions:
-
Hibernate Search now has a
@SearchExtension
annotation to be configured through annotated beans. -
It is now possible to customize the Hibernate Validator
ValidatorFactory
with beans implementingHibernateValidatorFactoryCustomizer
. -
The JAXB context can also be customized through
JaxbContextCustomizer
beans.
GraphQL endpoints singleton
The GraphQL endpoints used to have the @Dependent
CDI scope by default, which was suboptimal.
They are now @Singleton
by default.
You can go back to the previous behavior by adding the @Dependent
annotation to your GraphQL endpoints.
Dev Experience
-
When using the Hibernate Search and Elasticsearch devservices, the Elasticsearch schema is now re-created on startup in tests and dev mode.
-
The ArC Dev UI now presents a bean dependency graph.
-
Dev Services datatabase, username and password are now unified across all supported databases and can be configured.
Full changelog
You can get the full changelog of 2.11.0.CR1, 2.11.0.Final and 2.11.1.Final on GitHub.
贡献者
The Quarkus community is growing and has now 678 contributors. Many many thanks to each and everyone of them.
In particular for the 2.11 release, thanks to Alexander Schwartz, Alexey Loubyansky, Andre Fucs de Miranda, Andy Damevin, Baiju Muthukadan, Bill Burke, brunobat, Cameron Gregor, Chris Laprun, Clement Escoffier, Davide D’Alto, Emile de Weerd, Eric Deandrea, Erin Schnabel, Falko Modler, Florian Beutel, Foivos Zakkak, Fouad Almalki, Francois Steyn, Frank Eichfelder, Galder Zamarreño, Gavin Ray, George Gastaldi, Georgios Andrianakis, Guillaume Le Floch, Guillaume Smet, Harald Albers, Heiko W. Rupp, Holly Cummins, Huba Peter, Ian De Bie, Jakob, Jan Martiska, Jay, Jens Zettelmeyer, Joe Siponen, joern19, Johurul Hassan Mazumder, Jose, Julien Ponge, Justin Lee, Kevin Wooten, Knut Wannheden, Ladislav Thon, Loïc Mathieu, luneo7, Marc Wrobel, Martin Kouba, Mathias Holzer, mauroal, Max Rydahl Andersen, Maximilian Zellhofer, Michael Edgar, Michal Karm Babacek, Michal Maléř, Michal Vavřík, Michał Szynkiewicz, Naoki Kishi, Neon, newur, number23, Pavol Liška, Peter Palaga, Phillip Kruger, Rinaldo Pitzer Júnior, Roberto Cortez, Romain Quinio, Rostislav Svoboda, Sanne Grinovero, Sergey Beryozkin, Sombra González, Stephane Epardaud, Stuart Douglas, Theodor Mihalache, Thomas Segismont, xstefank, Yoann Rodière, 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:
-
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.