Update projects to the latest version of Quarkus

This technology is considered "experimental".

For a full list of possible statuses, check our FAQ entry.

You can update your Quarkus projects to the latest version by running an update command.

The update command primarily uses OpenRewrite recipes to automate updating most of your project’s dependencies, source code, and documentation. These recipes cover many but not all of the items described in the Migration Guides.

After updating a project, if you do not find all the updates you expect, there are two possible reasons:

  • The recipe might not cover an item in your project.

  • Your project might use an extension that does not support the latest version of Quarkus yet.

In either case, let us know by filing an issue so we can improve the update command.

If your project uses Hibernate ORM or Hibernate Reactive, read through the Hibernate ORM 5 to 6 migration quick reference. The following update command only covers a few items in this quick reference.

Prerequisites

  • A project based on Quarkus version 2.13 or later.

To complete this guide, you need:

  • Roughly 30 minutes

  • An IDE

  • JDK 11+ installed with JAVA_HOME configured appropriately

  • Apache Maven 3.8.8

  • Optionally the Quarkus CLI if you want to use it

  • Optionally Mandrel or GraalVM installed and configured appropriately if you want to build a native executable (or Docker if you use a native container build)

Procedure

  1. Use your version control system to create a working branch for your project or projects.

  2. Optional: To use the Quarkus CLI in the next step, install the latest version of the Quarkus CLI. Use quarkus -v to verify the version number.

  3. Change to the project directory and update the project:

    CLI
    quarkus update (1)
    1 Updates to the latest stream by default. To specify a stream, use the stream option; for example, --stream=3.0.
    Maven
    ./mvnw io.quarkus.platform:quarkus-maven-plugin:3.0.4.Final:update -N (1)
    1 Updates to the latest stream by default. To specify a stream, use the Dstream option; for example, -Dstream=3.0.
  4. Review the output from the update command for potential instructions and, if needed, perform the indicated tasks.

  5. Review all the changes using a diff tool.

  6. Review the Migration Guides for any items not covered by the upgrade command and perform additional steps, if needed.

  7. Verify that the project builds without errors and that the application passes all tests and works as expected before releasing it to production.