Quarkus 0.20.0 released
We just released Quarkus 0.20.0.
If you use Quarkus with GraalVM to build native executables, Quarkus 0.20.0 now requires GraalVM 19.1.1 so please upgrade your GraalVM installation. |
What’s new?
Here are the main highlights of this release: Jackson extensions, OAuth2 extension, Camel extensions moved outside the Quarkus tree, a new MicroProfile REST Client implementation, Syslog support and a new guide for Azure deployments.
Hibernate ORM multi-line support in import scripts
We enabled multi-line support for the Hibernate ORM import scripts (typically import.sql
).
You need to add semi-colons (i.e. |
Improved integration of Hibernate Validator with CDI
Hibernate Validator is now fully integrated with CDI in Quarkus. You can even tweak the ValidatorFactory
just by declaring beans in your applications. Just have a look at the updated documentation to learn more about it.
New MicroProfile REST Client implementation
In this release we’ve switched from using SmallRye REST Client to RESTEasy as an implementation of MicroProfile REST Client. As the MicroProfile REST Client builds on top of functionality that is already present within the JAX-RS Client and the RESTEasy Client, it made sense for us to combine all the clients into the RESTEasy project.
This change also brings the REST Client implementation in Quarkus up to date with the latest MicroProfile REST Client specification, version 1.3, that is part of the latest MicroProfile 3.0 platform release. Some of the new features in the release include support for SSL configuration of a client, making JSON the default MediaType
if there is not one specified by @Produces
or @Consumes
, and easier configuration with config keys to enable setting common configuration across multiple client interfaces.
The GAV of the REST client has changed: please use |
Upgrade to MicroProfile Metrics 2.0
We upgraded Quarkus to MicroProfile Metrics 2.0. The main difference is that @Counted
is now always monotonic. If you need the behavior previously triggered by monotonic = false
, use a @ConcurrentGauge
.
Configuring a per method transaction timeout
You can now configure the transaction timeout of a specific transactional method using the @TransactionConfiguration
annotation. Please refer to our Transaction guide for more information.
Syslog support for logging
Quarkus now supports shipping the logs to Syslog. Please refer to our updated logging documentation.
New extensions
Jackson extensions
Quarkus loves standards. That’s why we started by supporting JSON-B as our JSON serialization library.
We had a lot of users asking for Jackson support and, while you could use Jackson with Quarkus, it wasn’t as easy as for JSON-B.
We just added two new extensions to make Jackson a first class citizen in Quarkus:
-
quarkus-jackson
for standalone usage of Jackson -
quarkus-resteasy-jackson
to use Jackson for your REST services
OAuth2 extension
The new Security OAuth2 extension allows to implement an authentication mechanism based on OAuth2 opaque tokens. It complements the existing JWT extension by allowing to authenticate a user based on a call to an introspection endpoint instead of decoding the token. An opaque token is a token with no information encoded in it, so it needs an external call to gather the user information, this external call is made against what is called an introspection endpoint.
Behind the scenes, it relies on Elytron and leverages the same annotations as the other security extensions, so it’s as easy to use as the other authentication mechanisms that Quarkus supports, and a user can easily switch between them.
If you have Keycloak as your authentication server, better use the Keycloak extension. |
Camel extensions moved outside of the main Quarkus tree
From Quarkus 0.20.0, the Apache Camel extensions will have a new home at the Apache Software Foundation as an official Apache Camel subproject. The extensions have been moved to https://github.com/apache/camel-quarkus and the Maven group ID is now org.apache.camel.quarkus: you can list the available artifacts here.
The first Camel-Quarkus release is the 0.0.2, based on Camel 3.0.0-M2 and Quarkus 0.19.1. The Apache Camel team is working on a new release with more extensions based on the available Camel components, supporting the latest Camel 3.0.0 Milestone Release (Milestone 4 for completeness) and based on Quarkus 0.20.0 and GraalVM 19.1.
For contributions, improvements and discussions you can reach the Apache Camel team on GitHub, on Gitter and on the usual mailing lists.
Deploying Quarkus on Azure
We have a new guide covering the deployment of Quarkus applications to Microsoft Azure Cloud. If you want to deploy Quarkus applications on Azure, please take a look at it.
Registro completo de cambios
We also fixed some issues and merged a lot of improvements all over the place.
You can find the full changelog on GitHub.
Colaboradores
Quarkus has now 125 contributors. Many many thanks to each and everyone of them.
In particular for this release, thanks to Alessio Soldano, Alex Soto, Alexey Loubyansky, Aleš Justin, Aris Tzoum, Bruno Borges, Cristhian Lopez, Clement Escoffier, David M. Lloyd, Edoardo Vacchi, Emmanuel Bernard, Fabrice Pipart, Frank de Jong, George Gastaldi, Georgios Andrianakis, Guillaume Dufour, Guillaume Smet, Gwenneg Lepage, Jacob Middag, Jan Martiska, Jeremie Bresson, Jirka Kremser, Justin Lee, Ken Finnigan, Loïc Mathieu, Łukasz Włódarczyk, Maciej Swiderski, Manyanda Chitimbo, Marco Mornati, Mario Fusco, Martin Kouba, Matej Novotny, Michael Simons, Michal Szynkiewicz, Moncef Aoudia, Peter Palaga, Rostislav Svoboda, Sanne Grinovero, Sébastien Blanc, Sergey Beryozkin, Stephane Epardaud, Stuart Douglas and Timothy Power.
Únete a nosotros
Valoramos mucho tus comentarios, así que por favor reporta errores, solicita mejoras… ¡Construyamos algo grandioso juntos!
Si eres un usuario de Quarkus o simplemente tienes curiosidad, no seas tímido y únete a nuestra acogedora comunidad:
-
proporcionar retroalimentación en GitHub;
-
escribir algo de código y enviar push a PR;
-
comentar con nosotros en Zulip y en nuestra lista de correo;
-
hacer tus preguntas en Stack Overflow.