diff --git a/.github/workflows/ci-actions-incremental.yml b/.github/workflows/ci-actions-incremental.yml
index 4423a550a06ea..d9d32558c5bd1 100644
--- a/.github/workflows/ci-actions-incremental.yml
+++ b/.github/workflows/ci-actions-incremental.yml
@@ -771,11 +771,11 @@ jobs:
path: .
- name: Extract .m2/repository/io/quarkus
run: tar -xzf m2-io-quarkus.tgz -C ~
- - name: Set up JDK 20
+ - name: Set up JDK 21
uses: actions/setup-java@v3
with:
distribution: temurin
- java-version: 20
+ java-version: 21
# We do this so we can get better analytics for the downloaded version of the build images
- name: Update Docker Client User Agent
run: |
@@ -785,7 +785,7 @@ jobs:
TEST_MODULES: ${{matrix.test-modules}}
CONTAINER_BUILD: ${{startsWith(matrix.os-name, 'windows') && 'false' || 'true'}}
run: |
- export LANG=en_US && ./mvnw $COMMON_MAVEN_ARGS -f integration-tests/virtual-threads -pl "$TEST_MODULES" $NATIVE_TEST_MAVEN_ARGS -Dextra-args=--enable-preview -Dquarkus.native.container-build=true -Dquarkus.native.builder-image=quay.io/quarkus/ubi-quarkus-mandrel-builder-image:jdk-20
+ export LANG=en_US && ./mvnw $COMMON_MAVEN_ARGS -f integration-tests/virtual-threads -pl "$TEST_MODULES" $NATIVE_TEST_MAVEN_ARGS -Dextra-args=--enable-preview -Dquarkus.native.container-build=true
- name: Upload build reports (if build failed)
uses: actions/upload-artifact@v3
if: ${{ failure() || cancelled() }}
diff --git a/bom/application/pom.xml b/bom/application/pom.xml
index e02aeaf2089e5..7856e19dcde10 100644
--- a/bom/application/pom.xml
+++ b/bom/application/pom.xml
@@ -132,7 +132,7 @@
8.0.30
12.4.0.jre11
1.6.7
- 23.2.0.0
+ 23.3.0.23.09
10.14.2.0
11.5.8.0
1.2.6
diff --git a/core/deployment/src/main/java/io/quarkus/deployment/pkg/NativeConfig.java b/core/deployment/src/main/java/io/quarkus/deployment/pkg/NativeConfig.java
index 977cb104e0461..c973f8a449a91 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/pkg/NativeConfig.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/pkg/NativeConfig.java
@@ -20,8 +20,8 @@
@ConfigMapping(prefix = "quarkus.native")
public interface NativeConfig {
- String DEFAULT_GRAALVM_BUILDER_IMAGE = "quay.io/quarkus/ubi-quarkus-graalvmce-builder-image:jdk-17";
- String DEFAULT_MANDREL_BUILDER_IMAGE = "quay.io/quarkus/ubi-quarkus-mandrel-builder-image:jdk-17";
+ String DEFAULT_GRAALVM_BUILDER_IMAGE = "quay.io/quarkus/ubi-quarkus-graalvmce-builder-image:jdk-21";
+ String DEFAULT_MANDREL_BUILDER_IMAGE = "quay.io/quarkus/ubi-quarkus-mandrel-builder-image:jdk-21";
/**
* Comma-separated, additional arguments to pass to the build process.
@@ -225,7 +225,7 @@ default boolean isExplicitContainerBuild() {
interface BuilderImageConfig {
/**
* The docker image to use to do the image build. It can be one of `graalvm`, `mandrel`, or the full image path, e.g.
- * {@code quay.io/quarkus/ubi-quarkus-mandrel-builder-image:jdk-17}.
+ * {@code quay.io/quarkus/ubi-quarkus-mandrel-builder-image:jdk-21}.
*/
@WithParentName
@WithDefault("${platform.quarkus.native.builder-image}")
diff --git a/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/GraalVM.java b/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/GraalVM.java
index e0bacc8780aed..6fa2aa252fc1f 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/GraalVM.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/GraalVM.java
@@ -155,7 +155,7 @@ public static final class Version implements Comparable {
public static final Version VERSION_23_1_0 = new Version("GraalVM 23.1.0", "23.1.0", Distribution.GRAALVM);
public static final Version MINIMUM = VERSION_22_2_0;
- public static final Version CURRENT = VERSION_23_0_0;
+ public static final Version CURRENT = VERSION_23_1_0;
public static final int UNDEFINED = -1;
final String fullVersion;
diff --git a/core/deployment/src/test/java/io/quarkus/deployment/pkg/NativeConfigTest.java b/core/deployment/src/test/java/io/quarkus/deployment/pkg/NativeConfigTest.java
index cb6a429e20f4d..654655f32234e 100644
--- a/core/deployment/src/test/java/io/quarkus/deployment/pkg/NativeConfigTest.java
+++ b/core/deployment/src/test/java/io/quarkus/deployment/pkg/NativeConfigTest.java
@@ -9,20 +9,20 @@ class NativeConfigTest {
@Test
public void testBuilderImageProperlyDetected() {
assertThat(createConfig("graalvm").builderImage().getEffectiveImage()).contains("ubi-quarkus-graalvmce-builder-image")
- .contains("jdk-17");
+ .contains("jdk-21");
assertThat(createConfig("GraalVM").builderImage().getEffectiveImage()).contains("ubi-quarkus-graalvmce-builder-image")
- .contains("jdk-17");
+ .contains("jdk-21");
assertThat(createConfig("GraalVM").builderImage().getEffectiveImage()).contains("ubi-quarkus-graalvmce-builder-image")
- .contains("jdk-17");
+ .contains("jdk-21");
assertThat(createConfig("GRAALVM").builderImage().getEffectiveImage()).contains("ubi-quarkus-graalvmce-builder-image")
- .contains("jdk-17");
+ .contains("jdk-21");
assertThat(createConfig("mandrel").builderImage().getEffectiveImage()).contains("ubi-quarkus-mandrel-builder-image")
- .contains("jdk-17");
+ .contains("jdk-21");
assertThat(createConfig("Mandrel").builderImage().getEffectiveImage()).contains("ubi-quarkus-mandrel-builder-image")
- .contains("jdk-17");
+ .contains("jdk-21");
assertThat(createConfig("MANDREL").builderImage().getEffectiveImage()).contains("ubi-quarkus-mandrel-builder-image")
- .contains("jdk-17");
+ .contains("jdk-21");
assertThat(createConfig("aRandomString").builderImage().getEffectiveImage()).isEqualTo("aRandomString");
}
diff --git a/devtools/gradle/gradle/libs.versions.toml b/devtools/gradle/gradle/libs.versions.toml
index bf757c544f0e5..a324ba72e1de3 100644
--- a/devtools/gradle/gradle/libs.versions.toml
+++ b/devtools/gradle/gradle/libs.versions.toml
@@ -2,7 +2,7 @@
plugin-publish = "1.2.1"
# updating Kotlin here makes QuarkusPluginTest > shouldNotFailOnProjectDependenciesWithoutMain(Path) fail
-kotlin = "1.8.10"
+kotlin = "1.9.10"
smallrye-config = "3.4.1"
junit5 = "5.10.0"
diff --git a/docs/pom.xml b/docs/pom.xml
index 38070aa3d12c1..dbf502dbfae57 100644
--- a/docs/pom.xml
+++ b/docs/pom.xml
@@ -17,10 +17,10 @@
- for JDK 17
- jdk17
- jdk-17
- jdk-17
+ for JDK 21
+ jdk21
+ jdk-21
+ jdk-21
3.5.0
2.0.0
diff --git a/docs/src/main/asciidoc/_includes/devtools/extension-add.adoc b/docs/src/main/asciidoc/_includes/devtools/extension-add.adoc
index ff24545861b07..fba28c08b4698 100644
--- a/docs/src/main/asciidoc/_includes/devtools/extension-add.adoc
+++ b/docs/src/main/asciidoc/_includes/devtools/extension-add.adoc
@@ -1,7 +1,7 @@
[source,bash,subs=attributes+, role="primary asciidoc-tabs-sync-cli"]
.CLI
----
-quarkus extension add '{add-extension-extensions}'
+quarkus extension add {add-extension-extensions}
----
ifndef::devtools-no-maven[]
ifdef::devtools-wrapped[+]
diff --git a/docs/src/main/asciidoc/building-native-image.adoc b/docs/src/main/asciidoc/building-native-image.adoc
index 8a2d72bc58b3c..0dad0256163c0 100644
--- a/docs/src/main/asciidoc/building-native-image.adoc
+++ b/docs/src/main/asciidoc/building-native-image.adoc
@@ -428,17 +428,6 @@ In this case, use the parameter `-Dquarkus.native.remote-container-build=true` i
The reason for this is that the local build driver invoked through `-Dquarkus.native.container-build=true` uses volume mounts to make the JAR available in the build container, but volume mounts do not work with remote daemons. The remote container build driver copies the necessary files instead of mounting them. Note that even though the remote driver also works with local daemons, the local driver should be preferred in the local case because mounting is usually more performant than copying.
====
-[TIP]
-====
-The builder image used by default supports Java 17 as it is the latest LTS version.
-
-If your application uses Java 18 or later, you need to specify a builder image supporting Java 20:
-
-:build-additional-parameters: -Dquarkus.native.builder-image=quay.io/quarkus/ubi-quarkus-mandrel-builder-image:jdk-20
-include::{includes}/devtools/build-native-container-parameters.adoc[]
-:!build-additional-parameters:
-====
-
[TIP]
====
Building with GraalVM instead of Mandrel requires a custom builder image parameter to be passed additionally:
diff --git a/docs/src/main/asciidoc/datasource.adoc b/docs/src/main/asciidoc/datasource.adoc
index 6781dcbe5eaf6..164b9e16dff91 100644
--- a/docs/src/main/asciidoc/datasource.adoc
+++ b/docs/src/main/asciidoc/datasource.adoc
@@ -303,22 +303,6 @@ Quarkus offers several reactive clients for use with a reactive datasource.
+
The installed extension must be consistent with the `quarkus.datasource.db-kind` you define in your datasource configuration.
-[WARNING]
-====
-The Reactive Oracle datasource depends on the https://docs.oracle.com/en/database/oracle/oracle-database/23/jjdbc/jdbc-reactive-extensions.html[Reactive Extensions] provided by Oracle in its JDBC driver.
-
-There is a bug in versions 23.2 and 21.11 of the Oracle JDBC driver that prevents from getting any response if:
-
-* Reactive Extensions are used to execute an update/insert query that ends with an error (e.g. constraint violation), and
-* https://vertx.io/docs/vertx-oracle-client/java/#_retrieving_generated_key_values[generated keys retrieval] is enabled.
-
-It is not known yet when the bug will be fixed.
-In the meantime, you can either:
-
-* change the version of the driver in your project to `com.oracle.database.jdbc:ojdbc11:21.10.0.0`, or
-* avoid executing queries with generated keys retrieval (e.g. load sequence value before inserting)
-====
-
. After adding the driver, configure the connection URL and define a proper size for your connection pool.
+
[source,properties]
diff --git a/docs/src/main/asciidoc/virtual-threads.adoc b/docs/src/main/asciidoc/virtual-threads.adoc
index e409077fdb982..0e42c6650928c 100644
--- a/docs/src/main/asciidoc/virtual-threads.adoc
+++ b/docs/src/main/asciidoc/virtual-threads.adoc
@@ -387,15 +387,10 @@ Then, add to your `application.properties` file:
[source, properties]
----
-quarkus.native.additional-build-args=--enable-preview <1>
-
# In-container build to get a linux 64 executable
-quarkus.native.container-build=true <2>
-quarkus.native.builder-image=quay.io/quarkus/ubi-quarkus-mandrel-builder-image:jdk-20 <3>
+quarkus.native.container-build=true <1>
----
-<1> The `enable-preview` flag in only necessary until Java 21.
-<2> Enables the in-container build
-<3> The builder container to use. Make sure it supports virtual threads
+<1> Enables the in-container build
[IMPORTANT]
.From ARM/64 to AMD/64
diff --git a/independent-projects/bootstrap/pom.xml b/independent-projects/bootstrap/pom.xml
index 449aa916eec8d..b53b42b3de503 100644
--- a/independent-projects/bootstrap/pom.xml
+++ b/independent-projects/bootstrap/pom.xml
@@ -70,7 +70,7 @@
3.0.2.Final
1.1.0.Final
1.7.36
- 23.0.1
+ 23.1.0
2.6.0
2.0
1.26
diff --git a/integration-tests/virtual-threads/amqp-virtual-threads/src/main/resources/application.properties b/integration-tests/virtual-threads/amqp-virtual-threads/src/main/resources/application.properties
index f212b575de362..f6768433c2a8a 100644
--- a/integration-tests/virtual-threads/amqp-virtual-threads/src/main/resources/application.properties
+++ b/integration-tests/virtual-threads/amqp-virtual-threads/src/main/resources/application.properties
@@ -3,5 +3,3 @@ mp.messaging.incoming.prices.broadcast=true
mp.messaging.outgoing.prices-out.address=prices
smallrye.messaging.worker..max-concurrency=10
-
-quarkus.native.additional-build-args=--enable-preview
diff --git a/integration-tests/virtual-threads/grpc-virtual-threads/src/main/resources/application.properties b/integration-tests/virtual-threads/grpc-virtual-threads/src/main/resources/application.properties
index c5e8d4afaaaf6..7646bf42cfd05 100644
--- a/integration-tests/virtual-threads/grpc-virtual-threads/src/main/resources/application.properties
+++ b/integration-tests/virtual-threads/grpc-virtual-threads/src/main/resources/application.properties
@@ -3,7 +3,5 @@ quarkus.grpc.clients.service.port=9001
%vertx.quarkus.grpc.server.use-separate-server=false
-quarkus.native.additional-build-args=--enable-preview
-
%vertx.quarkus.grpc.clients.service.port=8081
%vertx.quarkus.grpc.clients.service.use-quarkus-grpc-client=true
diff --git a/integration-tests/virtual-threads/jms-virtual-threads/src/main/resources/application.properties b/integration-tests/virtual-threads/jms-virtual-threads/src/main/resources/application.properties
index 176a3abff2075..57d7613b5e8e5 100644
--- a/integration-tests/virtual-threads/jms-virtual-threads/src/main/resources/application.properties
+++ b/integration-tests/virtual-threads/jms-virtual-threads/src/main/resources/application.properties
@@ -4,7 +4,5 @@ mp.messaging.outgoing.prices-out.destination=prices
smallrye.messaging.worker..max-concurrency=5
-quarkus.native.additional-build-args=--enable-preview
-
quarkus.artemis.devservices.enabled=true
quarkus.artemis.devservices.image-name=quay.io/artemiscloud/activemq-artemis-broker:1.0.18
diff --git a/integration-tests/virtual-threads/kafka-virtual-threads/src/main/resources/application.properties b/integration-tests/virtual-threads/kafka-virtual-threads/src/main/resources/application.properties
index c361e848bc491..ad3c16899286a 100644
--- a/integration-tests/virtual-threads/kafka-virtual-threads/src/main/resources/application.properties
+++ b/integration-tests/virtual-threads/kafka-virtual-threads/src/main/resources/application.properties
@@ -4,5 +4,3 @@ mp.messaging.incoming.prices.auto.offset.reset=earliest
mp.messaging.outgoing.prices-out.topic=prices
smallrye.messaging.worker..max-concurrency=10
-
-quarkus.native.additional-build-args=--enable-preview
diff --git a/integration-tests/virtual-threads/mailer-virtual-threads/src/main/resources/application.properties b/integration-tests/virtual-threads/mailer-virtual-threads/src/main/resources/application.properties
index 182aeaefac333..9d56807a66e4e 100644
--- a/integration-tests/virtual-threads/mailer-virtual-threads/src/main/resources/application.properties
+++ b/integration-tests/virtual-threads/mailer-virtual-threads/src/main/resources/application.properties
@@ -1,3 +1,2 @@
-quarkus.native.additional-build-args=--enable-preview
quarkus.mailer.mock=false
-quarkus.mailer.from=roger-the-robot@quarkus.io
\ No newline at end of file
+quarkus.mailer.from=roger-the-robot@quarkus.io
diff --git a/integration-tests/virtual-threads/pom.xml b/integration-tests/virtual-threads/pom.xml
index f23f86a062baa..96fabdd34574b 100644
--- a/integration-tests/virtual-threads/pom.xml
+++ b/integration-tests/virtual-threads/pom.xml
@@ -104,7 +104,7 @@
${maven.home}
- --enable-preview -Djdk.tracePinnedThreads -Dgradle.scan.captureTestLogging=false
+ -Djdk.tracePinnedThreads -Dgradle.scan.captureTestLogging=false
${skipTests}
@@ -131,7 +131,6 @@
${version.compiler.plugin}
- --enable-preview
-parameters
diff --git a/integration-tests/virtual-threads/quartz-virtual-threads/src/main/resources/application.properties b/integration-tests/virtual-threads/quartz-virtual-threads/src/main/resources/application.properties
index 43b1e230c2184..e69de29bb2d1d 100644
--- a/integration-tests/virtual-threads/quartz-virtual-threads/src/main/resources/application.properties
+++ b/integration-tests/virtual-threads/quartz-virtual-threads/src/main/resources/application.properties
@@ -1,3 +0,0 @@
-quarkus.native.additional-build-args=--enable-preview
-
-quarkus.package.quiltflower.enabled=true
\ No newline at end of file
diff --git a/integration-tests/virtual-threads/redis-virtual-threads/src/main/resources/application.properties b/integration-tests/virtual-threads/redis-virtual-threads/src/main/resources/application.properties
index 651500d04fd6d..83f9967b1c962 100644
--- a/integration-tests/virtual-threads/redis-virtual-threads/src/main/resources/application.properties
+++ b/integration-tests/virtual-threads/redis-virtual-threads/src/main/resources/application.properties
@@ -1,4 +1,2 @@
-quarkus.native.additional-build-args=--enable-preview
-
quarkus.cache.redis.value-type=java.lang.String
-quarkus.cache.redis.ttl=10s
\ No newline at end of file
+quarkus.cache.redis.ttl=10s
diff --git a/integration-tests/virtual-threads/rest-client-reactive-virtual-threads/src/main/resources/application.properties b/integration-tests/virtual-threads/rest-client-reactive-virtual-threads/src/main/resources/application.properties
index 0bdbbf4a0cfe7..e69de29bb2d1d 100644
--- a/integration-tests/virtual-threads/rest-client-reactive-virtual-threads/src/main/resources/application.properties
+++ b/integration-tests/virtual-threads/rest-client-reactive-virtual-threads/src/main/resources/application.properties
@@ -1 +0,0 @@
-quarkus.native.additional-build-args=--enable-preview
diff --git a/integration-tests/virtual-threads/resteasy-reactive-virtual-threads/src/main/resources/application.properties b/integration-tests/virtual-threads/resteasy-reactive-virtual-threads/src/main/resources/application.properties
index 0632584e49a8d..e69de29bb2d1d 100644
--- a/integration-tests/virtual-threads/resteasy-reactive-virtual-threads/src/main/resources/application.properties
+++ b/integration-tests/virtual-threads/resteasy-reactive-virtual-threads/src/main/resources/application.properties
@@ -1 +0,0 @@
-quarkus.native.additional-build-args=--enable-preview
\ No newline at end of file
diff --git a/integration-tests/virtual-threads/scheduler-virtual-threads/src/main/resources/application.properties b/integration-tests/virtual-threads/scheduler-virtual-threads/src/main/resources/application.properties
index 43b1e230c2184..e69de29bb2d1d 100644
--- a/integration-tests/virtual-threads/scheduler-virtual-threads/src/main/resources/application.properties
+++ b/integration-tests/virtual-threads/scheduler-virtual-threads/src/main/resources/application.properties
@@ -1,3 +0,0 @@
-quarkus.native.additional-build-args=--enable-preview
-
-quarkus.package.quiltflower.enabled=true
\ No newline at end of file
diff --git a/integration-tests/virtual-threads/vertx-event-bus-virtual-threads/src/main/resources/application.properties b/integration-tests/virtual-threads/vertx-event-bus-virtual-threads/src/main/resources/application.properties
index 0bdbbf4a0cfe7..e69de29bb2d1d 100644
--- a/integration-tests/virtual-threads/vertx-event-bus-virtual-threads/src/main/resources/application.properties
+++ b/integration-tests/virtual-threads/vertx-event-bus-virtual-threads/src/main/resources/application.properties
@@ -1 +0,0 @@
-quarkus.native.additional-build-args=--enable-preview
diff --git a/integration-tests/virtual-threads/virtual-threads-disabled/src/main/resources/application.properties b/integration-tests/virtual-threads/virtual-threads-disabled/src/main/resources/application.properties
index c97efe2603807..4ac0c01bba146 100644
--- a/integration-tests/virtual-threads/virtual-threads-disabled/src/main/resources/application.properties
+++ b/integration-tests/virtual-threads/virtual-threads-disabled/src/main/resources/application.properties
@@ -1,2 +1 @@
-quarkus.native.additional-build-args=--enable-preview
-quarkus.virtual-threads.enabled=false
\ No newline at end of file
+quarkus.virtual-threads.enabled=false