Skip to content

Migration Guide 3.8

Martin Kouba edited this page Apr 19, 2024 · 10 revisions
Note

We highly recommend the use of quarkus update to update to a new version of Quarkus.

Items marked below with ⚙️ ✅ are automatically handled by quarkus update.

Quarkus 3.8 is an LTS version and the direct continuation of the 3.7 branch.

Breaking Changes

(3.8.1) Vert.x TCP Clients need to set the hostname verification algorithm

Until now, when a Vert.x TCP client establishes a TLS connection without setting the hostname verification algorithm, "" was used as the algorithm. "" skips the validation, meaning that you can be affected by man-in-the-middle attacks. This behavior changed in Vert.x 4.5.4 (integrated into Quarkus 3.8.1), as now, when establishing a TLS connection, the verification hostname algorithm must be set explicitly. It can be set to NONE (in the Quarkus configuration) or "" (programmatically) to have the same behavior.

This change of behavior only affects users explicitly creating Vert.x TCP clients directly (with Vertx.createNetClient())

(3.8.3) GraalVM SDK update ⚙️ ✅

In Quarkus 3.8.3, we updated the GraalVM SDK artifacts version to 23.1.2. It was an oversight and should have been done long ago.

If you are developing extensions containing GraalVM substitutions, it is highly recommended to replace the org.graalvm.sdk:graal-sdk dependency with org.graalvm.sdk:nativeimage, that only contains the classes required to develop substitutions.

Also if you are using the Javascript polyglot features of GraalVM, org.graalvm.js:js should be replaced by:

  • org.graalvm.polyglot:js-community if you are using the community version of GraalVM

  • org.graalvm.polyglot:js if you are using the enterprise version of GraalVM

While the first change is handled by quarkus update, the second one has to be done manually depending on your GraalVM distribution of choice.

(3.8.3) Qute templates are not included in a generated native image on Windows

The quarkus.native.resources.includes configuration property can be used as a workaround. For example, quarkus.native.resources.includes=*/.html will add all html files located in the src/main/resources directory and all subdirectories.

Clone this wiki locally