Quarkus 2.8.0.Final released - New REST layer by default, GraalVM 22.0 and much more!

2.8.0.Final comes with a lot of refinements and new features:

  • Move Assertj outside of our BOM

  • New REST layer by default

  • GraalVM 22.0

  • Support for OIDC Proof Of Key for Code Exchange (PKCE)

  • QuarkusTransaction API

  • Elasticsearch Dev Services

And much more!

Migration Guide

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

What’s new?

Assertj out of the BOM

First things first: if you are using Assertj in your project, we moved it out of our BOM as binary compatibility was broken quite often and it made things hard for some projects.

So, from now on, define the version in your projects. The latest version is 3.22.0.

Now, we can get to more exciting things!

New REST layer by default

A loooong time ago, we introduced in Quarkus a new REST layer called RESTEasy Reactive. This new REST implementation has been designed with Quarkus in mind and offers some nice improvements over the traditional RESTEasy stack that we were pushing by default until now.

One important thing to understand is that, despite its name, RESTEasy Reactive supports both traditional blocking workloads and reactive workloads equally well. And in most cases, it is fully transparent and you don’t even have to think about it: depending on your endpoints, RESTEasy Reactive will choose the paradigm that fits.

For instance:

  • returning MyEntity will automatically make the endpoint blocking

  • returning Uni<MyEntity> will make it reactive

Also, RESTEasy Classic is not going anywhere: you can still use it and create new projects with it, but it is not imported by default.

All the guides are now promoting RESTEasy Reactive and should be consistent in the naming: for your traditional RESTEasy, look for RESTEasy Classic, for the new layer, look for RESTEasy Reactive.

We also added several RESTEasy Reactive counterpart extensions that were missing such as a RESTEasy Reactive-based Keycloak Admin Client extension or Hibernate RESTEasy Reactive REST Data with Panache.

To learn more about RESTEasy Reactive, see:

A big thank you to everyone already using RESTEasy Reactive who contributed feedback and fixes!

GraalVM 22.0

You could already use GraalVM 22.0 with Quarkus 2.7 but it is now the default version in 2.8.

Apart from a lot of internal improvements, the most visible change is the new far improved output when you build a native executable.

OIDC - Support for Proof Of Key for Code Exchange (PKCE)

This was one of the missing part of our OIDC implementation and it opens the date to supporting more OIDC providers.

QuarkusTransaction API

Quarkus 2.8 introduces a new QuarkusTransaction API that offers more fine grained control over your transactions using a programmatic API.

To learn more about it, see our Using Transactions guide.

Elasticsearch Dev Services

If you are using Elasticsearch, Quarkus 2.8 comes with Elasticsearch Dev Services, which can automatically start an Elasticsearch container in dev and test mode.

Contributors

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

In particular for the 2.8 release, thanks to Adler Fleurant, AkMo3, Ales Justin, Alex Soto, Alexey Loubyansky, andreaTP, Andy Damevin, Ashwin S. Nair, Auri Munoz, Ben Gunter, Bill Burke, Chao Wang, Chas Honton, Chris Aslanoglou, Chris311, Christian Beikov, Clara Fang, Clement Escoffier, Davide, dwamara, Eoin Gallinagh, Eric Deandrea, Erin Schnabel, Falko Modler, Foivos Zakkak, Fred Bricon, Galder Zamarreño, Galder Zamarreño, Gavin Ray, George Gastaldi, Georgios Andrianakis, gregid, Guillaume Le Floch, Guillaume Smet, Hunter Gerlach, Ioannis Canellos, Jan Martiska, Jan Martiška, Joachim Segala, Johannes Wienke, Jonathan Halliday, Joost Timmerman, Jorge Solórzano, Jose, Julien Ponge, Juri Berlanda, Justin Lee, Kai Hudalla, Katia Aresti, Kevin Wooten, Knut Wannheden, Kucharzyk Tomasz, Ladislav Thon, Loïc Hermann, Loïc Mathieu, Luca Basso Ricci, Lucifer Morningstar, Luke Gee, manofthepeace, Manyanda Chitimbo, Marc Nuri, Marco Bungart, Marco Yeung, Marcus Paulo, Markus Schwer, Martin Kouba, Martin Panzer, Matej Novotny, Matteo Mortari, Max Rydahl Andersen, Michael Simons, Michal Karm Babacek, Michal Maléř, Michał Szynkiewicz, Ozan Gunalp, pablo gonzalez granados, Peter Levart, Peter Palaga, Phillip Krüger, pravussum, Rhuan Rocha, Rob Spoor, Roberto Cortez, Rostislav Svoboda, Sam Xie, Sanne Grinovero, Sergey Beryozkin, Stefán Freyr Stefánsson, Stephane Epardaud, Stuart Douglas, Thomas Segismont, tobi6112, Tomas Hofman, Vincent Sevel, Wippermueller, Frank, xstefank, Yoann Rodière, yugoccp.

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: