Quarkus 2.9.0.Final released - WebAuthn extension, Compression support for Reactive Routes and RESTEasy Reactive and much more...

We just released Quarkus 2.9, which comes packed with new features:

  • WebAuthn extension

  • Compression support for Reactive Routes and RESTEasy Reactive

  • Support for Confluent Schema Registry

  • Support for Back channel logout

  • Kotlin and Scala upgrade

And much more…​

Migration Guide

To migrate from 2.8, please refer to our migration guide.

What’s new?

WebAuthn extension

WebAuthn is an authentication mechanism designed to replace passwords. In short, every time you write a service for registering new users, or logging them in, instead of asking for a password, you use WebAuthn, which will replace the password.

WebAuthn replaces the password with a proof of identity. In practice, users, instead of having to invent a password, store it or remember it, will use a hardware token that will generate a proof of identity specifically for your service or website. This can be done by asking users to press their thumb on their phone, or pressing a button on a YubiKey on a computer.

Thanks to the new quarkus-security-webauthn extension, you can implement WebAuthn authentication in your Quarkus applications.

You can find all the details about it in the dedicated guide.

OpenID Connect Providers

Well-known OIDC providers, such as GitHub, Google, Microsoft, Apple…​ are very widely used to authenticate users in modern applications.

Configuring them can be hard and require work for each of them to properly understand how they implemented OIDC.

That’s why Quarkus now comes with predefined settings for a lot of well-known providers and an extensive documentation will guide you through setting things up.

Providers currently covered are:

  • GitHub

  • Google

  • Microsoft

  • Apple

  • Facebook

  • Twitter

  • Spotify

More to come and contributions are very welcome in this area.

Compression support for Reactive Routes and RESTEasy Reactive

With Quarkus 2.9, compression support has been added to Reactive Routes and RESTEasy Reactive. Body of HTTP responses can now be compressed with both these components.

More information in the Reactive Routes guide and the RESTEasy Reactive guide.

Kafka - Add support for Confluent Schema Registry

We added support for the Confluent Schema Registry and restructured the schema registry extensions for more flexibility.

The updated Using Apache Kafka with schema registry and Avro guide contains everything you need to know about these changes.

Back channel logout

Add HTTP headers for specific paths

Until now, you could configure additional HTTP headers globally. But more often than not, you need to configure HTTP headers for a specific subpath of your application.

Starting with 2.9, you can use the new quarkus.http.filter configuration properties to do so as documented in the HTTP Reference guide.

Log rotation

quarkus.log.file.rotation.max-file-size is now set to 10 MB by default.

H2 2.1

We upgraded H2 to from 1.4 to 2.1.

This upgrade comes with a lot of changes, including some breaking ones. The most common problems come from new reserved keywords such as user, value or timestamp. If you are using some of these keywords in your model, you will have to adjust, or switch to a container approach for testing instead of using H2.

Kotlin 1.6.20

Kotlin has been upgraded to 1.6.20.

Scala 2.13

We upgraded to Scala 2.13. Note that there is a Scala 3 extension in the Quarkiverse.

Contributors

The Quarkus community is growing and has now 632 contributors. Many many thanks to each and everyone of them.

In particular for the 2.9 release, thanks to Ales Justin, Alexey Loubyansky, andreaTP, Andy Damevin, aona42, Auri Munoz, Bill Burke, Bruno Oliveira da Silva, Chris Laprun, Clement Escoffier, Darko Janković, Emanuel Alves, Eoin Gallinagh, Eric Deandrea, Erik Mattheis, Erin Schnabel, Falko Modler, Foivos Zakkak, George Gastaldi, Georgios Andrianakis, gregid, Guillaume Le Floch, Guillaume Smet, Holly Cummins, Ioannis Canellos, Jan Knobloch, Jan Martiška, Jeff MAURY, Jonathan Halliday, Joost Timmerman, Jorge Solórzano, Jose, Julia Ruprecht, Kai Hudalla, Katia Aresti, Klemen Kobetič, Knut Wannheden, Konstantin Gribov, Ladislav Thon, Loïc Mathieu, Maciej Swiderski, Manyanda Chitimbo, Marc Nuri, Martin Kouba, Martin Panzer, Matej Novotny, Matthias Andreas Benkard, Michal Karm Babacek, Michal Vavřík, Michał Szynkiewicz, newur, Ozan Gunalp, Paulo Casaes, Paulo Lopes, Robert Stupp, Roberto Cortez, Rostislav Svoboda, Sanne Grinovero, Sergei Portnov, Sergey Beryozkin, Stephane Epardaud, Stuart Douglas, Thomas Segismont, xstefank, Yelzhas Suleimenov, Yoann Rodière, Youngmin Koo, yugoccp, Yukihiro Okada and Zaheed Beita.

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: