diff --git a/_generated-doc/latest/config/quarkus-all-config.adoc b/_generated-doc/latest/config/quarkus-all-config.adoc index 2c185be6634..67c78f415e5 100644 --- a/_generated-doc/latest/config/quarkus-all-config.adoc +++ b/_generated-doc/latest/config/quarkus-all-config.adoc @@ -12562,7 +12562,7 @@ a| [[quarkus-vertx-http_quarkus-http-proxy-allow-forwarded]] [.property-path]##l [.description] -- -If this is true and proxy address forwarding is enabled then the standard `Forwarded` header will be used. In case the not standard `X-Forwarded-For` header is enabled and detected on HTTP requests, the standard header has the precedence. Activating this together with `quarkus.http.proxy.allow-x-forwarded` has security implications as clients can forge requests with a forwarded header that is not overwritten by the proxy. Therefore, proxies should strip unexpected `X-Forwarded` or `X-Forwarded-++*++` headers from the client. +If this is true and proxy address forwarding is enabled then the standard `Forwarded` header will be used. In case the not standard `X-Forwarded-For` header is enabled and detected on HTTP requests, the standard header has the precedence. Activating this together with `quarkus.http.proxy.allow-x-forwarded` has security implications as clients can forge requests with a forwarded header that is not overwritten by the proxy. Therefore, proxies should strip unexpected `Forwarded` or `X-Forwarded-++*++` headers from the client. ifdef::add-copy-button-to-env-var[] @@ -12579,7 +12579,7 @@ a| [[quarkus-vertx-http_quarkus-http-proxy-allow-x-forwarded]] [.property-path]# [.description] -- -If either this or `allow-forwarded` are true and proxy address forwarding is enabled then the not standard `Forwarded` header will be used. In case the standard `Forwarded` header is enabled and detected on HTTP requests, the standard header has the precedence. Activating this together with `quarkus.http.proxy.allow-forwarded` has security implications as clients can forge requests with a forwarded header that is not overwritten by the proxy. Therefore, proxies should strip unexpected `X-Forwarded` or `X-Forwarded-++*++` headers from the client. +If either this or `allow-forwarded` are true and proxy address forwarding is enabled then the not standard `Forwarded` header will be used. In case the standard `Forwarded` header is enabled and detected on HTTP requests, the standard header has the precedence. Activating this together with `quarkus.http.proxy.allow-forwarded` has security implications as clients can forge requests with a forwarded header that is not overwritten by the proxy. Therefore, proxies should strip unexpected `Forwarded` or `X-Forwarded-++*++` headers from the client. ifdef::add-copy-button-to-env-var[] @@ -13920,7 +13920,7 @@ a| [[quarkus-vertx-http_quarkus-management-proxy-allow-forwarded]] [.property-pa [.description] -- -If this is true and proxy address forwarding is enabled then the standard `Forwarded` header will be used. In case the not standard `X-Forwarded-For` header is enabled and detected on HTTP requests, the standard header has the precedence. Activating this together with `quarkus.http.proxy.allow-x-forwarded` has security implications as clients can forge requests with a forwarded header that is not overwritten by the proxy. Therefore, proxies should strip unexpected `X-Forwarded` or `X-Forwarded-++*++` headers from the client. +If this is true and proxy address forwarding is enabled then the standard `Forwarded` header will be used. In case the not standard `X-Forwarded-For` header is enabled and detected on HTTP requests, the standard header has the precedence. Activating this together with `quarkus.http.proxy.allow-x-forwarded` has security implications as clients can forge requests with a forwarded header that is not overwritten by the proxy. Therefore, proxies should strip unexpected `Forwarded` or `X-Forwarded-++*++` headers from the client. ifdef::add-copy-button-to-env-var[] @@ -13937,7 +13937,7 @@ a| [[quarkus-vertx-http_quarkus-management-proxy-allow-x-forwarded]] [.property- [.description] -- -If either this or `allow-forwarded` are true and proxy address forwarding is enabled then the not standard `Forwarded` header will be used. In case the standard `Forwarded` header is enabled and detected on HTTP requests, the standard header has the precedence. Activating this together with `quarkus.http.proxy.allow-forwarded` has security implications as clients can forge requests with a forwarded header that is not overwritten by the proxy. Therefore, proxies should strip unexpected `X-Forwarded` or `X-Forwarded-++*++` headers from the client. +If either this or `allow-forwarded` are true and proxy address forwarding is enabled then the not standard `Forwarded` header will be used. In case the standard `Forwarded` header is enabled and detected on HTTP requests, the standard header has the precedence. Activating this together with `quarkus.http.proxy.allow-forwarded` has security implications as clients can forge requests with a forwarded header that is not overwritten by the proxy. Therefore, proxies should strip unexpected `Forwarded` or `X-Forwarded-++*++` headers from the client. ifdef::add-copy-button-to-env-var[] diff --git a/_generated-doc/latest/config/quarkus-vertx-http_quarkus.http.adoc b/_generated-doc/latest/config/quarkus-vertx-http_quarkus.http.adoc index 0c579d8bbee..52d44d9fcfd 100644 --- a/_generated-doc/latest/config/quarkus-vertx-http_quarkus.http.adoc +++ b/_generated-doc/latest/config/quarkus-vertx-http_quarkus.http.adoc @@ -2850,7 +2850,7 @@ a| [[quarkus-vertx-http_quarkus-http-proxy-allow-forwarded]] [.property-path]##l [.description] -- -If this is true and proxy address forwarding is enabled then the standard `Forwarded` header will be used. In case the not standard `X-Forwarded-For` header is enabled and detected on HTTP requests, the standard header has the precedence. Activating this together with `quarkus.http.proxy.allow-x-forwarded` has security implications as clients can forge requests with a forwarded header that is not overwritten by the proxy. Therefore, proxies should strip unexpected `X-Forwarded` or `X-Forwarded-++*++` headers from the client. +If this is true and proxy address forwarding is enabled then the standard `Forwarded` header will be used. In case the not standard `X-Forwarded-For` header is enabled and detected on HTTP requests, the standard header has the precedence. Activating this together with `quarkus.http.proxy.allow-x-forwarded` has security implications as clients can forge requests with a forwarded header that is not overwritten by the proxy. Therefore, proxies should strip unexpected `Forwarded` or `X-Forwarded-++*++` headers from the client. ifdef::add-copy-button-to-env-var[] @@ -2867,7 +2867,7 @@ a| [[quarkus-vertx-http_quarkus-http-proxy-allow-x-forwarded]] [.property-path]# [.description] -- -If either this or `allow-forwarded` are true and proxy address forwarding is enabled then the not standard `Forwarded` header will be used. In case the standard `Forwarded` header is enabled and detected on HTTP requests, the standard header has the precedence. Activating this together with `quarkus.http.proxy.allow-forwarded` has security implications as clients can forge requests with a forwarded header that is not overwritten by the proxy. Therefore, proxies should strip unexpected `X-Forwarded` or `X-Forwarded-++*++` headers from the client. +If either this or `allow-forwarded` are true and proxy address forwarding is enabled then the not standard `Forwarded` header will be used. In case the standard `Forwarded` header is enabled and detected on HTTP requests, the standard header has the precedence. Activating this together with `quarkus.http.proxy.allow-forwarded` has security implications as clients can forge requests with a forwarded header that is not overwritten by the proxy. Therefore, proxies should strip unexpected `Forwarded` or `X-Forwarded-++*++` headers from the client. ifdef::add-copy-button-to-env-var[] diff --git a/_generated-doc/latest/config/quarkus-vertx-http_quarkus.management.adoc b/_generated-doc/latest/config/quarkus-vertx-http_quarkus.management.adoc index 8b0db479150..d79323ae2f6 100644 --- a/_generated-doc/latest/config/quarkus-vertx-http_quarkus.management.adoc +++ b/_generated-doc/latest/config/quarkus-vertx-http_quarkus.management.adoc @@ -1168,7 +1168,7 @@ a| [[quarkus-vertx-http_quarkus-management-proxy-allow-forwarded]] [.property-pa [.description] -- -If this is true and proxy address forwarding is enabled then the standard `Forwarded` header will be used. In case the not standard `X-Forwarded-For` header is enabled and detected on HTTP requests, the standard header has the precedence. Activating this together with `quarkus.http.proxy.allow-x-forwarded` has security implications as clients can forge requests with a forwarded header that is not overwritten by the proxy. Therefore, proxies should strip unexpected `X-Forwarded` or `X-Forwarded-++*++` headers from the client. +If this is true and proxy address forwarding is enabled then the standard `Forwarded` header will be used. In case the not standard `X-Forwarded-For` header is enabled and detected on HTTP requests, the standard header has the precedence. Activating this together with `quarkus.http.proxy.allow-x-forwarded` has security implications as clients can forge requests with a forwarded header that is not overwritten by the proxy. Therefore, proxies should strip unexpected `Forwarded` or `X-Forwarded-++*++` headers from the client. ifdef::add-copy-button-to-env-var[] @@ -1185,7 +1185,7 @@ a| [[quarkus-vertx-http_quarkus-management-proxy-allow-x-forwarded]] [.property- [.description] -- -If either this or `allow-forwarded` are true and proxy address forwarding is enabled then the not standard `Forwarded` header will be used. In case the standard `Forwarded` header is enabled and detected on HTTP requests, the standard header has the precedence. Activating this together with `quarkus.http.proxy.allow-forwarded` has security implications as clients can forge requests with a forwarded header that is not overwritten by the proxy. Therefore, proxies should strip unexpected `X-Forwarded` or `X-Forwarded-++*++` headers from the client. +If either this or `allow-forwarded` are true and proxy address forwarding is enabled then the not standard `Forwarded` header will be used. In case the standard `Forwarded` header is enabled and detected on HTTP requests, the standard header has the precedence. Activating this together with `quarkus.http.proxy.allow-forwarded` has security implications as clients can forge requests with a forwarded header that is not overwritten by the proxy. Therefore, proxies should strip unexpected `Forwarded` or `X-Forwarded-++*++` headers from the client. ifdef::add-copy-button-to-env-var[] diff --git a/_guides/_attributes.adoc b/_guides/_attributes.adoc index 293b6dcb149..bf88afec0c0 100644 --- a/_guides/_attributes.adoc +++ b/_guides/_attributes.adoc @@ -1,7 +1,7 @@ // Common attributes. // --> No blank lines (it ends the document header) :project-name: Quarkus -:quarkus-version: 3.17.5 +:quarkus-version: 3.17.6 :quarkus-platform-groupid: io.quarkus.platform // . :maven-version: 3.9.9 diff --git a/_guides/context-propagation.adoc b/_guides/context-propagation.adoc index fdfef1d23ba..59db1b0086d 100644 --- a/_guides/context-propagation.adoc +++ b/_guides/context-propagation.adoc @@ -135,7 +135,7 @@ them to the client as JSON using xref:rest-json.adoc[Jackson or JSON-B]: // Create a REST client to the Star Wars API WebClient client = WebClient.create(vertx, new WebClientOptions() - .setDefaultHost("swapi.dev") + .setDefaultHost("swapi.tech") .setDefaultPort(443) .setSsl(true)); // get the list of Star Wars people, with context capture diff --git a/_guides/getting-started-reactive.adoc b/_guides/getting-started-reactive.adoc index f5b67fa360d..76769f42c7a 100644 --- a/_guides/getting-started-reactive.adoc +++ b/_guides/getting-started-reactive.adoc @@ -36,7 +36,7 @@ include::{includes}/prerequisites.adoc[] NOTE: Verify that Maven is using the Java version you expect. If you have multiple JDKs installed, make sure Maven is using the expected one. -You can verify which JDK Maven uses by running `mvn --version.` +You can verify which JDK Maven uses by running `mvn --version`. == Imperative vs. Reactive: a question of threads diff --git a/_guides/getting-started-testing.adoc b/_guides/getting-started-testing.adoc index 916b16f57fd..120aa87db0e 100644 --- a/_guides/getting-started-testing.adoc +++ b/_guides/getting-started-testing.adoc @@ -1236,20 +1236,20 @@ public @interface WithRepeatableTestResource { } ---- -=== Usage of `@WithTestResources` +=== Usage of `@WithTestResource` -While test resources provided by `@QuarkusTestResource` are available either globally or restricted to the annotated test class (`restrictToAnnotatedClass`), the annotation `@WithTestResources` allows to additionally group tests by test resources for execution. -`@WithTestResources` has a `scope` property that takes a `TestResourceScope` enum value: +While test resources provided by `@QuarkusTestResource` are available either globally or restricted to the annotated test class (`restrictToAnnotatedClass`), the annotation `@WithTestResource` allows to additionally group tests by test resources for execution. +`@WithTestResource` has a `scope` property that takes a `TestResourceScope` enum value: - `TestResourceScope.MATCHING_RESOURCES` (default): Quarkus will group tests with the same test resources and run them together. After a group has been executed, all test resources will be stopped, and the next group will be executed. - `TestResourceScope.RESTRICTED_TO_CLASS`: The test resource is available only for the annotated test class and will be stopped after the test class has been executed. -- `TestResourceScope.GLOBAL`: Test resources apply to all tests in the testsuite +- `TestResourceScope.GLOBAL`: Test resources apply to all tests in the test suite Quarkus needs to restart if one of the following is true: -- At least one the existing test resources is restricted to the test class -- At least one the next test resources is restricted to the test class -- Different {@code MATCHING_RESOURCE} scoped test resources are being used +- At least one of the test resources of the current test is restricted to the test class +- At least one of the test resources of the next test is restricted to the test class +- Different `MATCHING_RESOURCES` scoped test resources are being used == Hang Detection diff --git a/_guides/http-reference.adoc b/_guides/http-reference.adoc index 10b58e6b286..3b1aa4bc1df 100644 --- a/_guides/http-reference.adoc +++ b/_guides/http-reference.adoc @@ -554,7 +554,7 @@ quarkus.http.proxy.trusted-proxies=127.0.0.1 <1> ---- <1> Configure trusted proxy with the IP address `127.0.0.1`. Request headers from any other address are going to be ignored. -Both configurations related to standard and non-standard headers can be combined, although the standard headers configuration will have precedence. However, combining them has security implications as clients can forge requests with a forwarded header that is not overwritten by the proxy. Therefore, proxies should strip unexpected `X-Forwarded` or `X-Forwarded-*` headers from the client. +Both configurations related to standard and non-standard headers can be combined, although the standard headers configuration will have precedence. However, combining them has security implications as clients can forge requests with a forwarded header that is not overwritten by the proxy. Therefore, proxies should strip unexpected `Forwarded` or `X-Forwarded-*` headers from the client. Supported forwarding address headers are: diff --git a/_guides/maven-tooling.adoc b/_guides/maven-tooling.adoc index 2491ec6f318..3aed90472d7 100644 --- a/_guides/maven-tooling.adoc +++ b/_guides/maven-tooling.adoc @@ -595,7 +595,7 @@ Uber-Jar's final name is configurable via a Maven's build settings `finalName` o ==== Uber-Jar file name suffix -By default the generated uber JAR file name will have the `-runner` suffix, unless it was overridden by configuring a custom one with `quarkus.package.runner-suffix` configuration option. +By default the generated uber JAR file name will have the `-runner` suffix, unless it was overridden by configuring a custom one with `quarkus.package.jar.runner-suffix` configuration option. If the runner suffix is not desired, it can be disabled by setting `quarkus.package.jar.add-runner-suffix` configuration option to `false`, in which case the uber JAR will replace the original JAR file generated by `maven-jar-plugin` for the application module. diff --git a/_guides/mongodb-panache.adoc b/_guides/mongodb-panache.adoc index 853f6e27b7d..d68ce96fdb4 100644 --- a/_guides/mongodb-panache.adoc +++ b/_guides/mongodb-panache.adoc @@ -242,7 +242,7 @@ List namesButEmmanuels = persons .collect(Collectors.toList()); ---- -NOTE: A `persistOrUpdate()` method exist that persist or update an entity in the database, it uses the __upsert__ capability of MongoDB to do it in a single query. +NOTE: A `persistOrUpdate()` method persists or updates an entity in the database, it uses the __upsert__ capability of MongoDB to do it in a single query. === Adding entity methods @@ -410,7 +410,7 @@ List namesButEmmanuels = persons .collect(Collectors.toList()); ---- -NOTE: A `persistOrUpdate()` method exist that persist or update an entity in the database, it uses the __upsert__ capability of MongoDB to do it in a single query. +NOTE: A `persistOrUpdate()` method persists or updates an entity in the database, it uses the __upsert__ capability of MongoDB to do it in a single query. NOTE: The rest of the documentation show usages based on the active record pattern only, but keep in mind that they can be performed with the repository pattern as well. diff --git a/_guides/mongodb.adoc b/_guides/mongodb.adoc index 3885605ace9..9ce7be3dc23 100644 --- a/_guides/mongodb.adoc +++ b/_guides/mongodb.adoc @@ -217,7 +217,7 @@ public class FruitResource { The implementation is pretty straightforward, and you just need to define your endpoints using the Jakarta REST annotations and use the `FruitService` to list/add new fruits. == Configuring the MongoDB database -The main property to configure is the URL to access to MongoDB. Almost all configuration can be included in the connection URI, so we advise you to do so. You can find more information in the MongoDB documentation: https://docs.mongodb.com/manual/reference/connection-string/ +The main property to configure is the URL to access the MongoDB instance. Almost all configuration can be included in the connection URI, so we advise you to do so. You can find more information in the MongoDB documentation: https://docs.mongodb.com/manual/reference/connection-string/ A sample configuration should look like this: diff --git a/_guides/resteasy.adoc b/_guides/resteasy.adoc index 8dbd22a73fc..04e10765b7e 100644 --- a/_guides/resteasy.adoc +++ b/_guides/resteasy.adoc @@ -803,6 +803,12 @@ If set to `false`, then a *new instance* of the resource class is created per ea An explicit CDI scope annotation (`@RequestScoped`, `@ApplicationScoped`, etc.) always overrides the default behavior and specifies the lifecycle of resource instances. +[WARNING] +==== +`@Context` elements are not injected via CDI and, as such, may not be injected via constructor injection. +Inject `@Context` elements in fields of your resources instead. +==== + == Include/Exclude Jakarta REST classes with build time conditions Quarkus enables the inclusion or exclusion of Jakarta REST Resources, Providers and Features directly thanks to build time conditions in the same that it does for CDI beans.