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.
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.
We enabled multi-line support for the Hibernate ORM import scripts (typically
You need to add semi-colons (i.e.
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.
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
@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
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
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.
Quarkus now supports shipping the logs to Syslog. Please refer to our updated logging documentation.
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-jacksonfor standalone usage of Jackson
quarkus-resteasy-jacksonto use Jackson for your REST services
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.
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.
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.
We also fixed some issues and merged a lot of improvements all over the place.
You can find the full changelog on GitHub.
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.