tree 521a35f81187c33c0ea659a3b35c5bab93f40ae0
parent 209fad451b9503ba320cef8f5cae7ae76395d07c
parent 415bdb1f2336835a432f1cd2ab1228006ba87ea2
author Renovate Bot <renovate-bot@benkard.de> 1731517361 +0000
committer Renovate Bot <renovate-bot@benkard.de> 1731517361 +0000

chore(deps): update all non-major dependencies to v3.16.3 (mulk/quarkus-googlecloud-jsonlogging!24)

This MR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [io.quarkus:quarkus-extension-processor](https://github.com/quarkusio/quarkus) |  | patch | `3.16.1` -> `3.16.3` |
| [io.quarkus:quarkus-extension-maven-plugin](https://github.com/quarkusio/quarkus) | build | patch | `3.16.1` -> `3.16.3` |
| [io.quarkus:quarkus-bom](https://github.com/quarkusio/quarkus) | import | patch | `3.16.1` -> `3.16.3` |
| [io.quarkus:quarkus-maven-plugin](https://github.com/quarkusio/quarkus) | build | patch | `3.16.1` -> `3.16.3` |

---

### Release Notes

<details>
<summary>quarkusio/quarkus</summary>

### [`v3.16.3`](https://github.com/quarkusio/quarkus/compare/3.16.2...3.16.3)

[Compare Source](https://github.com/quarkusio/quarkus/compare/3.16.2...3.16.3)

### [`v3.16.2`](https://github.com/quarkusio/quarkus/releases/tag/3.16.2)

[Compare Source](https://github.com/quarkusio/quarkus/compare/3.16.1...3.16.2)

##### Complete changelog

-   [#&#8203;34824](https://github.com/quarkusio/quarkus/issues/34824) - AmazonLambdaRecorder Handler Discovery Erroneously Considers Decorators
-   [#&#8203;38086](https://github.com/quarkusio/quarkus/issues/38086) - Documentation about `RecordCodecProvider` in MongoDB with Panache
-   [#&#8203;42149](https://github.com/quarkusio/quarkus/issues/42149) - Upgrade Postgres 16
-   [#&#8203;44039](https://github.com/quarkusio/quarkus/pull/44039) - WebSockets Next: create a new event loop context for each client
-   [#&#8203;44132](https://github.com/quarkusio/quarkus/pull/44132) - Update getting-started-reactive.adoc
-   [#&#8203;44149](https://github.com/quarkusio/quarkus/pull/44149) - Fix Config Error Screen
-   [#&#8203;44152](https://github.com/quarkusio/quarkus/pull/44152) - Do not throw NPE in AfterAll interceptor if application didn't start
-   [#&#8203;44155](https://github.com/quarkusio/quarkus/pull/44155) - Amazon Lambda - Support decorators
-   [#&#8203;44156](https://github.com/quarkusio/quarkus/issues/44156) - Make OidcRequestContextProperties modifiable
-   [#&#8203;44178](https://github.com/quarkusio/quarkus/pull/44178) - Bump com.fasterxml.jackson:jackson-bom from 2.18.0 to 2.18.1
-   [#&#8203;44183](https://github.com/quarkusio/quarkus/pull/44183) - Properly apply the update recipes in version order
-   [#&#8203;44184](https://github.com/quarkusio/quarkus/pull/44184) - Add Support for Trusted Proxy Detection on Forwarded Requests
-   [#&#8203;44185](https://github.com/quarkusio/quarkus/issues/44185) - Repeating `@PermissionsAllowed` annotations totally disable method authentication
-   [#&#8203;44189](https://github.com/quarkusio/quarkus/pull/44189) - Small improvements to the Deploying to Google Cloud guide
-   [#&#8203;44190](https://github.com/quarkusio/quarkus/issues/44190) - ResteasyReactiveProcessor#setupEndpoints reports duplicate endpoints when a rest client matches a resource
-   [#&#8203;44191](https://github.com/quarkusio/quarkus/pull/44191) - Update PostgreSQL image to 17
-   [#&#8203;44201](https://github.com/quarkusio/quarkus/issues/44201) - Broken link
-   [#&#8203;44202](https://github.com/quarkusio/quarkus/issues/44202) - Broken link?
-   [#&#8203;44203](https://github.com/quarkusio/quarkus/pull/44203) - Make OidcRequestContextProperties modifiable
-   [#&#8203;44204](https://github.com/quarkusio/quarkus/pull/44204) - Fix broken doc links
-   [#&#8203;44207](https://github.com/quarkusio/quarkus/pull/44207) - Bump bouncycastle.version from 1.78.1 to 1.79
-   [#&#8203;44209](https://github.com/quarkusio/quarkus/pull/44209) - Bump io.quarkus.develocity:quarkus-project-develocity-extension from 1.1.6 to 1.1.7
-   [#&#8203;44221](https://github.com/quarkusio/quarkus/pull/44221) - Add extension description for websockets next
-   [#&#8203;44227](https://github.com/quarkusio/quarkus/pull/44227) - Add stork-configuration-generator as an annotationProcessorPath
-   [#&#8203;44229](https://github.com/quarkusio/quarkus/issues/44229) - ContainerResponseFilter with `@Priority(Integer.MIN_VALUE)` will be actually invoked with max priority
-   [#&#8203;44232](https://github.com/quarkusio/quarkus/pull/44232) - Quartz: use a more reasonable default for quarkus.quartz.thread-count
-   [#&#8203;44235](https://github.com/quarkusio/quarkus/issues/44235) - 3.16: `@WithTestResource` starts all test resources (regression)
-   [#&#8203;44237](https://github.com/quarkusio/quarkus/pull/44237) - Properly implement priority of ContainerResponseFilter
-   [#&#8203;44238](https://github.com/quarkusio/quarkus/pull/44238) - Refactor SecurityTransformerUtils to consider repeated annotations
-   [#&#8203;44239](https://github.com/quarkusio/quarkus/pull/44239) - Replace oidc auth facebook screenshots with generic ones
-   [#&#8203;44244](https://github.com/quarkusio/quarkus/pull/44244) - Bump `quarkiverse-parent` to 18
-   [#&#8203;44245](https://github.com/quarkusio/quarkus/pull/44245) - Delete disabled job
-   [#&#8203;44248](https://github.com/quarkusio/quarkus/pull/44248) - Ignore client interfaces when detecting duplicate endpoints
-   [#&#8203;44263](https://github.com/quarkusio/quarkus/issues/44263) - Quarkus Dev UI - Clicking on gRPC - Services - service implementation class  Uncaught exception received by Vert.x
-   [#&#8203;44277](https://github.com/quarkusio/quarkus/pull/44277) - Dev UI Open in IDE make sure lineNumber is in quotes
-   [#&#8203;44279](https://github.com/quarkusio/quarkus/pull/44279) - Limit `MATCHING_RESOURCES` TestResources to the test that declares them
-   [#&#8203;44281](https://github.com/quarkusio/quarkus/issues/44281) - Included pages within a fragment ignores rendered=false property.
-   [#&#8203;44298](https://github.com/quarkusio/quarkus/pull/44298) - Qute: fix rendered=false if a fragment includes nested fragment
-   [#&#8203;44300](https://github.com/quarkusio/quarkus/issues/44300) - When testing request payload is populated with string "null" if enable-reflection-free-serializers enabled
-   [#&#8203;44309](https://github.com/quarkusio/quarkus/pull/44309) - Avoid deserializing null nodes in reflection free Jackson serialization
-   [#&#8203;44316](https://github.com/quarkusio/quarkus/issues/44316) - Duplicated field serialization using the generated reflection free Jackson serializers
-   [#&#8203;44317](https://github.com/quarkusio/quarkus/pull/44317) - Avoid duplicated field serialization in reflection free Jackson serializers
-   [#&#8203;44321](https://github.com/quarkusio/quarkus/pull/44321) - Use Java 21 by default in the Deploying to Google Cloud guide
-   [#&#8203;44322](https://github.com/quarkusio/quarkus/pull/44322) - Explain in MongoDB docs that records are supported
-   [#&#8203;44324](https://github.com/quarkusio/quarkus/pull/44324) - Take config annotation when trying to match test resources

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever MR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4yNC4wIiwidXBkYXRlZEluVmVyIjoiMzQuMjQuMCJ9-->