tree a2ed7347e78f2e95db65266b041b10fc137e4086
parent 33a231124ae7ab85a8e2e7cc86df20d4e6e492c1
parent 8ce066032ad1aec3ab15553c2094423c7695679b
author Marge Bot <marge@benkard.de> 1695266565 +0000
committer Marge Bot <marge@benkard.de> 1695266565 +0000

Update all non-major dependencies (mulk/mulkcms2!39)

This MR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [io.hypersistence:hypersistence-utils-hibernate-62](https://github.com/vladmihalcea/hypersistence-utils) | compile | patch | `3.5.2` -> `3.5.3` |
| [org.hibernate.orm:hibernate-envers](https://hibernate.org/orm) ([source](https://github.com/hibernate/hibernate-orm)) | build | patch | `6.3.0.Final` -> `6.3.1.Final` |
| [org.hibernate.orm:hibernate-core](https://hibernate.org/orm) ([source](https://github.com/hibernate/hibernate-orm)) | build | patch | `6.3.0.Final` -> `6.3.1.Final` |
| [io.quarkus:quarkus-maven-plugin](https://github.com/quarkusio/quarkus) | build | minor | `3.3.3` -> `3.4.1` |
| [io.quarkus:quarkus-universe-bom](https://github.com/quarkusio/quarkus-platform) | import | minor | `3.3.3` -> `3.4.1` |

---

### Release Notes

<details>
<summary>vladmihalcea/hypersistence-utils</summary>

### [`v3.5.3`](https://github.com/vladmihalcea/hypersistence-utils/blob/HEAD/changelog.txt#Version-353---September-19-2023)

\================================================================================

Add QueryStackTraceLogger that allows you to locate the source of an SQL query executed by Hibernate [#&#8203;653](https://github.com/vladmihalcea/hypersistence-utils/issues/653)

</details>

<details>
<summary>hibernate/hibernate-orm</summary>

### [`v6.3.1.Final`](https://github.com/hibernate/hibernate-orm/blob/HEAD/changelog.txt#Changes-in-631Final-September-19-2023)

[Compare Source](https://github.com/hibernate/hibernate-orm/compare/6.3.0...6.3.1)

https://hibernate.atlassian.net/projects/HHH/versions/32188

\*\* Bug
\* \[HHH-17221] - AssertionError initializing a collection with FetchMode.SUBSELECT and IdClass having only one field
\* \[HHH-17203] - ElementCollection doesn't consider [@&#8203;Where](https://github.com/Where) annotation on delete of elements
\* \[HHH-17202] - ArrayStoreException for single field id class entity collection batch loading
\* \[HHH-17201] - Unexpected value type exception for unordered multi id Load with ordered return disable
\* \[HHH-17189] - Audited annotations are ignored on embeddable super types
\* \[HHH-17177] - JDBC type code is ignored in XML mapping for an id attribute
\* \[HHH-17173] - Getting one-to-one association through a referenece to a bytecode enhanced entity fails
\* \[HHH-17168] - Investigate failures on db10\_5 and Cockrachdb of FunctionTests.testCastBinaryWithLength
\* \[HHH-17167] - Unable to locate parameter for RESTRICT - DELETE error when removing entity with RowId
\* \[HHH-17166] - query methods returning primitive types incorrectly inferred to be mutation query methods
\* \[HHH-17165] - short method names in metamodel generator cause SIOBE
\* \[HHH-17163] - persist() should throw JPA's EntityExistsException if passed detached instance
\* \[HHH-17159] - java.lang.StackOverflowError during Update on Entity with Embeddable and JSON
\* \[HHH-17156] - NPE when an Embeddable column is reused in another class related by inheritance
\* \[HHH-17154] - NullPointerException is thrown when constructing EntityManagerFactoryBuilderImpl
\* \[HHH-17135] - CriteriaQuery error passing nullLiteral with entity type class
\* \[HHH-17131] - Regression in entity streams with associated collections resulting in result duplication
\* \[HHH-17105] - SQL clause from [@&#8203;WhereJoinTable](https://github.com/WhereJoinTable) is no longer used for DELETE queries (6.2 regression)
\* \[HHH-17104] - Bug with max() request inside projection
\* \[HHH-17100] - CustomType wrongly calls UserType#disassemble
\* \[HHH-17080] - \[Envers] AuditReader.getRevisionNumberForDate(LocalDateTime) uses Epoch Seconds instead of Epoch Millis
\* \[HHH-17079] - NPE when using CompositeUserType with generic fields in Hibernate 6
\* \[HHH-17049] - Bytecode Enhancement, extra records created for associations created in constructor
\* \[HHH-16945] - CTE query cycle attribute evaluated incorrectly on MSSQL using collation "Latin1\_General_CI_AS"
\* \[HHH-15968] - Sporadic ClassCastException when querying for Set<Enum>.

\*\* Improvement
\* \[HHH-17220] - Avoid runtime lookups of JdbcService from TableGenerator and TableStructure
\* \[HHH-17171] - JPA and multiple query roots
\* \[HHH-16768] - HQL parsed predicates don't validate type comparability

\*\* Task
\* \[HHH-17204] - Relax visibility of some methods for reactive upsert() support
\* \[HHH-17187] - Avoid 0 byte trailing UUID's in tests
\* \[HHH-17160] - Gradle 8.3 upgrade
\* \[HHH-17087] - Update container images to the latest version

</details>

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

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

[Compare Source](https://github.com/quarkusio/quarkus/compare/3.4.0...3.4.1)

##### Major changes

-   [#&#8203;35732](https://github.com/quarkusio/quarkus/pull/35732) - Rework how to enable/activate Flyway

##### Complete changelog

-   [#&#8203;36000](https://github.com/quarkusio/quarkus/pull/36000) - Bump org.eclipse.jgit:org.eclipse.jgit from 6.6.0.202305301015-r to 6.6.1.202309021850-r in /docs
-   [#&#8203;35999](https://github.com/quarkusio/quarkus/pull/35999) - Bump org.eclipse.jgit:org.eclipse.jgit from 6.6.0.202305301015-r to 6.6.1.202309021850-r in /bom/application
-   [#&#8203;35990](https://github.com/quarkusio/quarkus/pull/35990) - Don't ignore empty SSE events in client
-   [#&#8203;35987](https://github.com/quarkusio/quarkus/pull/35987) - Improve the way HTTP authorizer logs exceptions
-   [#&#8203;35981](https://github.com/quarkusio/quarkus/pull/35981) - Fix link to AWS Lambda SnapStart in documentation
-   [#&#8203;35979](https://github.com/quarkusio/quarkus/pull/35979) - Add `@ConfigDocEnumValue` & `@ConfigDocDefault` to writing-extensions guide
-   [#&#8203;35977](https://github.com/quarkusio/quarkus/pull/35977) - Recompute cached value when the Redis connection fails
-   [#&#8203;35975](https://github.com/quarkusio/quarkus/issues/35975) - OIDC: AuthenticationRedirectionException after successful login
-   [#&#8203;35968](https://github.com/quarkusio/quarkus/pull/35968) - Warn when wrong token proxy is accessed
-   [#&#8203;35966](https://github.com/quarkusio/quarkus/issues/35966) - SSE: Reactive SseEventSource client doesn't consume empty events
-   [#&#8203;35964](https://github.com/quarkusio/quarkus/issues/35964) - OIDC: NPE when accessing IdToken when Bearer access token is sent
-   [#&#8203;35959](https://github.com/quarkusio/quarkus/pull/35959) - Log invalid CORS origin and method
-   [#&#8203;35958](https://github.com/quarkusio/quarkus/issues/35958) - \[GraalVM 24.0] Hibernate ORM elasticsearch native integration tests fail with return type mismatch
-   [#&#8203;35956](https://github.com/quarkusio/quarkus/pull/35956) - Fix return type of hibernate-search substitution
-   [#&#8203;35949](https://github.com/quarkusio/quarkus/pull/35949) - Properly initialize reactive Pool beans
-   [#&#8203;35938](https://github.com/quarkusio/quarkus/pull/35938) - Bump org.apache.commons:commons-compress from 1.23.0 to 1.24.0 in /bom/application
-   [#&#8203;35937](https://github.com/quarkusio/quarkus/pull/35937) - Bump org.apache.commons:commons-compress from 1.23.0 to 1.24.0 in /independent-projects/tools
-   [#&#8203;35926](https://github.com/quarkusio/quarkus/pull/35926) - Fix use of multiple `@ClientXXX` annotations in REST Client Reactive
-   [#&#8203;35925](https://github.com/quarkusio/quarkus/issues/35925) - Add a property to bypass cache mechanism in case of Redis failure
-   [#&#8203;35919](https://github.com/quarkusio/quarkus/pull/35919) - Honor OIDC logout requests when ID token has expired
-   [#&#8203;35914](https://github.com/quarkusio/quarkus/pull/35914) - Prevent recording configuration coming from Gradle
-   [#&#8203;35900](https://github.com/quarkusio/quarkus/pull/35900) - Fix RESTEasy CDI dependency issue
-   [#&#8203;35899](https://github.com/quarkusio/quarkus/pull/35899) - Add note about unsupported `@Lock` in Spring Data JPA
-   [#&#8203;35895](https://github.com/quarkusio/quarkus/pull/35895) - Update liquibase to 4.23.2, liquibase-mongodb to 4.23.1
-   [#&#8203;35889](https://github.com/quarkusio/quarkus/issues/35889) - UriInfo can not be injected in presence of quarkus-rest-client dependency
-   [#&#8203;35886](https://github.com/quarkusio/quarkus/pull/35886) - OTel Scope.close() warning improvement
-   [#&#8203;35885](https://github.com/quarkusio/quarkus/pull/35885) - Applying the QE feedback for the Logging guide
-   [#&#8203;35884](https://github.com/quarkusio/quarkus/issues/35884) - Application fails to start when eactive restclient uses both ClientExceptionMapper and ClientObjectMapper
-   [#&#8203;35883](https://github.com/quarkusio/quarkus/pull/35883) - Bring back the HTTP console commands
-   [#&#8203;35879](https://github.com/quarkusio/quarkus/issues/35879) - Quarkus 3.4.0.CR1 does not have HTTP commands in dev mode
-   [#&#8203;35858](https://github.com/quarkusio/quarkus/issues/35858) - NullPointerException when entity primary key has the type `byte[]`
-   [#&#8203;35777](https://github.com/quarkusio/quarkus/pull/35777) - Add a note about HR not being a replacement for ORM
-   [#&#8203;35732](https://github.com/quarkusio/quarkus/pull/35732) - Rework how to enable/activate Flyway
-   [#&#8203;35728](https://github.com/quarkusio/quarkus/issues/35728) - OIDC logout not working for virtual callback paths, if id_token is expired but session cookie is present
-   [#&#8203;35690](https://github.com/quarkusio/quarkus/pull/35690) - Upgrade to Hibernate ORM 6.2.9.Final and HR 2.0.5.Final
-   [#&#8203;35655](https://github.com/quarkusio/quarkus/issues/35655) - Flyway does not work without default datasource 3.3
-   [#&#8203;35528](https://github.com/quarkusio/quarkus/issues/35528) - flyway with one supported and one unsupported Db throws exception at startup

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

[Compare Source](https://github.com/quarkusio/quarkus/compare/3.3.3...3.4.0)

##### Complete changelog

-   [#&#8203;35888](https://github.com/quarkusio/quarkus/pull/35888) - Restore missing parameters in OIDC Dev UI client cred and password SwaggerUI/GraphQL handlers
-   [#&#8203;35870](https://github.com/quarkusio/quarkus/pull/35870) - Use default Vert.x client settings in OTel exporters
-   [#&#8203;35866](https://github.com/quarkusio/quarkus/issues/35866) - Automatic TLS support in new Vert.x based open telemetry implementation
-   [#&#8203;35862](https://github.com/quarkusio/quarkus/pull/35862) - Only remove OTLP trace services when otlp is not configured
-   [#&#8203;35846](https://github.com/quarkusio/quarkus/pull/35846) - Fixes aggregation of configurations with two different executions ids
-   [#&#8203;35844](https://github.com/quarkusio/quarkus/pull/35844) - Improve description of the duration format in configuration documentation
-   [#&#8203;35840](https://github.com/quarkusio/quarkus/pull/35840) - Updates Infinispan to 14.0.17.Final
-   [#&#8203;35831](https://github.com/quarkusio/quarkus/issues/35831) - Quarkus aggregate configurations from different executions that share the same goal
-   [#&#8203;35822](https://github.com/quarkusio/quarkus/pull/35822) - Check that embedded property types are marked as `@Embeddable`
-   [#&#8203;35817](https://github.com/quarkusio/quarkus/pull/35817) - Improve Qute + Cache integration
-   [#&#8203;35804](https://github.com/quarkusio/quarkus/pull/35804) - HTTP fix response compression support
-   [#&#8203;35792](https://github.com/quarkusio/quarkus/pull/35792) - Do not include in the list of property names Kubernetes config fallbacks
-   [#&#8203;35789](https://github.com/quarkusio/quarkus/pull/35789) - Improve OTel Sampler docs
-   [#&#8203;35786](https://github.com/quarkusio/quarkus/issues/35786) - OpenTelemetry exporter (otlp) startup dependency error when running as a Docker container image
-   [#&#8203;35784](https://github.com/quarkusio/quarkus/pull/35784) - Document the ability to automatically compress rotated log files
-   [#&#8203;35778](https://github.com/quarkusio/quarkus/pull/35778) - Fix generic handling of ParamConverter
-   [#&#8203;35774](https://github.com/quarkusio/quarkus/issues/35774) - RESTEasy Reactive fails to handle collections of parameterized types as parameter
-   [#&#8203;35764](https://github.com/quarkusio/quarkus/pull/35764) - Do not include revision and host-specific info in MANIFEST.MF
-   [#&#8203;35762](https://github.com/quarkusio/quarkus/pull/35762) - Delete temporary openshift files
-   [#&#8203;35759](https://github.com/quarkusio/quarkus/pull/35759) - Upgrade Smallrye OpenAPI to 3.5.2
-   [#&#8203;35757](https://github.com/quarkusio/quarkus/pull/35757) - Update liquibase from 4.20.0 to 4.23.1, liquibase-mongodb to 4.23.0
-   [#&#8203;35747](https://github.com/quarkusio/quarkus/issues/35747) - Large files remain in /tmp after OpenShift deployments
-   [#&#8203;35726](https://github.com/quarkusio/quarkus/pull/35726) - Improve matching of config properties to a root
-   [#&#8203;35722](https://github.com/quarkusio/quarkus/issues/35722) - Since quarkus 3.3.0 a WARN message unrecognized configuration key "quarkus.kubernetes.route.expose" is logged
-   [#&#8203;35718](https://github.com/quarkusio/quarkus/pull/35718) - Packs libraries alongside executable in function.zip
-   [#&#8203;35713](https://github.com/quarkusio/quarkus/issues/35713) - AWS Lambda extension does not pack necessary .so files when AWT is used
-   [#&#8203;35710](https://github.com/quarkusio/quarkus/pull/35710) - Fix potential NPE in HTTP proxying
-   [#&#8203;35706](https://github.com/quarkusio/quarkus/issues/35706) - Azure-Functions crash when X-Forwarded headers are enabled java.lang.NullPointerException
-   [#&#8203;35599](https://github.com/quarkusio/quarkus/issues/35599) - Keycloak/Quarkus Issues: Dev and Prod
-   [#&#8203;35598](https://github.com/quarkusio/quarkus/issues/35598) - Improve Error-Message for missing Embedabbles
-   [#&#8203;35558](https://github.com/quarkusio/quarkus/pull/35558) - Widen conditions under RESTEasy Reactive Server and RESTEasy Classic Client can work together
-   [#&#8203;12260](https://github.com/quarkusio/quarkus/issues/12260) - Quarkus logging with compress option

</details>

<details>
<summary>quarkusio/quarkus-platform</summary>

### [`v3.4.1`](https://github.com/quarkusio/quarkus-platform/compare/3.3.3...3.4.1)

[Compare Source](https://github.com/quarkusio/quarkus-platform/compare/3.3.3...3.4.1)

</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.

👻 **Immortal**: This MR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- 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-->