{"id":5620,"name":"com.github.ben-manes.versions","ecosystem":"maven","repository_url":null,"issues_count":504,"created_at":"2025-06-06T19:07:45.602Z","updated_at":"2025-06-06T19:07:45.602Z","purl":"pkg:maven/com.github.ben-manes.versions","unique_repositories_count":355,"unique_repositories_count_past_30_days":5,"recent_issues":[{"uuid":"4585150925","node_id":"PR_kwDOKclOQM7ifkQe","number":1764,"state":"open","title":"chore(deps): bump the all-dependencies group across 41 directories with 74 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-04T02:03:47.000Z","updated_at":"2026-06-04T02:05:14.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"all-dependencies","update_count":74,"packages":[{"name":"gradle-wrapper","old_version":"9.5.0","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.3.20","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-serialization","old_version":"2.3.20","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.power-assert:org.jetbrains.kotlin.plugin.power-assert.gradle.plugin","old_version":"2.3.20","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin","old_version":"2.3.20","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-test","old_version":"2.3.20","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.jvm","old_version":"2.3.20","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.multiplatform","old_version":"2.3.20","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.3.20","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.power-assert","old_version":"2.3.20","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.gradleup.shadow:com.gradleup.shadow.gradle.plugin","old_version":"9.4.1","new_version":"9.4.2","repository_url":"https://github.com/GradleUp/shadow"},{"name":"com.gradleup.shadow","old_version":"9.4.1","new_version":"9.4.2","repository_url":"https://github.com/GradleUp/shadow"},{"name":"dev.mokkery:dev.mokkery.gradle.plugin","old_version":"3.3.0","new_version":"3.4.0","repository_url":"https://github.com/lupuuss/Mokkery"},{"name":"com.github.gmazzo.buildconfig:com.github.gmazzo.buildconfig.gradle.plugin","old_version":"6.0.9","new_version":"6.0.10","repository_url":"https://github.com/gmazzo/gradle-buildconfig-plugin"},{"name":"com.github.gmazzo.buildconfig","old_version":"6.0.9","new_version":"6.0.10","repository_url":"https://github.com/gmazzo/gradle-buildconfig-plugin"},{"name":"com.sksamuel.cohort:cohort-ktor","old_version":"2.8.3","new_version":"2.9.9","repository_url":"https://github.com/sksamuel/cohort"},{"name":"io.github.smiley4:ktor-openapi","old_version":"5.6.0","new_version":"5.7.0","repository_url":"https://github.com/SMILEY4/ktor-openapi"},{"name":"io.github.smiley4:ktor-swagger-ui","old_version":"5.6.0","new_version":"5.7.0","repository_url":"https://github.com/SMILEY4/ktor-swagger-ui"},{"name":"io.github.smiley4:ktor-redoc","old_version":"5.6.0","new_version":"5.7.0","repository_url":"https://github.com/SMILEY4/ktor-redoc"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-core","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-test","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-jdk8","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.10.1-waltid_20260309-SNAPSHOT","new_version":"1.11.1-waltid_20260519-SNAPSHOT"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-cbor","old_version":"1.10.1-waltid_20260309-SNAPSHOT","new_version":"1.11.1-waltid_20260519-SNAPSHOT"},{"name":"org.jetbrains.kotlinx:kotlinx-datetime","old_version":"0.7.1","new_version":"0.8.0","repository_url":"https://github.com/Kotlin/kotlinx-datetime"},{"name":"org.jetbrains.kotlinx:atomicfu","old_version":"0.32.1","new_version":"0.33.0","repository_url":"https://github.com/Kotlin/kotlinx.atomicfu"},{"name":"org.bouncycastle:bcprov-lts8on","old_version":"2.73.10","new_version":"2.73.11","repository_url":"https://github.com/bcgit/bc-lts-java"},{"name":"org.bouncycastle:bcpkix-lts8on","old_version":"2.73.10","new_version":"2.73.11","repository_url":"https://github.com/bcgit/bc-lts-java"},{"name":"com.nimbusds:nimbus-jose-jwt","old_version":"10.9","new_version":"10.9.1"},{"name":"org.junit.jupiter:junit-jupiter-api","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.jupiter:junit-jupiter-engine","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.jupiter:junit-jupiter-params","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.platform:junit-platform-launcher","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.platform:junit-platform-console","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"io.github.oshai:kotlin-logging","old_version":"8.0.02","new_version":"8.0.4","repository_url":"https://github.com/oshai/kotlin-logging"},{"name":"org.slf4j:slf4j-simple","old_version":"2.0.17","new_version":"2.0.18"},{"name":"org.slf4j:jul-to-slf4j","old_version":"2.0.17","new_version":"2.0.18"},{"name":"io.klogging:klogging","old_version":"0.11.7","new_version":"0.11.8","repository_url":"https://github.com/klogging/klogging"},{"name":"io.klogging:slf4j-klogging","old_version":"0.11.7","new_version":"0.11.8","repository_url":"https://github.com/klogging/klogging"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the all-dependencies group with 40 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.5.0` | `9.5.1` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.4.0` |\n| [org.jetbrains.kotlin:kotlin-serialization](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.power-assert:org.jetbrains.kotlin.plugin.power-assert.gradle.plugin](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.4.0` |\n| [org.jetbrains.kotlin:kotlin-test](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.4.0` |\n| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.4.0` |\n| [org.jetbrains.kotlin.multiplatform](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.power-assert](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.4.0` |\n| [com.gradleup.shadow:com.gradleup.shadow.gradle.plugin](https://github.com/GradleUp/shadow) | `9.4.1` | `9.4.2` |\n| [com.gradleup.shadow](https://github.com/GradleUp/shadow) | `9.4.1` | `9.4.2` |\n| [dev.mokkery:dev.mokkery.gradle.plugin](https://github.com/lupuuss/Mokkery) | `3.3.0` | `3.4.0` |\n| [com.github.gmazzo.buildconfig:com.github.gmazzo.buildconfig.gradle.plugin](https://github.com/gmazzo/gradle-buildconfig-plugin) | `6.0.9` | `6.0.10` |\n| [com.github.gmazzo.buildconfig](https://github.com/gmazzo/gradle-buildconfig-plugin) | `6.0.9` | `6.0.10` |\n| [com.sksamuel.cohort:cohort-ktor](https://github.com/sksamuel/cohort) | `2.8.3` | `2.9.9` |\n| [io.github.smiley4:ktor-openapi](https://github.com/SMILEY4/ktor-openapi) | `5.6.0` | `5.7.0` |\n| [io.github.smiley4:ktor-swagger-ui](https://github.com/SMILEY4/ktor-swagger-ui) | `5.6.0` | `5.7.0` |\n| [io.github.smiley4:ktor-redoc](https://github.com/SMILEY4/ktor-redoc) | `5.6.0` | `5.7.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-jdk8](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| org.jetbrains.kotlinx:kotlinx-serialization-json | `1.10.1-waltid_20260309-SNAPSHOT` | `1.11.1-waltid_20260519-SNAPSHOT` |\n| org.jetbrains.kotlinx:kotlinx-serialization-cbor | `1.10.1-waltid_20260309-SNAPSHOT` | `1.11.1-waltid_20260519-SNAPSHOT` |\n| [org.jetbrains.kotlinx:kotlinx-datetime](https://github.com/Kotlin/kotlinx-datetime) | `0.7.1` | `0.8.0` |\n| [org.jetbrains.kotlinx:atomicfu](https://github.com/Kotlin/kotlinx.atomicfu) | `0.32.1` | `0.33.0` |\n| [org.bouncycastle:bcprov-lts8on](https://github.com/bcgit/bc-lts-java) | `2.73.10` | `2.73.11` |\n| [org.bouncycastle:bcpkix-lts8on](https://github.com/bcgit/bc-lts-java) | `2.73.10` | `2.73.11` |\n| [com.nimbusds:nimbus-jose-jwt](https://bitbucket.org/connect2id/nimbus-jose-jwt) | `10.9` | `10.9.1` |\n| [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\n| [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\n| [org.junit.jupiter:junit-jupiter-params](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\n| [org.junit.platform:junit-platform-launcher](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\n| [org.junit.platform:junit-platform-console](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\n| [io.github.oshai:kotlin-logging](https://github.com/oshai/kotlin-logging) | `8.0.02` | `8.0.4` |\n| org.slf4j:slf4j-simple | `2.0.17` | `2.0.18` |\n| org.slf4j:jul-to-slf4j | `2.0.17` | `2.0.18` |\n| [io.klogging:klogging](https://github.com/klogging/klogging) | `0.11.7` | `0.11.8` |\n| [io.klogging:slf4j-klogging](https://github.com/klogging/klogging) | `0.11.7` | `0.11.8` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n\nBumps the all-dependencies group with 1 update in the /build-logic directory: com.github.jk1.dependency-license-report:com.github.jk1.dependency-license-report.gradle.plugin.\nBumps the all-dependencies group with 1 update in the /waltid-applications/waltid-android directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines).\nBumps the all-dependencies group with 3 updates in the /waltid-applications/waltid-cli directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines), org.slf4j:slf4j-simple and [com.wolpl.clikt-testkit:clikt-testkit](https://github.com/wolpl/clikt-testkit).\nBumps the all-dependencies group with 1 update in the /waltid-applications/waltid-openid4vc-ios-testApp/shared directory: [io.ktor:ktor-client-darwin](https://github.com/ktorio/ktor).\nBumps the all-dependencies group with 3 updates in the /waltid-libraries/auth/waltid-ktor-authnz directory: [org.web3j:core](https://github.com/LFDT-web3j/web3j), org.apache.directory.api:apache-ldap-api and [org.apache.mina:mina-core](https://github.com/apache/mina).\nBumps the all-dependencies group with 1 update in the /waltid-libraries/auth/waltid-permissions directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines).\nBumps the all-dependencies group with 2 updates in the /waltid-libraries/credentials/waltid-dif-definitions-parser directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) and org.slf4j:slf4j-simple.\nBumps the all-dependencies group with 2 updates in the /waltid-libraries/credentials/waltid-digital-credentials directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) and org.slf4j:slf4j-simple.\nBumps the all-dependencies group with 2 updates in the /waltid-libraries/credentials/waltid-digital-credentials-examples directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) and org.slf4j:slf4j-simple.\nBumps the all-dependencies group with 2 updates in the /waltid-libraries/credentials/waltid-holder-policies directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) and org.slf4j:slf4j-simple.\nBumps the all-dependencies group with 1 update in the /waltid-libraries/credentials/waltid-mdoc-credentials directory: [io.mockk:mockk](https://github.com/mockk/mockk).\nBumps the all-dependencies group with 3 updates in the /waltid-libraries/credentials/waltid-mdoc-credentials2 directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines), org.slf4j:slf4j-simple and [org.jetbrains.kotlinx:kotlinx-serialization-core](https://github.com/Kotlin/kotlinx.serialization).\nBumps the all-dependencies group with 1 update in the /waltid-libraries/credentials/waltid-trust-registry directory: org.slf4j:slf4j-simple.\nBumps the all-dependencies group with 1 update in the /waltid-libraries/credentials/waltid-verification-policies directory: [io.mockk:mockk](https://github.com/mockk/mockk).\nBumps the all-dependencies group with 3 updates in the /waltid-libraries/credentials/waltid-verification-policies2 directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines), org.slf4j:slf4j-simple and [io.mockk:mockk](https://github.com/mockk/mockk).\nBumps the all-dependencies group with 3 updates in the /waltid-libraries/credentials/waltid-verification-policies2-vp directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines), org.slf4j:slf4j-simple and [io.mockk:mockk](https://github.com/mockk/mockk).\nBumps the all-dependencies group with 2 updates in the /waltid-libraries/credentials/waltid-vical directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) and org.slf4j:slf4j-simple.\nBumps the all-dependencies group with 2 updates in the /waltid-libraries/credentials/waltid-w3c-credentials directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) and org.slf4j:slf4j-simple.\nBumps the all-dependencies group with 2 updates in the /waltid-libraries/crypto/waltid-cose directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) and org.slf4j:slf4j-simple.\nBumps the all-dependencies group with 1 update in the /waltid-libraries/crypto/waltid-crypto-android directory: [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines).\nBumps the all-dependencies group with 2 updates in the /waltid-libraries/crypto/waltid-crypto-aws directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) and [aws.sdk.kotlin:kms-jvm](https://github.com/aws/aws-sdk-kotlin).\nBumps the all-dependencies group with 2 updates in the /waltid-libraries/crypto/waltid-crypto-azure directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) and [com.azure:azure-security-keyvault-keys](https://github.com/Azure/azure-sdk-for-java).\nBumps the all-dependencies group with 3 updates in the /waltid-libraries/crypto/waltid-crypto-oci directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines), org.slf4j:slf4j-simple and com.oracle.oci.sdk:oci-java-sdk-shaded-full.\nBumps the all-dependencies group with 2 updates in the /waltid-libraries/protocols/waltid-18013-7-verifier directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) and org.slf4j:slf4j-simple.\nBumps the all-dependencies group with 2 updates in the /waltid-libraries/protocols/waltid-openid4vc directory: [io.kotest:kotest-runner-junit5](https://github.com/kotest/kotest) and [org.jetbrains.kotlinx:kotlinx-coroutines-slf4j](https://github.com/Kotlin/kotlinx.coroutines).\nBumps the all-dependencies group with 3 updates in the /waltid-libraries/protocols/waltid-openid4vci-wallet directory: [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines), org.jetbrains.kotlinx:kotlinx-serialization-json and [org.jetbrains.kotlinx:kotlinx-datetime](https://github.com/Kotlin/kotlinx-datetime).\nBumps the all-dependencies group with 2 updates in the /waltid-libraries/protocols/waltid-openid4vp-clientidprefix directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) and org.slf4j:slf4j-simple.\nBumps the all-dependencies group with 2 updates in the /waltid-libraries/protocols/waltid-openid4vp-verifier directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) and org.slf4j:slf4j-simple.\nBumps the all-dependencies group with 1 update in the /waltid-libraries/sdjwt/waltid-sdjwt directory: [dev.whyoleg.cryptography:cryptography-random](https://github.com/whyoleg/cryptography-kotlin).\nBumps the all-dependencies group with 1 update in the /waltid-libraries/sdjwt/waltid-sdjwt-ios directory: [io.kotest:kotest-assertions-core](https://github.com/kotest/kotest).\nBumps the all-dependencies group with 2 updates in the /waltid-libraries/waltid-core-wallet directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) and org.slf4j:slf4j-simple.\nBumps the all-dependencies group with 1 update in the /waltid-libraries/waltid-library-commons directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines).\nBumps the all-dependencies group with 3 updates in the /waltid-services/waltid-e2e-tests directory: [org.bouncycastle:bcpkix-lts8on](https://github.com/bcgit/bc-lts-java), [com.nimbusds:nimbus-jose-jwt](https://bitbucket.org/connect2id/nimbus-jose-jwt) and [org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm](https://github.com/Kotlin/kotlinx.coroutines).\nBumps the all-dependencies group with 1 update in the /waltid-services/waltid-integration-tests directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm](https://github.com/Kotlin/kotlinx.coroutines).\nBumps the all-dependencies group with 1 update in the /waltid-services/waltid-openid4vp-conformance-runners directory: [io.ktor:ktor-client-encoding](https://github.com/ktorio/ktor).\nBumps the all-dependencies group with 2 updates in the /waltid-services/waltid-service-commons directory: [io.github.smiley4:ktor-openapi](https://github.com/SMILEY4/ktor-openapi) and [io.github.smiley4:schema-kenerator-core](https://github.com/SMILEY4/schema-kenerator).\nBumps the all-dependencies group with 1 update in the /waltid-services/waltid-service-commons-test directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines).\nBumps the all-dependencies group with 1 update in the /waltid-services/waltid-verifier-api2 directory: [org.bouncycastle:bcprov-lts8on](https://github.com/bcgit/bc-lts-java).\nBumps the all-dependencies group with 8 updates in the /waltid-services/waltid-wallet-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.14.9` | `1.14.11` |\n| [de.mkammerer:argon2-jvm](https://github.com/phxql/argon2-jvm) | `2.11` | `2.12` |\n| [org.jetbrains.exposed:exposed-core](https://github.com/JetBrains/Exposed) | `1.0.0-rc-1` | `1.3.0` |\n| [org.jetbrains.exposed:exposed-jdbc](https://github.com/JetBrains/Exposed) | `1.0.0-rc-1` | `1.3.0` |\n| [org.jetbrains.exposed:exposed-dao](https://github.com/JetBrains/Exposed) | `1.0.0-rc-1` | `1.3.0` |\n| [org.jetbrains.exposed:exposed-java-time](https://github.com/JetBrains/Exposed) | `1.0.0-rc-1` | `1.3.0` |\n| [org.jetbrains.exposed:exposed-json](https://github.com/JetBrains/Exposed) | `1.0.0-rc-1` | `1.3.0` |\n\nBumps the all-dependencies group with 3 updates in the /waltid-services/waltid-web3login-microservice directory: [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin), io.ktor.plugin and [jvm](https://github.com/JetBrains/kotlin).\n\nUpdates `gradle-wrapper` from 9.5.0 to 9.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd78213f09782e62ca4957f9cfd3d90c6c3f1767\"\u003e\u003ccode\u003efd78213\u003c/code\u003e\u003c/a\u003e Update Documentation Infrastructure: Fix scrolling issue in user manual (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37861\"\u003e#37861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7758437128d1c52702786ad719a13ade1b860aa8\"\u003e\u003ccode\u003e7758437\u003c/code\u003e\u003c/a\u003e fix scroll\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2fd605fdcd69fea10570e9eb1343bbd7ca01c9d0\"\u003e\u003ccode\u003e2fd605f\u003c/code\u003e\u003c/a\u003e Only try to run as worker thread in DefaultBuildOperationQueue (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37845\"\u003e#37845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/af6984901238402386ae263d746380504e5f9138\"\u003e\u003ccode\u003eaf69849\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37853\"\u003e#37853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f4d9d03e9bb47d2d17b6d8314fdaa32c3d0b3c1e\"\u003e\u003ccode\u003ef4d9d03\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/01eda3adf40dbe97e81475e813705409dcfe1091\"\u003e\u003ccode\u003e01eda3a\u003c/code\u003e\u003c/a\u003e Address review feedback on worker-lease retry changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7024e15139b2db9df831dd15a8b9e9052acd9a51\"\u003e\u003ccode\u003e7024e15\u003c/code\u003e\u003c/a\u003e Revert enrich file visitor with size info on \u003ccode\u003erelease\u003c/code\u003e branch (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37848\"\u003e#37848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d51476fda21330c037a04b43ec9a93a929d05b87\"\u003e\u003ccode\u003ed51476f\u003c/code\u003e\u003c/a\u003e Fix tryRunAsWorkerThread null-return test to match contract\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/090ebabc5b6f648e01c0269a321d80372fdbfe0f\"\u003e\u003ccode\u003e090ebab\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add getLength() to FilePropertyVisitor.VisitState\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/bceab24677298144860f6919bdcb031e806dbf23\"\u003e\u003ccode\u003ebceab24\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix annotation\u0026quot;\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.5.0...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.3.20 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-serialization` from 2.3.20 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.power-assert:org.jetbrains.kotlin.plugin.power-assert.gradle.plugin` from 2.3.20 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.power-assert:org.jetbrains.kotlin.plugin.power-assert.gradle.plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.power-assert:org.jetbrains.kotlin.plugin.power-assert.gradle.plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin` from 2.3.20 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: clas...\n\n_Description has been truncated_","html_url":"https://github.com/walt-id/waltid-identity/pull/1764","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/walt-id%2Fwaltid-identity/issues/1764","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1764/packages"},{"uuid":"4499519588","node_id":"PR_kwDORvJjTc7eL9ZE","number":30,"state":"open","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 18 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-22T03:13:03.000Z","updated_at":"2026-05-22T03:17:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":18,"packages":[{"name":"org.mariadb.jdbc:mariadb-java-client","old_version":"3.5.7","new_version":"3.5.8","repository_url":"https://github.com/mariadb-corporation/mariadb-connector-j"},{"name":"org.flywaydb:flyway-mysql","old_version":"12.0.3","new_version":"12.6.2"},{"name":"org.projectlombok:lombok","old_version":"1.18.42","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"org.apache.pdfbox:pdfbox","old_version":"3.0.6","new_version":"3.0.7"},{"name":"org.apache.pdfbox:jbig2-imageio","old_version":"3.0.4","new_version":"3.0.5"},{"name":"com.github.RouHim:jaudiotagger","old_version":"2.0.16","new_version":"2.0.21"},{"name":"com.github.junrar:junrar","old_version":"7.5.8","new_version":"7.6.0","repository_url":"https://github.com/junrar/junrar"},{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"4.0.6","new_version":"4.0.8"},{"name":"tools.jackson:jackson-bom","old_version":"3.1.0","new_version":"3.1.3","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"org.springframework.boot","old_version":"4.0.3","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.hibernate.orm","old_version":"7.2.6.Final","new_version":"7.3.5.Final"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"gradle-wrapper","old_version":"9.4.0","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 16 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) | `3.5.7` | `3.5.8` |\n| org.flywaydb:flyway-mysql | `12.0.3` | `12.6.2` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.42` | `1.18.46` |\n| org.apache.pdfbox:pdfbox | `3.0.6` | `3.0.7` |\n| org.apache.pdfbox:jbig2-imageio | `3.0.4` | `3.0.5` |\n| com.github.RouHim:jaudiotagger | `2.0.16` | `2.0.21` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.8` | `7.6.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `3.0.2` | `3.0.3` |\n| org.glassfish.jaxb:jaxb-runtime | `4.0.6` | `4.0.8` |\n| [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `3.1.0` | `3.1.3` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.2.3` | `3.2.4` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.3` | `4.0.6` |\n| org.hibernate.orm | `7.2.6.Final` | `7.3.5.Final` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.0` | `9.5.1` |\n\n\nUpdates `org.mariadb.jdbc:mariadb-java-client` from 3.5.7 to 3.5.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/releases\"\u003eorg.mariadb.jdbc:mariadb-java-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eMariaDB Connector/Java 3.5.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/blob/main/CHANGELOG.md\"\u003eorg.mariadb.jdbc:mariadb-java-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/26b34a2f060070beb73515cfd2a49fabc8728843\"\u003e\u003ccode\u003e26b34a2\u003c/code\u003e\u003c/a\u003e Merge branch 'develop'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/06d6efee7838ab8f89ef0f7f362c6b4a95754630\"\u003e\u003ccode\u003e06d6efe\u003c/code\u003e\u003c/a\u003e bump CI actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a86a83c8fd1fa84d8d4349baab3b29df8f575192\"\u003e\u003ccode\u003ea86a83c\u003c/code\u003e\u003c/a\u003e bump 3.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/975f9919232b21f40d823423eac6e32d87ea8e35\"\u003e\u003ccode\u003e975f991\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to implement Codec directly and extract shared...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/75bb509521661603e0e90dd6dd5942d1382bf499\"\u003e\u003ccode\u003e75bb509\u003c/code\u003e\u003c/a\u003e [misc] code formatting cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/4c0b6a0ddd95f42fa866ce0d08e384caa2553d43\"\u003e\u003ccode\u003e4c0b6a0\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to extend UtilDateCodec and extract common dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a5b7fb1a26277a076052dbbd1a7ee2bacd4f602f\"\u003e\u003ccode\u003ea5b7fb1\u003c/code\u003e\u003c/a\u003e [misc] convert Reader and Writer from interfaces to final class implementatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/d31eb060fc66e9e37479e18a38bb1401d53ecb63\"\u003e\u003ccode\u003ed31eb06\u003c/code\u003e\u003c/a\u003e [misc] convert ReadableByteBuf from interface to final class implementation, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/11d45a9e6ea4d942e75747132bb8982471d890b8\"\u003e\u003ccode\u003e11d45a9\u003c/code\u003e\u003c/a\u003e [misc] optimize binary row decoder null bitmap checks and simplify signed Big...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/5aad14c381cbc2c4e0383ffed275306f359bd508\"\u003e\u003ccode\u003e5aad14c\u003c/code\u003e\u003c/a\u003e [misc] optimize BigInt column decoding and improve type safety in codec inter...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb:flyway-mysql` from 12.0.3 to 12.6.2\n\nUpdates `org.projectlombok:lombok` from 1.18.42 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.44 (March 11th, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFEATURE: \u003ccode\u003e@Jacksonized\u003c/code\u003e now supports both Jackson2 and Jackson3; you'll get a warning until you configure which one (or even both!) you want lombok to generate. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3950\"\u003e#3950\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: On JDK25, \u003ccode\u003eval\u003c/code\u003e and \u003ccode\u003e@ExtensionMethod\u003c/code\u003e could sometimes cause erroneous errors (in that you see errors but compilation succeeds anyway) using javac. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3947\"\u003e#3947\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e + fields marked \u003ccode\u003etransient\u003c/code\u003e would result in those transient fields being serialised which is surprising (and thus undesired) behaviour. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3936\"\u003e#3936\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.42...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.pdfbox:pdfbox` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:pdfbox-io` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:xmpbox` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:jbig2-imageio` from 3.0.4 to 3.0.5\n\nUpdates `com.github.RouHim:jaudiotagger` from 2.0.16 to 2.0.21\n\nUpdates `com.github.junrar:junrar` from 7.5.8 to 7.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.6.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport random access for files in solid RAR4 archives (\u003ca href=\"https://github.com/junrar/junrar/commits/e0874d2\"\u003ee0874d2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🏎 Perf\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereplace RarCRC.checkCrc with java.util.zip.CRC32 (\u003ca href=\"https://github.com/junrar/junrar/commits/5270d23\"\u003e5270d23\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump gradle-wrapper to 9.5.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/cb4b7fd\"\u003ecb4b7fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/0bb56b3\"\u003e0bb56b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/ca621b2\"\u003eca621b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.23.0 to 1.24.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/90f0548\"\u003e90f0548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/83a5d08\"\u003e83a5d08\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.github.ben-manes.versions from 0.53.0 to 0.54.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d5abcdb\"\u003ed5abcdb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated action (\u003ca href=\"https://github.com/junrar/junrar/commits/338efcb\"\u003e338efcb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Gauthier Roebroeck, Robin Schimpf\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier Roebroeck\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.9\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.10...v7.6.0\"\u003e7.6.0\u003c/a\u003e (2026-05-13)\u003c/h1\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport random access for files in solid RAR4 archives (\u003ca href=\"https://github.com/junrar/junrar/commits/e0874d2\"\u003ee0874d2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🏎 Perf\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereplace RarCRC.checkCrc with java.util.zip.CRC32 (\u003ca href=\"https://github.com/junrar/junrar/commits/5270d23\"\u003e5270d23\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump gradle-wrapper to 9.5.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/cb4b7fd\"\u003ecb4b7fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/0bb56b3\"\u003e0bb56b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/ca621b2\"\u003eca621b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.23.0 to 1.24.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/90f0548\"\u003e90f0548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/83a5d08\"\u003e83a5d08\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.github.ben-manes.versions from 0.53.0 to 0.54.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d5abcdb\"\u003ed5abcdb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated action (\u003ca href=\"https://github.com/junrar/junrar/commits/338efcb\"\u003e338efcb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.9...v7.5.10\"\u003e7.5.10\u003c/a\u003e (2026-04-15)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.9\"\u003e7.5.9\u003c/a\u003e (2026-04-13)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/cb4b7fdb84269e95741fa22120e08ceb15a06152\"\u003e\u003ccode\u003ecb4b7fd\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper to 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/0bb56b3df4e3b6d14f73de92746a2eb47dd2d7a3\"\u003e\u003ccode\u003e0bb56b3\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/ca621b22421f9e846df23112b32113230610c8d9\"\u003e\u003ccode\u003eca621b2\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e0874d213832bbeaa8eb265c79479b01b5fa7392\"\u003e\u003ccode\u003ee0874d2\u003c/code\u003e\u003c/a\u003e feat: support random access for files in solid RAR4 archives\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/90f0548c728b0bf2e94f6e26f9e6396d9d0a7262\"\u003e\u003ccode\u003e90f0548\u003c/code\u003e\u003c/a\u003e build(deps): bump org.jreleaser from 1.23.0 to 1.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/83a5d085dc84991226229fef1515cc902d129241\"\u003e\u003ccode\u003e83a5d08\u003c/code\u003e\u003c/a\u003e build(deps): bump commons-io:commons-io from 2.21.0 to 2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/338efcb5472be051989fbafd7179d561c71722eb\"\u003e\u003ccode\u003e338efcb\u003c/code\u003e\u003c/a\u003e ci: replace deprecated action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/5270d235ade54d96dfc9958ab06f495fbbd169e7\"\u003e\u003ccode\u003e5270d23\u003c/code\u003e\u003c/a\u003e perf: replace RarCRC.checkCrc with java.util.zip.CRC32\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d5abcdb9af988ddfa76e98d80787e15525488332\"\u003e\u003ccode\u003ed5abcdb\u003c/code\u003e\u003c/a\u003e build(deps): bump com.github.ben-manes.versions from 0.53.0 to 0.54.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/edadb28896962fdcf754029bafd0994aaff24530\"\u003e\u003ccode\u003eedadb28\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.10 [skip ci]\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.22.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.22.1...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.glassfish.jaxb:jaxb-runtime` from 4.0.6 to 4.0.8\n\nUpdates `tools.jackson:jackson-bom` from 3.1.0 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/c2ea79e9178f0aaa5e4f381c644140357bfc307e\"\u003e\u003ccode\u003ec2ea79e\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3906b27dcdde8fc6a4fef193147109b70bf2f0dc\"\u003e\u003ccode\u003e3906b27\u003c/code\u003e\u003c/a\u003e Prep for 3.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/b17b616c7dc264cfef26f9dd28eaf54bc40b5c4c\"\u003e\u003ccode\u003eb17b616\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/36cf9995cff15aa3e69786da1d6c52f208fddf8a\"\u003e\u003ccode\u003e36cf999\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0ae1c2ae270dabe8e21700cbcee1c266b54e84f0\"\u003e\u003ccode\u003e0ae1c2a\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3c171ebd5d6c5d8f6e8d4f3614cf9b4f0a8babb9\"\u003e\u003ccode\u003e3c171eb\u003c/code\u003e\u003c/a\u003e Prep for 3.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/8046ced071e0b36747bae0f0a96fa21914de1303\"\u003e\u003ccode\u003e8046ced\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ea00ca4cc59ba656a17a071e30a68387e51d3e0d\"\u003e\u003ccode\u003eea00ca4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0628060381a5b86e3fc07854a27b7453de559b7e\"\u003e\u003ccode\u003e0628060\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/22b8aeec79b87751a41c586404850c526eed1dbe\"\u003e\u003ccode\u003e22b8aee\u003c/code\u003e\u003c/a\u003e Prep for 3.1.1 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-3.1.0...jackson-bom-3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 4.0.3 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnversRevisionRepositoriesRegistrar should reuse \u003ccode\u003e@EnableEnversRepositories\u003c/code\u003e rather than configuring the JPA counterpart \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50039\"\u003e#50039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebFlux Cloud Foundry links endpoint includes query string from received request in resolved links \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50017\"\u003e#50017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImports on a containing test class are ignored when a nested class has imports \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50012\"\u003e#50012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49951\"\u003e#49951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e500 response from env endpoint when supplied pattern is invalid \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49946\"\u003e#49946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49945\"\u003e#49945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP method is lost when configuring excludes in EndpointRequest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49943\"\u003e#49943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor HttpMethod for reactive additional endpoint paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49880\"\u003e#49880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/artemis image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49869\"\u003e#49869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/activemq image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49866\"\u003e#49866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49854\"\u003e#49854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI versioning path strategy should be applied path last as it is not meant to yield \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49800\"\u003e#49800\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs to encourage Java fundamentals for beginners that prefer to learn that way \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50146\"\u003e#50146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP Service Interface Clients still document that API versioning can be configured via properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50126\"\u003e#50126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the observability section of the Lettuce documentation is broken \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50097\"\u003e#50097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJavadoc for StaticResourceLocation.FAVICON doesn't describe icons location \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50085\"\u003e#50085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySamlRelyingPartyConfiguration is missing a Kotlin sample \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50024\"\u003e#50024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect default value for management.httpexchanges.recording.include in configuration metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50019\"\u003e#50019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the Kubernetes documentation when discussing startup probes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50015\"\u003e#50015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in JdbcSessionAutoConfiguration Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49873\"\u003e#49873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify that configuration property default values are not available through the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49851\"\u003e#49851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument the need for Liquibase and Flyway starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49839\"\u003e#49839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKafka documentation refers to deprecated JSON serializer and deserializer classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49826\"\u003e#49826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Elasticsearch Client 9.2.8 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50027\"\u003e#50027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Groovy 5.0.5 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49911\"\u003e#49911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Hibernate 7.2.12.Final \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50134\"\u003e#50134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Jackson Bom 3.1.2 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50051\"\u003e#50051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1\"\u003eJaxen 2.0.1\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50104\"\u003e#50104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5\"\u003eJaybird 6.0.5\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49914\"\u003e#49914\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/8821ad2cd381bb4b9615a61479e1de7305a8ba39\"\u003e\u003ccode\u003e8821ad2\u003c/code\u003e\u003c/a\u003e Release v4.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9e4048a03f17adfe78057a3c4d5b4693305c0ae0\"\u003e\u003ccode\u003e9e4048a\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/20bb11c3984802990572ddbeae8b66885a8f2462\"\u003e\u003ccode\u003e20bb11c\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.15-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/98daa8ea30f39a5b0ca6768b5cbc2dc8698ef4e1\"\u003e\u003ccode\u003e98daa8e\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9dc5aa2863f598a15d3dfa116f4b89249daba7e7\"\u003e\u003ccode\u003e9dc5aa2\u003c/code\u003e\u003c/a\u003e Polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/874f6294b91da18367b8b5ab7b2fad3fa23cfba6\"\u003e\u003ccode\u003e874f629\u003c/code\u003e\u003c/a\u003e Fix default security with actuator but without health\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/e41b3bf731d1134bc18ec1f68ac01e0fe1c54923\"\u003e\u003ccode\u003ee41b3bf\u003c/code\u003e\u003c/a\u003e Enable hostname verification for SSL connections to Elasticsearch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ef8527bb0ef8f564f4f9c57a7be99a7aa96c6ab0\"\u003e\u003ccode\u003eef8527b\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f533a4549c3999aac30cb5830f07dc304933e93d\"\u003e\u003ccode\u003ef533a45\u003c/code\u003e\u003c/a\u003e Do not follow symlinks when writing PID file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4a7bd332b6d19fef1aa4cf28434985f2b03a2e0f\"\u003e\u003ccode\u003e4a7bd33\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.3...v4.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.hibernate.orm` from 7.2.6.Final to 7.3.5.Final\n\nUpdates `com.github.ben-manes.versions` from 0.53.0 to 0.54.0\n\nUpdates `gradle-wrapper` from 9.4.0 to 9.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd78213f09782e62ca4957f9cfd3d90c6c3f1767\"\u003e\u003ccode\u003efd78213\u003c/code\u003e\u003c/a\u003e Update Documentation Infrastructure: Fix scrolling issue in user manual (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37861\"\u003e#37861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7758437128d1c52702786ad719a13ade1b860aa8\"\u003e\u003ccode\u003e7758437\u003c/code\u003e\u003c/a\u003e fix scroll\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2fd605fdcd69fea10570e9eb1343bbd7ca01c9d0\"\u003e\u003ccode\u003e2fd605f\u003c/code\u003e\u003c/a\u003e Only try to run as worker thread in DefaultBuildOperationQueue (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37845\"\u003e#37845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/af6984901238402386ae263d746380504e5f9138\"\u003e\u003ccode\u003eaf69849\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37853\"\u003e#37853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f4d9d03e9bb47d2d17b6d8314fdaa32c3d0b3c1e\"\u003e\u003ccode\u003ef4d9d03\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/01eda3adf40dbe97e81475e813705409dcfe1091\"\u003e\u003ccode\u003e01eda3a\u003c/code\u003e\u003c/a\u003e Address review feedback on worker-lease retry changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7024e15139b2db9df831dd15a8b9e9052acd9a51\"\u003e\u003ccode\u003e7024e15\u003c/code\u003e\u003c/a\u003e Revert enrich file visitor with size info on \u003ccode\u003erelease\u003c/code\u003e branch (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37848\"\u003e#37848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d51476fda21330c037a04b43ec9a93a929d05b87\"\u003e\u003ccode\u003ed51476f\u003c/code\u003e\u003c/a\u003e Fix tryRunAsWorkerThread null-return test to match contract\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/090ebabc5b6f648e01c0269a321d80372fdbfe0f\"\u003e\u003ccode\u003e090ebab\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add getLength() to FilePropertyVisitor.VisitState\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/bceab24677298144860f6919bdcb031e806dbf23\"\u003e\u003ccode\u003ebceab24\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix annotation\u0026quot;\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.0...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/cdome/ollumi/pull/30","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdome%2Follumi/issues/30","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/30/packages"},{"uuid":"4499519012","node_id":"PR_kwDORqdfXc7eL9SP","number":15,"state":"open","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 23 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-22T03:12:52.000Z","updated_at":"2026-05-22T03:16:05.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":23,"packages":[{"name":"org.mariadb.jdbc:mariadb-java-client","old_version":"3.5.7","new_version":"3.5.8","repository_url":"https://github.com/mariadb-corporation/mariadb-connector-j"},{"name":"org.flywaydb:flyway-mysql","old_version":"11.19.0","new_version":"12.6.2"},{"name":"org.projectlombok:lombok","old_version":"1.18.42","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"org.apache.pdfbox:pdfbox","old_version":"3.0.6","new_version":"3.0.7"},{"name":"org.apache.pdfbox:jbig2-imageio","old_version":"3.0.4","new_version":"3.0.5"},{"name":"com.twelvemonkeys.imageio:imageio-jpeg","old_version":"3.13.0","new_version":"3.13.1"},{"name":"io.documentnode:epub4j-core","old_version":"4.2.2","new_version":"4.2.3","repository_url":"https://github.com/documentnode/epub4j"},{"name":"com.github.junrar:junrar","old_version":"7.5.7","new_version":"7.6.0","repository_url":"https://github.com/junrar/junrar"},{"name":"org.jsoup:jsoup","old_version":"1.21.2","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"2.8.14","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.tukaani:xz","old_version":"1.11","new_version":"1.12","repository_url":"https://github.com/tukaani-project/xz-java"},{"name":"tools.jackson:jackson-bom","old_version":"3.0.4","new_version":"3.1.3","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.0","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"org.assertj:assertj-core","old_version":"3.27.6","new_version":"3.27.7","repository_url":"https://github.com/assertj/assertj"},{"name":"org.springframework.boot","old_version":"4.0.2","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.hibernate.orm","old_version":"7.2.0.Final","new_version":"7.3.5.Final"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"gradle-wrapper","old_version":"9.3.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 18 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) | `3.5.7` | `3.5.8` |\n| org.flywaydb:flyway-mysql | `11.19.0` | `12.6.2` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.42` | `1.18.46` |\n| org.apache.pdfbox:pdfbox | `3.0.6` | `3.0.7` |\n| org.apache.pdfbox:jbig2-imageio | `3.0.4` | `3.0.5` |\n| com.twelvemonkeys.imageio:imageio-jpeg | `3.13.0` | `3.13.1` |\n| [io.documentnode:epub4j-core](https://github.com/documentnode/epub4j) | `4.2.2` | `4.2.3` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.7` | `7.6.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.21.2` | `1.22.2` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `2.8.14` | `3.0.3` |\n| [org.tukaani:xz](https://github.com/tukaani-project/xz-java) | `1.11` | `1.12` |\n| [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `3.0.4` | `3.1.3` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.2.0` | `3.2.4` |\n| [org.assertj:assertj-core](https://github.com/assertj/assertj) | `3.27.6` | `3.27.7` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.2` | `4.0.6` |\n| org.hibernate.orm | `7.2.0.Final` | `7.3.5.Final` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.3.1` | `9.5.1` |\n\n\nUpdates `org.mariadb.jdbc:mariadb-java-client` from 3.5.7 to 3.5.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/releases\"\u003eorg.mariadb.jdbc:mariadb-java-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eMariaDB Connector/Java 3.5.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/blob/main/CHANGELOG.md\"\u003eorg.mariadb.jdbc:mariadb-java-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/26b34a2f060070beb73515cfd2a49fabc8728843\"\u003e\u003ccode\u003e26b34a2\u003c/code\u003e\u003c/a\u003e Merge branch 'develop'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/06d6efee7838ab8f89ef0f7f362c6b4a95754630\"\u003e\u003ccode\u003e06d6efe\u003c/code\u003e\u003c/a\u003e bump CI actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a86a83c8fd1fa84d8d4349baab3b29df8f575192\"\u003e\u003ccode\u003ea86a83c\u003c/code\u003e\u003c/a\u003e bump 3.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/975f9919232b21f40d823423eac6e32d87ea8e35\"\u003e\u003ccode\u003e975f991\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to implement Codec directly and extract shared...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/75bb509521661603e0e90dd6dd5942d1382bf499\"\u003e\u003ccode\u003e75bb509\u003c/code\u003e\u003c/a\u003e [misc] code formatting cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/4c0b6a0ddd95f42fa866ce0d08e384caa2553d43\"\u003e\u003ccode\u003e4c0b6a0\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to extend UtilDateCodec and extract common dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a5b7fb1a26277a076052dbbd1a7ee2bacd4f602f\"\u003e\u003ccode\u003ea5b7fb1\u003c/code\u003e\u003c/a\u003e [misc] convert Reader and Writer from interfaces to final class implementatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/d31eb060fc66e9e37479e18a38bb1401d53ecb63\"\u003e\u003ccode\u003ed31eb06\u003c/code\u003e\u003c/a\u003e [misc] convert ReadableByteBuf from interface to final class implementation, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/11d45a9e6ea4d942e75747132bb8982471d890b8\"\u003e\u003ccode\u003e11d45a9\u003c/code\u003e\u003c/a\u003e [misc] optimize binary row decoder null bitmap checks and simplify signed Big...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/5aad14c381cbc2c4e0383ffed275306f359bd508\"\u003e\u003ccode\u003e5aad14c\u003c/code\u003e\u003c/a\u003e [misc] optimize BigInt column decoding and improve type safety in codec inter...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb:flyway-mysql` from 11.19.0 to 12.6.2\n\nUpdates `org.projectlombok:lombok` from 1.18.42 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.44 (March 11th, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFEATURE: \u003ccode\u003e@Jacksonized\u003c/code\u003e now supports both Jackson2 and Jackson3; you'll get a warning until you configure which one (or even both!) you want lombok to generate. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3950\"\u003e#3950\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: On JDK25, \u003ccode\u003eval\u003c/code\u003e and \u003ccode\u003e@ExtensionMethod\u003c/code\u003e could sometimes cause erroneous errors (in that you see errors but compilation succeeds anyway) using javac. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3947\"\u003e#3947\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e + fields marked \u003ccode\u003etransient\u003c/code\u003e would result in those transient fields being serialised which is surprising (and thus undesired) behaviour. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3936\"\u003e#3936\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.42...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.pdfbox:pdfbox` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:pdfbox-io` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:xmpbox` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:jbig2-imageio` from 3.0.4 to 3.0.5\n\nUpdates `com.twelvemonkeys.imageio:imageio-jpeg` from 3.13.0 to 3.13.1\n\nUpdates `com.twelvemonkeys.imageio:imageio-tiff` from 3.13.0 to 3.13.1\n\nUpdates `com.twelvemonkeys.imageio:imageio-webp` from 3.13.0 to 3.13.1\n\nUpdates `com.twelvemonkeys.imageio:imageio-bmp` from 3.13.0 to 3.13.1\n\nUpdates `io.documentnode:epub4j-core` from 4.2.2 to 4.2.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/documentnode/epub4j/commit/4bf55082feba0496f98b867ec03ebec5f393b649\"\u003e\u003ccode\u003e4bf5508\u003c/code\u003e\u003c/a\u003e Migrate Maven Central publishing to new Central Portal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/documentnode/epub4j/commit/b153885ef8aefbe4063a40894c048a5cc2b5a354\"\u003e\u003ccode\u003eb153885\u003c/code\u003e\u003c/a\u003e Load sdkman environment before running gradle commands\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/documentnode/epub4j/compare/v4.2.2...v4.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.junrar:junrar` from 7.5.7 to 7.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.6.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport random access for files in solid RAR4 archives (\u003ca href=\"https://github.com/junrar/junrar/commits/e0874d2\"\u003ee0874d2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🏎 Perf\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereplace RarCRC.checkCrc with java.util.zip.CRC32 (\u003ca href=\"https://github.com/junrar/junrar/commits/5270d23\"\u003e5270d23\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump gradle-wrapper to 9.5.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/cb4b7fd\"\u003ecb4b7fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/0bb56b3\"\u003e0bb56b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/ca621b2\"\u003eca621b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.23.0 to 1.24.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/90f0548\"\u003e90f0548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/83a5d08\"\u003e83a5d08\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.github.ben-manes.versions from 0.53.0 to 0.54.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d5abcdb\"\u003ed5abcdb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated action (\u003ca href=\"https://github.com/junrar/junrar/commits/338efcb\"\u003e338efcb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Gauthier Roebroeck, Robin Schimpf\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier Roebroeck\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.9\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.10...v7.6.0\"\u003e7.6.0\u003c/a\u003e (2026-05-13)\u003c/h1\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport random access for files in solid RAR4 archives (\u003ca href=\"https://github.com/junrar/junrar/commits/e0874d2\"\u003ee0874d2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🏎 Perf\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereplace RarCRC.checkCrc with java.util.zip.CRC32 (\u003ca href=\"https://github.com/junrar/junrar/commits/5270d23\"\u003e5270d23\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump gradle-wrapper to 9.5.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/cb4b7fd\"\u003ecb4b7fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/0bb56b3\"\u003e0bb56b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/ca621b2\"\u003eca621b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.23.0 to 1.24.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/90f0548\"\u003e90f0548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/83a5d08\"\u003e83a5d08\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.github.ben-manes.versions from 0.53.0 to 0.54.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d5abcdb\"\u003ed5abcdb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated action (\u003ca href=\"https://github.com/junrar/junrar/commits/338efcb\"\u003e338efcb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.9...v7.5.10\"\u003e7.5.10\u003c/a\u003e (2026-04-15)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.9\"\u003e7.5.9\u003c/a\u003e (2026-04-13)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/cb4b7fdb84269e95741fa22120e08ceb15a06152\"\u003e\u003ccode\u003ecb4b7fd\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper to 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/0bb56b3df4e3b6d14f73de92746a2eb47dd2d7a3\"\u003e\u003ccode\u003e0bb56b3\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/ca621b22421f9e846df23112b32113230610c8d9\"\u003e\u003ccode\u003eca621b2\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e0874d213832bbeaa8eb265c79479b01b5fa7392\"\u003e\u003ccode\u003ee0874d2\u003c/code\u003e\u003c/a\u003e feat: support random access for files in solid RAR4 archives\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/90f0548c728b0bf2e94f6e26f9e6396d9d0a7262\"\u003e\u003ccode\u003e90f0548\u003c/code\u003e\u003c/a\u003e build(deps): bump org.jreleaser from 1.23.0 to 1.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/83a5d085dc84991226229fef1515cc902d129241\"\u003e\u003ccode\u003e83a5d08\u003c/code\u003e\u003c/a\u003e build(deps): bump commons-io:commons-io from 2.21.0 to 2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/338efcb5472be051989fbafd7179d561c71722eb\"\u003e\u003ccode\u003e338efcb\u003c/code\u003e\u003c/a\u003e ci: replace deprecated action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/5270d235ade54d96dfc9958ab06f495fbbd169e7\"\u003e\u003ccode\u003e5270d23\u003c/code\u003e\u003c/a\u003e perf: replace RarCRC.checkCrc with java.util.zip.CRC32\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d5abcdb9af988ddfa76e98d80787e15525488332\"\u003e\u003ccode\u003ed5abcdb\u003c/code\u003e\u003c/a\u003e build(deps): bump com.github.ben-manes.versions from 0.53.0 to 0.54.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/edadb28896962fdcf754029bafd0994aaff24530\"\u003e\u003ccode\u003eedadb28\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.10 [skip ci]\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.7...v7.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.21.2 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.1\u003c/strong\u003e is out now, adding support for the \u003ccode\u003ere2j\u003c/code\u003e regular expression engine for regex-based CSS selectors, a configurable maximum parser depth, and numerous bug fixes and improvements.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jsoup.org/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for using the \u003ccode\u003ere2j\u003c/code\u003e regular expression engine for regex-based CSS selectors (e.g. \u003ccode\u003e[attr~=regex]\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e), which ensures linear-time performance for regex evaluation. This allows safer handling of arbitrary user-supplied query regexes. To enable, add the \u003ccode\u003ecom.google.re2j\u003c/code\u003e dependency to your classpath, e.g.:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"xml\"\u003e\u003ccode\u003e  \u0026lt;dependency\u0026gt;\r\n    \u0026lt;groupId\u0026gt;com.google.re2j\u0026lt;/groupId\u0026gt;\r\n    \u0026lt;artifactId\u0026gt;re2j\u0026lt;/artifactId\u0026gt;\r\n    \u0026lt;version\u0026gt;1.8\u0026lt;/version\u0026gt;\r\n  \u0026lt;/dependency\u0026gt;\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e(If you already have that dependency in your classpath, but you want to keep using the Java regex engine, you can disable re2j via \u003ccode\u003eSystem.setProperty(\u0026quot;jsoup.useRe2j\u0026quot;, \u0026quot;false\u0026quot;)\u003c/code\u003e.) You can confirm that the re2j engine has been enabled correctly by calling \u003ccode\u003eRegex.usingRe2j()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2407\"\u003e#2407\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.22.1 (2026-Jan-01)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for using the \u003ccode\u003ere2j\u003c/code\u003e regular expression engine for regex-based CSS selectors (e.g. \u003ccode\u003e[attr~=regex]\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e), which ensures linear-time performance for regex evaluation. This allows safer handling of arbitrary user-supplied query regexes. To enable, add the \u003ccode\u003ecom.google.re2j\u003c/code\u003e dependency to your classpath, e.g.:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"xml\"\u003e\u003ccode\u003e  \u0026lt;dependency\u0026gt;\n    \u0026lt;groupId\u0026gt;com.google.re2j\u0026lt;/groupId\u0026gt;\n    \u0026lt;artifactId\u0026gt;re2j\u0026lt;/artifactId\u0026gt;\n    \u0026lt;version\u0026gt;1.8\u0026lt;/version\u0026gt;\n  \u0026lt;/dependency\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e(If you already have that dependency in your classpath, but you want to keep using the Java regex engine, you can disable re2j via \u003ccode\u003eSystem.setProperty(\u0026quot;jsoup.useRe2j\u0026quot;, \u0026quot;false\u0026quot;)\u003c/code\u003e.) You can confirm that the re2j engine has been enabled correctly by calling \u003ccode\u003eorg.jsoup.helper.Regex.usingRe2j()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2407\"\u003e#2407\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an instance method \u003ccode\u003eParser#unescape(String, boolean)\u003c/code\u003e that unescapes HTML entities using the parser's configuration (e.g. to support error tracking), complementing the existing static utility \u003ccode\u003eParser.unescapeEntities(String, boolean)\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2396\"\u003e#2396\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded a configurable maximum parser depth (to limit the number of open elements on stack) to both HTML and XML parsers. The HTML parser now defaults to a depth of 512 to match browser behavior, and protect against unbounded stack growth, while the XML parser keeps unlimited depth by default, but can opt into a limit via \u003ccode\u003eorg.jsoup.parser.Parser#setMaxDepth\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2421\"\u003e#2421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild: added CI coverage for JDK 25 \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2403\"\u003e#2403\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild: added a CI fuzzer for contextual fragment parsing (in addition to existing full body HTML and XML fuzzers). [oss-fuzz \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/14041\"\u003e#14041\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/google/oss-fuzz/pull/14041\"\u003egoogle/oss-fuzz#14041\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSet a removal schedule of jsoup 1.24.1 for previously deprecated APIs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreviously cached child \u003ccode\u003eElements\u003c/code\u003e of an \u003ccode\u003eElement\u003c/code\u003e were not correctly invalidated in \u003ccode\u003eNode#replaceWith(Node)\u003c/code\u003e, which could lead to incorrect results when subsequently calling \u003ccode\u003eElement#children()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2391\"\u003e#2391\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAttribute selector values are now compared literally without trimming. Previously, jsoup trimmed whitespace from selector values and from element attribute values, which could cause mismatches with browser behavior (e.g. \u003ccode\u003e[attr=\u0026quot; foo \u0026quot;]\u003c/code\u003e). Now matches align with the CSS specification and browser engines. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2380\"\u003e#2380\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using the JDK HttpClient, any system default proxy (\u003ccode\u003eProxySelector.getDefault()\u003c/code\u003e) was ignored. Now, the system proxy is used if a per-request proxy is not set. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2388\"\u003e#2388\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2390\"\u003e#2390\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003eValidationException\u003c/code\u003e could be thrown in the adoption agency algorithm with particularly broken input. Now logged as a parse error. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2393\"\u003e#2393\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNull characters in the HTML body were not consistently removed; and in foreign content were not correctly replaced. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2395\"\u003e#2395\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAn \u003ccode\u003eIndexOutOfBoundsException\u003c/code\u003e could be thrown when parsing a body fragment with crafted input. Now logged as a parse error. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2397\"\u003e#2397\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2406\"\u003e#2406\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using StructuralEvaluators (e.g., a \u003ccode\u003eparent child\u003c/code\u003e selector) across many retained threads, their memoized results could also be retained, increasing memory use. These results are now cleared immediately after use, reducing overall memory consumption. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2411\"\u003e#2411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCloning a \u003ccode\u003eParser\u003c/code\u003e now preserves any custom \u003ccode\u003eTagSet\u003c/code\u003e applied to the parser. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2422\"\u003e#2422\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2423\"\u003e#2423\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.21.2...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 2.8.14 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003espringdoc-openapi v3.0.2 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3229\"\u003e#3229\u003c/a\u003e – Add support for Spring Framework API Versioning with Functional Endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3208\"\u003e#3208\u003c/a\u003e – Add \u003ccode\u003espringdoc.swagger-ui.document-title\u003c/code\u003e property\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.3\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.43\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Scalar to version \u003cstrong\u003e0.5.55\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3232\"\u003e#3232\u003c/a\u003e – Gracefully handle springdoc endpoint paths during API version resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3230\"\u003e#3230\u003c/a\u003e – Scalar source URLs resolve to \u003ccode\u003enull/\u0026lt;groupName\u0026gt;\u003c/code\u003e on second request when using \u003ccode\u003eGroupedOpenApi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3228\"\u003e#3228\u003c/a\u003e – springdoc-openapi-starter 3.x doesn't depend on \u003ccode\u003eorg.springframework.boot:spring-boot-starter\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.0.2] - 2026-02-27\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3229\"\u003e#3229\u003c/a\u003e – Add support for Spring Framework API Versioning with Functional Endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3208\"\u003e#3208\u003c/a\u003e – Add \u003ccode\u003espringdoc.swagger-ui.document-title\u003c/code\u003e property\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.3\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.43\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Scalar to version \u003cstrong\u003e0.5.55\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3232\"\u003e#3232\u003c/a\u003e – Gracefully handle springdoc endpoint paths during API version resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3230\"\u003e#3230\u003c/a\u003e – Scalar source URLs resolve to \u003ccode\u003enull/\u0026lt;groupName\u0026gt;\u003c/code\u003e on second request when using \u003ccode\u003eGroupedOpenApi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3228\"\u003e#3228\u003c/a\u003e – springdoc-openapi-starter 3.x doesn't depend on \u003ccode\u003eorg.springframework.boot:spring-boot-starter\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3220\"\u003e#3220\u003c/a\u003e – Reachability metadata not compatible with GraalVM 25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3195\"\u003e#3195\u003c/a\u003e – Application won't compile when OpenApi and spring-boot-data-rest is present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3193\"\u003e#3193\u003c/a\u003e – \u003ccode\u003eOpenApi\u003c/code\u003e field in \u003ccode\u003eSpringDocConfigProperties\u003c/code\u003e does not comply with camel case naming conventions\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v2.8.14...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.tukaani:xz` from 1.11 to 1.12\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tukaani-project/xz-java/blob/master/NEWS.md\"\u003eorg.tukaani:xz's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.12 (2026-03-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix ArrayIndexOutOfBoundsException in the LZMA/LZMA2 encoder on\nx86-64 and ARM64 when running on Java 9 or newer. The affected\ncode isn't used on Java 8. The bug is present in versions 1.10\nand 1.11. If one cannot upgrade, one should set the property\n\u003ccode\u003eorg.tukaani.xz.MatchLengthFinder=Basic\u003c/code\u003e to disable the affected\ncode path.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix ArrayCache usage in LZMAInputStream. If ArrayCache was enabled,\ndecompression was likely to fail quickly when the cache returns a\ncached array. ArrayCache is disabled by default.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe binaries of 1.12 in the Maven Central require Java 8 and\ncontain optimized classes for Java \u0026gt;= 9 as multi-release JAR.\nThey were built with OpenJDK 21.0.10 on GNU/Linux and can be\nreproduced using the following command:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eSOURCE_DATE_EPOCH=1772370000 TZ=UTC0 ant maven\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/107a519fac1e6789101ad9c234afe3dc407be7f5\"\u003e\u003ccode\u003e107a519\u003c/code\u003e\u003c/a\u003e Bump the version number to 1.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/3061152e66a8ea2cc6366fd5da21409b8a3d4788\"\u003e\u003ccode\u003e3061152\u003c/code\u003e\u003c/a\u003e Update NEWS.md for 1.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/0ecee25c1590dae305135317cf6e768f49093af7\"\u003e\u003ccode\u003e0ecee25\u003c/code\u003e\u003c/a\u003e Refactor EXTRA_SIZE to getExtraSize()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/ac1aeb197dd8589dc6892f13f5ef68801383ec34\"\u003e\u003ccode\u003eac1aeb1\u003c/code\u003e\u003c/a\u003e Fix ArrayIndexOutOfBoundsException in the LZMA/LZMA2 encoder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/12c75fd1d06ef7db89335d3da1ca5bb91ab6ac0b\"\u003e\u003ccode\u003e12c75fd\u003c/code\u003e\u003c/a\u003e Fix ArrayCache usage with LZMAInputStream\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/e52d9ad621afcaa422668484bad91ce7ba0506ef\"\u003e\u003ccode\u003ee52d9ad\u003c/code\u003e\u003c/a\u003e SHA256SUMS: Add 1.11 files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/9a755ec5335de00ce365b365b72e4683e591171f\"\u003e\u003ccode\u003e9a755ec\u003c/code\u003e\u003c/a\u003e CI: Add missing SPDX tags\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tukaani-project/xz-java/compare/v1.11...v1.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tools.jackson:jackson-bom` from 3.0.4 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/c2ea79e9178f0aaa5e4f381c644140357bfc307e\"\u003e\u003ccode\u003ec2ea79e\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3906b27dcdde8fc6a4fef193147109b70bf2f0dc\"\u003e\u003ccode\u003e3906b27\u003c/code\u003e\u003c/a\u003e Prep for 3.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/b17b616c7dc264cfef26f9dd28eaf54bc40b5c4c\"\u003e\u003ccode\u003eb17b616\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/36cf9995cff15aa3e69786da1d6c52f208fddf8a\"\u003e\u003ccode\u003e36cf999\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0ae1c2ae270dabe8e21700cbcee1c266b54e84f0\"\u003e\u003ccode\u003e0ae1c2a\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3c171ebd5d6c5d8f6e8d4f3614cf9b4f0a8babb9\"\u003e\u003ccode\u003e3c171eb\u003c/code\u003e\u003c/a\u003e Prep for 3.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/8046ced071e0b36747bae0f0a96fa21914de1303\"\u003e\u003ccode\u003e8046ced\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ea00ca4cc59ba656a17a071e30a68387e51d3e0d\"\u003e\u003ccode\u003eea00ca4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0628060381a5b86e3fc07854a27b7453de559b7e\"\u003e\u003ccode\u003e0628060\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/22b8aeec79b87751a41c586404850c526eed1dbe\"\u003e\u003ccode\u003e22b8aee\u003c/code\u003e\u003c/a\u003e Prep for 3.1.1 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-3.0.4...jackson-bom-3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.0 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.2.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed frequency tracking of weak keys to use the object's identity hash code (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1902\"\u003e#1902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for underscores in \u003ccode\u003eCaffeineSpec\u003c/code\u003e when using numeric literals (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1890\"\u003e#1890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved the external api to no longer lock when querying for the maximum size or weighted size (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1897\"\u003e#1897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded detection and recovery when a custom \u003ccode\u003eCompletableFuture\u003c/code\u003e is in an inconsistent state (\u003ca href=\"https://redirect.github.com/quarkusio/quarkus/issues/50513\"\u003equarkus#50513\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.2.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed characteristics returned by Spliterators (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1883\"\u003e#1883\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e for an async cache's synchronous view to retry if incomplete\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eCaffeineSpec\u003c/code\u003e when being reflectively constructed (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1839\"\u003e#1839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved the handling of negative durations with variable expiration\u003c/li\u003e\n\u003cli\u003eFixed intermittent null after replacing a weak/soft value (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1820\"\u003e#1820\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.0...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.assertj:assertj-core` from 3.27.6 to 3.27.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/assertj/assertj/releases\"\u003eorg.assertj:assertj-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.27.7\u003c/h2\u003e\n\u003ch2\u003e:lock: Security\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix XXE vulnerability in \u003ccode\u003eisXmlEqualTo\u003c/code\u003e assertion (CVE-2026-24400)\n\u003cul\u003e\n\u003cli\u003eSee GHSA-rqfh-9r24-8c9r for details; many thanks to \u003ca href=\"https://github.com/wxt201\"\u003e\u003ccode\u003e@​wxt201\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Song-Li\"\u003e\u003ccode\u003e@​Song-Li\u003c/code\u003e\u003c/a\u003e for responsibly reporting it!\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:no_entry_sign: Deprecated\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eXmlStringPrettyFormatter\u003c/code\u003e with no replacement\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:bug: Bug Fixes\u003c/h2\u003e\n\u003ch3\u003eGuava\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNavigation to \u003ccode\u003eassertj-core\u003c/code\u003e or \u003ccode\u003eguava\u003c/code\u003e types from \u003ccode\u003eassertj-guava\u003c/code\u003e Javadoc site has unnecessary header \u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3478\"\u003e#3478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Byte Buddy 1.18.3\u003c/li\u003e\n\u003cli\u003eUpgrade to JUnit BOM 5.14.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eGuava\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Guava 33.5.0-jre\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/e84071667f5f8f13084af9dfa54cee5fd9db18db\"\u003e\u003ccode\u003ee840716\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release assertj-build-3.27.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/85ca7eb6609bb179c043b85ae7d290523b1ba79a\"\u003e\u003ccode\u003e85ca7eb\u003c/code\u003e\u003c/a\u003e Deprecate \u003ccode\u003eXmlStringPrettyFormatter\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/77081dc5eb107141df80f95bd0149b468e451341\"\u003e\u003ccode\u003e77081dc\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/b68fc24a9de28f28a486fc5b887c1b8a003a5823\"\u003e\u003ccode\u003eb68fc24\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.31.9 to 4.31.10 in the github-actions group ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/0cf5bb6c50f6ead3deaa2a2ff50ef1e7d933c8a3\"\u003e\u003ccode\u003e0cf5bb6\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003ekotlin.version\u003c/code\u003e from 2.1.0 to 2.2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/d393ef1f5e48c89d47d7cf6d1eae359ceda0a126\"\u003e\u003ccode\u003ed393ef1\u003c/code\u003e\u003c/a\u003e Abort tests when symbolic links cannot be created (\u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3788\"\u003e#3788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/22124331e9922af5a43ab50f7a9a25b65be53be1\"\u003e\u003ccode\u003e2212433\u003c/code\u003e\u003c/a\u003e Add IntelliJ custom inspection for test class names\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/5717d025cfe0f4c66de20f3253c0b0ecba259aa1\"\u003e\u003ccode\u003e5717d02\u003c/code\u003e\u003c/a\u003e Update JetBrains icon\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/a8ec20bd42ed01f9cc6f654046c7dd424b0af07c\"\u003e\u003ccode\u003ea8ec20b\u003c/code\u003e\u003c/a\u003e Add icon for JetBrains products\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/c05fb3d052b415fb2d6051df939f3b7903a76afe\"\u003e\u003ccode\u003ec05fb3d\u003c/code\u003e\u003c/a\u003e Bump Maven to 3.9.12 and Wrapper to 3.3.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/assertj/assertj/compare/assertj-build-3.27.6...assertj-build-3.27.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 4.0.2 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a...\n\n_Description has been truncated_","html_url":"https://github.com/BlindMint/booklore/pull/15","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlindMint%2Fbooklore/issues/15","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/15/packages"},{"uuid":"4499518853","node_id":"PR_kwDORprh4c7eL9QV","number":40,"state":"open","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 15 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-22T03:12:50.000Z","updated_at":"2026-05-22T03:17:36.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":15,"packages":[{"name":"org.mariadb.jdbc:mariadb-java-client","old_version":"3.5.7","new_version":"3.5.8","repository_url":"https://github.com/mariadb-corporation/mariadb-connector-j"},{"name":"org.flywaydb:flyway-mysql","old_version":"12.1.1","new_version":"12.6.2"},{"name":"org.projectlombok:lombok","old_version":"1.18.44","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"org.apache.pdfbox:jbig2-imageio","old_version":"3.0.4","new_version":"3.0.5"},{"name":"com.github.RouHim:jaudiotagger","old_version":"2.0.18","new_version":"2.0.21"},{"name":"com.github.junrar:junrar","old_version":"7.5.8","new_version":"7.6.0","repository_url":"https://github.com/junrar/junrar"},{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"4.0.7","new_version":"4.0.8"},{"name":"tools.jackson:jackson-bom","old_version":"3.1.0","new_version":"3.1.3","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"org.springframework.boot","old_version":"4.0.3","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.hibernate.orm","old_version":"7.3.0.Final","new_version":"7.3.5.Final"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"gradle-wrapper","old_version":"9.4.0","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 15 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) | `3.5.7` | `3.5.8` |\n| org.flywaydb:flyway-mysql | `12.1.1` | `12.6.2` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.44` | `1.18.46` |\n| org.apache.pdfbox:jbig2-imageio | `3.0.4` | `3.0.5` |\n| com.github.RouHim:jaudiotagger | `2.0.18` | `2.0.21` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.8` | `7.6.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `3.0.2` | `3.0.3` |\n| org.glassfish.jaxb:jaxb-runtime | `4.0.7` | `4.0.8` |\n| [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `3.1.0` | `3.1.3` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.2.3` | `3.2.4` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.3` | `4.0.6` |\n| org.hibernate.orm | `7.3.0.Final` | `7.3.5.Final` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.0` | `9.5.1` |\n\n\nUpdates `org.mariadb.jdbc:mariadb-java-client` from 3.5.7 to 3.5.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/releases\"\u003eorg.mariadb.jdbc:mariadb-java-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eMariaDB Connector/Java 3.5.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/blob/main/CHANGELOG.md\"\u003eorg.mariadb.jdbc:mariadb-java-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/26b34a2f060070beb73515cfd2a49fabc8728843\"\u003e\u003ccode\u003e26b34a2\u003c/code\u003e\u003c/a\u003e Merge branch 'develop'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/06d6efee7838ab8f89ef0f7f362c6b4a95754630\"\u003e\u003ccode\u003e06d6efe\u003c/code\u003e\u003c/a\u003e bump CI actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a86a83c8fd1fa84d8d4349baab3b29df8f575192\"\u003e\u003ccode\u003ea86a83c\u003c/code\u003e\u003c/a\u003e bump 3.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/975f9919232b21f40d823423eac6e32d87ea8e35\"\u003e\u003ccode\u003e975f991\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to implement Codec directly and extract shared...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/75bb509521661603e0e90dd6dd5942d1382bf499\"\u003e\u003ccode\u003e75bb509\u003c/code\u003e\u003c/a\u003e [misc] code formatting cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/4c0b6a0ddd95f42fa866ce0d08e384caa2553d43\"\u003e\u003ccode\u003e4c0b6a0\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to extend UtilDateCodec and extract common dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a5b7fb1a26277a076052dbbd1a7ee2bacd4f602f\"\u003e\u003ccode\u003ea5b7fb1\u003c/code\u003e\u003c/a\u003e [misc] convert Reader and Writer from interfaces to final class implementatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/d31eb060fc66e9e37479e18a38bb1401d53ecb63\"\u003e\u003ccode\u003ed31eb06\u003c/code\u003e\u003c/a\u003e [misc] convert ReadableByteBuf from interface to final class implementation, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/11d45a9e6ea4d942e75747132bb8982471d890b8\"\u003e\u003ccode\u003e11d45a9\u003c/code\u003e\u003c/a\u003e [misc] optimize binary row decoder null bitmap checks and simplify signed Big...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/5aad14c381cbc2c4e0383ffed275306f359bd508\"\u003e\u003ccode\u003e5aad14c\u003c/code\u003e\u003c/a\u003e [misc] optimize BigInt column decoding and improve type safety in codec inter...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb:flyway-mysql` from 12.1.1 to 12.6.2\n\nUpdates `org.projectlombok:lombok` from 1.18.44 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.44...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.pdfbox:jbig2-imageio` from 3.0.4 to 3.0.5\n\nUpdates `com.github.RouHim:jaudiotagger` from 2.0.18 to 2.0.21\n\nUpdates `com.github.junrar:junrar` from 7.5.8 to 7.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.6.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport random access for files in solid RAR4 archives (\u003ca href=\"https://github.com/junrar/junrar/commits/e0874d2\"\u003ee0874d2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🏎 Perf\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereplace RarCRC.checkCrc with java.util.zip.CRC32 (\u003ca href=\"https://github.com/junrar/junrar/commits/5270d23\"\u003e5270d23\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump gradle-wrapper to 9.5.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/cb4b7fd\"\u003ecb4b7fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/0bb56b3\"\u003e0bb56b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/ca621b2\"\u003eca621b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.23.0 to 1.24.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/90f0548\"\u003e90f0548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/83a5d08\"\u003e83a5d08\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.github.ben-manes.versions from 0.53.0 to 0.54.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d5abcdb\"\u003ed5abcdb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated action (\u003ca href=\"https://github.com/junrar/junrar/commits/338efcb\"\u003e338efcb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Gauthier Roebroeck, Robin Schimpf\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier Roebroeck\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.9\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.10...v7.6.0\"\u003e7.6.0\u003c/a\u003e (2026-05-13)\u003c/h1\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport random access for files in solid RAR4 archives (\u003ca href=\"https://github.com/junrar/junrar/commits/e0874d2\"\u003ee0874d2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🏎 Perf\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereplace RarCRC.checkCrc with java.util.zip.CRC32 (\u003ca href=\"https://github.com/junrar/junrar/commits/5270d23\"\u003e5270d23\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump gradle-wrapper to 9.5.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/cb4b7fd\"\u003ecb4b7fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/0bb56b3\"\u003e0bb56b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/ca621b2\"\u003eca621b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.23.0 to 1.24.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/90f0548\"\u003e90f0548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/83a5d08\"\u003e83a5d08\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.github.ben-manes.versions from 0.53.0 to 0.54.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d5abcdb\"\u003ed5abcdb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated action (\u003ca href=\"https://github.com/junrar/junrar/commits/338efcb\"\u003e338efcb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.9...v7.5.10\"\u003e7.5.10\u003c/a\u003e (2026-04-15)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.9\"\u003e7.5.9\u003c/a\u003e (2026-04-13)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/cb4b7fdb84269e95741fa22120e08ceb15a06152\"\u003e\u003ccode\u003ecb4b7fd\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper to 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/0bb56b3df4e3b6d14f73de92746a2eb47dd2d7a3\"\u003e\u003ccode\u003e0bb56b3\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/ca621b22421f9e846df23112b32113230610c8d9\"\u003e\u003ccode\u003eca621b2\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e0874d213832bbeaa8eb265c79479b01b5fa7392\"\u003e\u003ccode\u003ee0874d2\u003c/code\u003e\u003c/a\u003e feat: support random access for files in solid RAR4 archives\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/90f0548c728b0bf2e94f6e26f9e6396d9d0a7262\"\u003e\u003ccode\u003e90f0548\u003c/code\u003e\u003c/a\u003e build(deps): bump org.jreleaser from 1.23.0 to 1.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/83a5d085dc84991226229fef1515cc902d129241\"\u003e\u003ccode\u003e83a5d08\u003c/code\u003e\u003c/a\u003e build(deps): bump commons-io:commons-io from 2.21.0 to 2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/338efcb5472be051989fbafd7179d561c71722eb\"\u003e\u003ccode\u003e338efcb\u003c/code\u003e\u003c/a\u003e ci: replace deprecated action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/5270d235ade54d96dfc9958ab06f495fbbd169e7\"\u003e\u003ccode\u003e5270d23\u003c/code\u003e\u003c/a\u003e perf: replace RarCRC.checkCrc with java.util.zip.CRC32\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d5abcdb9af988ddfa76e98d80787e15525488332\"\u003e\u003ccode\u003ed5abcdb\u003c/code\u003e\u003c/a\u003e build(deps): bump com.github.ben-manes.versions from 0.53.0 to 0.54.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/edadb28896962fdcf754029bafd0994aaff24530\"\u003e\u003ccode\u003eedadb28\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.10 [skip ci]\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.22.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.22.1...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.glassfish.jaxb:jaxb-runtime` from 4.0.7 to 4.0.8\n\nUpdates `tools.jackson:jackson-bom` from 3.1.0 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/c2ea79e9178f0aaa5e4f381c644140357bfc307e\"\u003e\u003ccode\u003ec2ea79e\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3906b27dcdde8fc6a4fef193147109b70bf2f0dc\"\u003e\u003ccode\u003e3906b27\u003c/code\u003e\u003c/a\u003e Prep for 3.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/b17b616c7dc264cfef26f9dd28eaf54bc40b5c4c\"\u003e\u003ccode\u003eb17b616\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/36cf9995cff15aa3e69786da1d6c52f208fddf8a\"\u003e\u003ccode\u003e36cf999\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0ae1c2ae270dabe8e21700cbcee1c266b54e84f0\"\u003e\u003ccode\u003e0ae1c2a\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3c171ebd5d6c5d8f6e8d4f3614cf9b4f0a8babb9\"\u003e\u003ccode\u003e3c171eb\u003c/code\u003e\u003c/a\u003e Prep for 3.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/8046ced071e0b36747bae0f0a96fa21914de1303\"\u003e\u003ccode\u003e8046ced\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ea00ca4cc59ba656a17a071e30a68387e51d3e0d\"\u003e\u003ccode\u003eea00ca4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0628060381a5b86e3fc07854a27b7453de559b7e\"\u003e\u003ccode\u003e0628060\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/22b8aeec79b87751a41c586404850c526eed1dbe\"\u003e\u003ccode\u003e22b8aee\u003c/code\u003e\u003c/a\u003e Prep for 3.1.1 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-3.1.0...jackson-bom-3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 4.0.3 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnversRevisionRepositoriesRegistrar should reuse \u003ccode\u003e@EnableEnversRepositories\u003c/code\u003e rather than configuring the JPA counterpart \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50039\"\u003e#50039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebFlux Cloud Foundry links endpoint includes query string from received request in resolved links \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50017\"\u003e#50017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImports on a containing test class are ignored when a nested class has imports \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50012\"\u003e#50012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49951\"\u003e#49951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e500 response from env endpoint when supplied pattern is invalid \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49946\"\u003e#49946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49945\"\u003e#49945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP method is lost when configuring excludes in EndpointRequest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49943\"\u003e#49943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor HttpMethod for reactive additional endpoint paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49880\"\u003e#49880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/artemis image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49869\"\u003e#49869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/activemq image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49866\"\u003e#49866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49854\"\u003e#49854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI versioning path strategy should be applied path last as it is not meant to yield \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49800\"\u003e#49800\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs to encourage Java fundamentals for beginners that prefer to learn that way \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50146\"\u003e#50146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP Service Interface Clients still document that API versioning can be configured via properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50126\"\u003e#50126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the observability section of the Lettuce documentation is broken \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50097\"\u003e#50097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJavadoc for StaticResourceLocation.FAVICON doesn't describe icons location \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50085\"\u003e#50085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySamlRelyingPartyConfiguration is missing a Kotlin sample \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50024\"\u003e#50024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect default value for management.httpexchanges.recording.include in configuration metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50019\"\u003e#50019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the Kubernetes documentation when discussing startup probes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50015\"\u003e#50015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in JdbcSessionAutoConfiguration Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49873\"\u003e#49873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify that configuration property default values are not available through the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49851\"\u003e#49851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument the need for Liquibase and Flyway starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49839\"\u003e#49839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKafka documentation refers to deprecated JSON serializer and deserializer classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49826\"\u003e#49826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Elasticsearch Client 9.2.8 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50027\"\u003e#50027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Groovy 5.0.5 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49911\"\u003e#49911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Hibernate 7.2.12.Final \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50134\"\u003e#50134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Jackson Bom 3.1.2 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50051\"\u003e#50051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1\"\u003eJaxen 2.0.1\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50104\"\u003e#50104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5\"\u003eJaybird 6.0.5\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49914\"\u003e#49914\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/8821ad2cd381bb4b9615a61479e1de7305a8ba39\"\u003e\u003ccode\u003e8821ad2\u003c/code\u003e\u003c/a\u003e Release v4.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9e4048a03f17adfe78057a3c4d5b4693305c0ae0\"\u003e\u003ccode\u003e9e4048a\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/20bb11c3984802990572ddbeae8b66885a8f2462\"\u003e\u003ccode\u003e20bb11c\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.15-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/98daa8ea30f39a5b0ca6768b5cbc2dc8698ef4e1\"\u003e\u003ccode\u003e98daa8e\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9dc5aa2863f598a15d3dfa116f4b89249daba7e7\"\u003e\u003ccode\u003e9dc5aa2\u003c/code\u003e\u003c/a\u003e Polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/874f6294b91da18367b8b5ab7b2fad3fa23cfba6\"\u003e\u003ccode\u003e874f629\u003c/code\u003e\u003c/a\u003e Fix default security with actuator but without health\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/e41b3bf731d1134bc18ec1f68ac01e0fe1c54923\"\u003e\u003ccode\u003ee41b3bf\u003c/code\u003e\u003c/a\u003e Enable hostname verification for SSL connections to Elasticsearch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ef8527bb0ef8f564f4f9c57a7be99a7aa96c6ab0\"\u003e\u003ccode\u003eef8527b\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f533a4549c3999aac30cb5830f07dc304933e93d\"\u003e\u003ccode\u003ef533a45\u003c/code\u003e\u003c/a\u003e Do not follow symlinks when writing PID file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4a7bd332b6d19fef1aa4cf28434985f2b03a2e0f\"\u003e\u003ccode\u003e4a7bd33\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.3...v4.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.hibernate.orm` from 7.3.0.Final to 7.3.5.Final\n\nUpdates `com.github.ben-manes.versions` from 0.53.0 to 0.54.0\n\nUpdates `gradle-wrapper` from 9.4.0 to 9.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd78213f09782e62ca4957f9cfd3d90c6c3f1767\"\u003e\u003ccode\u003efd78213\u003c/code\u003e\u003c/a\u003e Update Documentation Infrastructure: Fix scrolling issue in user manual (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37861\"\u003e#37861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7758437128d1c52702786ad719a13ade1b860aa8\"\u003e\u003ccode\u003e7758437\u003c/code\u003e\u003c/a\u003e fix scroll\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2fd605fdcd69fea10570e9eb1343bbd7ca01c9d0\"\u003e\u003ccode\u003e2fd605f\u003c/code\u003e\u003c/a\u003e Only try to run as worker thread in DefaultBuildOperationQueue (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37845\"\u003e#37845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/af6984901238402386ae263d746380504e5f9138\"\u003e\u003ccode\u003eaf69849\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37853\"\u003e#37853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f4d9d03e9bb47d2d17b6d8314fdaa32c3d0b3c1e\"\u003e\u003ccode\u003ef4d9d03\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/01eda3adf40dbe97e81475e813705409dcfe1091\"\u003e\u003ccode\u003e01eda3a\u003c/code\u003e\u003c/a\u003e Address review feedback on worker-lease retry changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7024e15139b2db9df831dd15a8b9e9052acd9a51\"\u003e\u003ccode\u003e7024e15\u003c/code\u003e\u003c/a\u003e Revert enrich file visitor with size info on \u003ccode\u003erelease\u003c/code\u003e branch (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37848\"\u003e#37848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d51476fda21330c037a04b43ec9a93a929d05b87\"\u003e\u003ccode\u003ed51476f\u003c/code\u003e\u003c/a\u003e Fix tryRunAsWorkerThread null-return test to match contract\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/090ebabc5b6f648e01c0269a321d80372fdbfe0f\"\u003e\u003ccode\u003e090ebab\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add getLength() to FilePropertyVisitor.VisitState\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/bceab24677298144860f6919bdcb031e806dbf23\"\u003e\u003ccode\u003ebceab24\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix annotation\u0026quot;\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.0...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/Owemeone/grimmory/pull/40","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Owemeone%2Fgrimmory/issues/40","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/40/packages"},{"uuid":"4490923096","node_id":"PR_kwDODf4ejs7dv_2n","number":60,"state":"closed","title":"build(deps): bump the gradle group across 1 directory with 32 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-23T07:07:49.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-21T01:10:13.000Z","updated_at":"2026-05-23T07:07:51.000Z","time_to_close":194256,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"gradle","update_count":32,"packages":[{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"commons-io:commons-io","old_version":"2.21.0","new_version":"2.22.0"},{"name":"com.fasterxml.jackson:jackson-bom","old_version":"2.21.2","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"org.flywaydb:flyway-core","old_version":"12.3.0","new_version":"12.6.1"},{"name":"org.flywaydb:flyway-database-hsqldb","old_version":"12.3.0","new_version":"12.6.1"},{"name":"org.xerial:sqlite-jdbc","old_version":"3.51.3.0","new_version":"3.53.1.0","repository_url":"https://github.com/xerial/sqlite-jdbc"},{"name":"org.graalvm.js:js-community","old_version":"25.0.2","new_version":"25.0.3","repository_url":"https://github.com/oracle/graal"},{"name":"org.graalvm.js:js-scriptengine","old_version":"25.0.2","new_version":"25.0.3","repository_url":"https://github.com/graalvm/graaljs"},{"name":"com.graphql-java:graphql-java","old_version":"25.0","new_version":"26.0","repository_url":"https://github.com/graphql-java/graphql-java"},{"name":"org.apache.groovy:groovy-all","old_version":"5.0.5","new_version":"5.0.6","repository_url":"https://github.com/apache/groovy"},{"name":"io.grpc:grpc-protobuf","old_version":"1.80.0","new_version":"1.81.0","repository_url":"https://github.com/grpc/grpc-java"},{"name":"com.drewnoakes:metadata-extractor","old_version":"2.19.0","new_version":"2.20.0","repository_url":"https://github.com/drewnoakes/metadata-extractor"},{"name":"dev.langchain4j:langchain4j","old_version":"1.12.2","new_version":"1.15.0","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"dev.langchain4j:langchain4j-azure-open-ai","old_version":"1.12.2","new_version":"1.15.0","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"dev.langchain4j:langchain4j-ollama","old_version":"1.12.2","new_version":"1.15.0","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"dev.langchain4j:langchain4j-open-ai","old_version":"1.12.2","new_version":"1.15.0","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"dev.langchain4j:langchain4j-google-ai-gemini","old_version":"1.12.2","new_version":"1.15.0","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"org.bouncycastle:bcmail-jdk18on","old_version":"1.83","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"org.bouncycastle:bcpkix-jdk18on","old_version":"1.83","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"org.bouncycastle:bcprov-jdk18on","old_version":"1.83","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"io.swagger:swagger-compat-spec-parser","old_version":"1.0.75","new_version":"1.0.76"},{"name":"io.swagger.parser.v3:swagger-parser","old_version":"2.1.39","new_version":"2.1.42","repository_url":"https://github.com/swagger-api/swagger-parser"},{"name":"org.thymeleaf:thymeleaf","old_version":"3.1.3.RELEASE","new_version":"3.1.5.RELEASE"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"4.0.7","new_version":"4.0.8"},{"name":"org.seleniumhq.selenium:selenium-java","old_version":"4.41.0","new_version":"4.44.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"com.sun.xml.messaging.saaj:saaj-impl","old_version":"3.0.4","new_version":"3.0.5"},{"name":"org.slf4j:jul-to-slf4j","old_version":"2.0.17","new_version":"2.0.18"},{"name":"org.junit.jupiter:junit-jupiter","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"com.github.weisj:jsvg","old_version":"2.0.0","new_version":"2.1.0","repository_url":"https://github.com/weisJ/jsvg"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"io.freefair.lombok","old_version":"9.2.0","new_version":"9.5.0","repository_url":"https://github.com/freefair/gradle-plugins"},{"name":"org.sonarqube","old_version":"7.2.3.7755","new_version":"7.3.0.8198"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle group with 32 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| commons-io:commons-io | `2.21.0` | `2.22.0` |\n| [com.fasterxml.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `2.21.2` | `2.21.3` |\n| org.flywaydb:flyway-core | `12.3.0` | `12.6.1` |\n| org.flywaydb:flyway-database-hsqldb | `12.3.0` | `12.6.1` |\n| [org.xerial:sqlite-jdbc](https://github.com/xerial/sqlite-jdbc) | `3.51.3.0` | `3.53.1.0` |\n| [org.graalvm.js:js-community](https://github.com/oracle/graal) | `25.0.2` | `25.0.3` |\n| [org.graalvm.js:js-scriptengine](https://github.com/graalvm/graaljs) | `25.0.2` | `25.0.3` |\n| [com.graphql-java:graphql-java](https://github.com/graphql-java/graphql-java) | `25.0` | `26.0` |\n| [org.apache.groovy:groovy-all](https://github.com/apache/groovy) | `5.0.5` | `5.0.6` |\n| [io.grpc:grpc-protobuf](https://github.com/grpc/grpc-java) | `1.80.0` | `1.81.0` |\n| [com.drewnoakes:metadata-extractor](https://github.com/drewnoakes/metadata-extractor) | `2.19.0` | `2.20.0` |\n| [dev.langchain4j:langchain4j](https://github.com/langchain4j/langchain4j) | `1.12.2` | `1.15.0` |\n| [dev.langchain4j:langchain4j-azure-open-ai](https://github.com/langchain4j/langchain4j) | `1.12.2` | `1.15.0` |\n| [dev.langchain4j:langchain4j-ollama](https://github.com/langchain4j/langchain4j) | `1.12.2` | `1.15.0` |\n| [dev.langchain4j:langchain4j-open-ai](https://github.com/langchain4j/langchain4j) | `1.12.2` | `1.15.0` |\n| [dev.langchain4j:langchain4j-google-ai-gemini](https://github.com/langchain4j/langchain4j) | `1.12.2` | `1.15.0` |\n| [org.bouncycastle:bcmail-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |\n| [org.bouncycastle:bcpkix-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |\n| [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |\n| io.swagger:swagger-compat-spec-parser | `1.0.75` | `1.0.76` |\n| [io.swagger.parser.v3:swagger-parser](https://github.com/swagger-api/swagger-parser) | `2.1.39` | `2.1.42` |\n| org.thymeleaf:thymeleaf | `3.1.3.RELEASE` | `3.1.5.RELEASE` |\n| org.glassfish.jaxb:jaxb-runtime | `4.0.7` | `4.0.8` |\n| [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) | `4.41.0` | `4.44.0` |\n| com.sun.xml.messaging.saaj:saaj-impl | `3.0.4` | `3.0.5` |\n| org.slf4j:jul-to-slf4j | `2.0.17` | `2.0.18` |\n| [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\n| [com.github.weisj:jsvg](https://github.com/weisJ/jsvg) | `2.0.0` | `2.1.0` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| [io.freefair.lombok](https://github.com/freefair/gradle-plugins) | `9.2.0` | `9.5.0` |\n| org.sonarqube | `7.2.3.7755` | `7.3.0.8198` |\n\n\nUpdates `org.jsoup:jsoup` from 1.22.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.22.1...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `commons-io:commons-io` from 2.21.0 to 2.22.0\n\nUpdates `com.fasterxml.jackson:jackson-bom` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/374fbd08ee91a6c91626bae1d6497df21c89b541\"\u003e\u003ccode\u003e374fbd0\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/7059df78cc36832349acad026169ff890f4c718c\"\u003e\u003ccode\u003e7059df7\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/2fd60bdab3228f6b99dce81326d9fd7eaf587401\"\u003e\u003ccode\u003e2fd60bd\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/b82a3640491f66be2e56bef377b5002cd9d1567b\"\u003e\u003ccode\u003eb82a364\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ef4e013e95fc64583b0a414711648a84fc50be46\"\u003e\u003ccode\u003eef4e013\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/536ae51c1db9dfbfc8dda697ccfd6545cf626d2b\"\u003e\u003ccode\u003e536ae51\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/536c5339035643fdca46ddd947f253afd072f764\"\u003e\u003ccode\u003e536c533\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/426b778e5ea490d164e572a63319c7cf2f362f2f\"\u003e\u003ccode\u003e426b778\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-2.18.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/a73cda9be3e57f29c53fea748f1f867eaa1457ab\"\u003e\u003ccode\u003ea73cda9\u003c/code\u003e\u003c/a\u003e Prep for 2.18.7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/76b4a05087a9e42eb1b26f59d5b7028b0496da5e\"\u003e\u003ccode\u003e76b4a05\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-2.21.2...jackson-bom-2.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb:flyway-core` from 12.3.0 to 12.6.1\n\nUpdates `org.flywaydb:flyway-database-hsqldb` from 12.3.0 to 12.6.1\n\nUpdates `org.flywaydb:flyway-database-hsqldb` from 12.3.0 to 12.6.1\n\nUpdates `org.xerial:sqlite-jdbc` from 3.51.3.0 to 3.53.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/xerial/sqlite-jdbc/releases\"\u003eorg.xerial:sqlite-jdbc's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 3.53.1.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003esqlite\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eupgrade to sqlite 3.53.1 (\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commits/8263322\"\u003e8263322\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔄️ Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003erewrite amalgamation_version.sh for POSIX shell (\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commits/52522d0\"\u003e52522d0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix android usage (\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commits/7ef8e0f\"\u003e7ef8e0f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump gummy-bears-api-24 to 0.14.0 (\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commits/a28d6ce\"\u003ea28d6ce\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gummy-bears-api-24 to 0.13.0 (\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commits/248e1e9\"\u003e248e1e9\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003edeps-dev\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump org.jreleaser:jreleaser-maven-plugin (\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commits/396fdf3\"\u003e396fdf3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.tngtech.archunit:archunit-junit5 (\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commits/458abe1\"\u003e458abe1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003econditionally bootstrap SLF4J API JAR (\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commits/bc7d223\"\u003ebc7d223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emake JAVA_CLASSPATH configurable (\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commits/5aa7426\"\u003e5aa7426\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Gauthier Roebroeck, Michael Osipov\u003c/p\u003e\n\u003ch2\u003eRelease 3.53.0.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejdbc\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eexpose wal_autocheckpoint pragma in SQLiteConfig (\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commits/dd2adcc\"\u003edd2adcc\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/xerial/sqlite-jdbc/issues/1397\"\u003e#1397\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003esqlite\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eupgrade to sqlite 3.53.0 (\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commits/baaf087\"\u003ebaaf087\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003epublish multiple classifer jars (\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commits/bdd2b64\"\u003ebdd2b64\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/xerial/sqlite-jdbc/issues/1273\"\u003e#1273\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebetter Android support (\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commits/7eb6f3f\"\u003e7eb6f3f\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/xerial/sqlite-jdbc/issues/1378\"\u003e#1378\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump org.sonatype.central:central-publishing-maven-plugin (\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commits/19259e5\"\u003e19259e5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commits/f572217\"\u003ef572217\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003edeps-dev\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commit/b01674f0bffc45b4c213dd873867e64b9194104b\"\u003e\u003ccode\u003eb01674f\u003c/code\u003e\u003c/a\u003e chore(release): 3.53.1.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commit/e6719db995a1fee385f0421cee1eaf78e3587013\"\u003e\u003ccode\u003ee6719db\u003c/code\u003e\u003c/a\u003e chore: update native libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commit/826332265f8f1069faeb4a61761a8651efaefb0c\"\u003e\u003ccode\u003e8263322\u003c/code\u003e\u003c/a\u003e feat(sqlite): upgrade to sqlite 3.53.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commit/396fdf30d850ca78dad59bccaafae25c1e86998a\"\u003e\u003ccode\u003e396fdf3\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump org.jreleaser:jreleaser-maven-plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commit/bc7d22394987d5c84706c844f0b95c7856e3f294\"\u003e\u003ccode\u003ebc7d223\u003c/code\u003e\u003c/a\u003e build: conditionally bootstrap SLF4J API JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commit/4cd221a72480a681f91f78f9d8a99372daf423ce\"\u003e\u003ccode\u003e4cd221a\u003c/code\u003e\u003c/a\u003e chore: remove execute bit on non-executable files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commit/5aa74267e6a01c071ec88d1882de8aeec0d8d22a\"\u003e\u003ccode\u003e5aa7426\u003c/code\u003e\u003c/a\u003e build: make JAVA_CLASSPATH configurable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commit/52522d02ee5cffa8f283054d8bf5a5165206caac\"\u003e\u003ccode\u003e52522d0\u003c/code\u003e\u003c/a\u003e refactor: rewrite amalgamation_version.sh for POSIX shell\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commit/a28d6cef66da00f8559445dfacd9f34a871509d6\"\u003e\u003ccode\u003ea28d6ce\u003c/code\u003e\u003c/a\u003e build(deps): bump gummy-bears-api-24 to 0.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commit/458abe135cad6e20f00504418a09946c81c8dbd7\"\u003e\u003ccode\u003e458abe1\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump com.tngtech.archunit:archunit-junit5\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/xerial/sqlite-jdbc/compare/3.51.3.0...3.53.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.graalvm.js:js-community` from 25.0.2 to 25.0.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/oracle/graal/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.graalvm.js:js-scriptengine` from 25.0.2 to 25.0.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oracle/graaljs/blob/vm-25.0.3/CHANGELOG.md\"\u003eorg.graalvm.js:js-scriptengine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 25.0.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Node.js to version 22.22.0.\u003c/li\u003e\n\u003cli\u003eLimited Chrome inspector remote debugging to localhost.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 25.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eECMAScript 2025 mode/features enabled by default.\u003c/li\u003e\n\u003cli\u003eUpdated Node.js to version 22.17.1.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-intl-duration-format\"\u003e\u003ccode\u003eIntl.DurationFormat\u003c/code\u003e\u003c/a\u003e proposal.\u003c/li\u003e\n\u003cli\u003eMade option \u003ccode\u003ejs.text-encoding\u003c/code\u003e stable and allowed in \u003ccode\u003eSandboxPolicy.CONSTRAINED\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-defer-import-eval\"\u003e\u003ccode\u003eimport defer\u003c/code\u003e\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-upsert\"\u003e\u003ccode\u003eUpsert\u003c/code\u003e\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eEnabled source phase imports from WebAssembly modules (\u003ccode\u003eimport source mod from \u0026quot;./mod.wasm\u0026quot;\u003c/code\u003e) by default if the \u003ccode\u003ejs.webassembly\u003c/code\u003e option is enabled and the \u003ccode\u003ejs.source-phase-imports\u003c/code\u003e option is not explicitly set to \u003ccode\u003efalse\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 24.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Node.js to version 22.13.1.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-is-error\"\u003e\u003ccode\u003eError.isError\u003c/code\u003e\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-math-sum\"\u003e\u003ccode\u003eMath.sumPrecise\u003c/code\u003e\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-promise-try\"\u003e\u003ccode\u003ePromise.try\u003c/code\u003e\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-atomics-microwait\"\u003e\u003ccode\u003eAtomics.pause\u003c/code\u003e\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-arraybuffer-base64\"\u003eUint8Array to/from base64 and hex\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-source-phase-imports\"\u003eSource Phase Imports\u003c/a\u003e proposal. It is available behind the experimental option (\u003ccode\u003e--js.source-phase-imports\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/WebAssembly/esm-integration\"\u003eWebAssembly/ES Module Integration\u003c/a\u003e proposal, allowing \u003ccode\u003e.wasm\u003c/code\u003e modules to be loaded via \u003ccode\u003eimport\u003c/code\u003e statements.\u003c/li\u003e\n\u003cli\u003eImplemented basic Worker API (resembling the API available in \u003ccode\u003ed8\u003c/code\u003e). It is available behind the experimental option \u003ccode\u003e--js.worker\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded option \u003ccode\u003ejs.stack-trace-api\u003c/code\u003e that enables/disables \u003ccode\u003eError.captureStackTrace\u003c/code\u003e, \u003ccode\u003eError.prepareStackTrace\u003c/code\u003e and \u003ccode\u003eError.stackTraceLimit\u003c/code\u003e. These non-standard extensions are disabled by default (unless \u003ccode\u003ejs.v8-compat\u003c/code\u003e or \u003ccode\u003ejs.nashorn-compat\u003c/code\u003e is used).\u003c/li\u003e\n\u003cli\u003eMade option \u003ccode\u003ejs.webassembly\u003c/code\u003e stable.\u003c/li\u003e\n\u003cli\u003eMade options \u003ccode\u003ejs.load\u003c/code\u003e, \u003ccode\u003ejs.print\u003c/code\u003e, and \u003ccode\u003ejs.graal-builtin\u003c/code\u003e stable and allowed in \u003ccode\u003eSandboxPolicy.UNTRUSTED\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eMade option \u003ccode\u003ejs.locale\u003c/code\u003e stable and allowed in \u003ccode\u003eSandboxPolicy.UNTRUSTED\u003c/code\u003e. Its value, if non-empty, must be a well-formed Unicode BCP 47 locale identifier and is now validated.\u003c/li\u003e\n\u003cli\u003eAdded an experimental \u003ccode\u003ejava.util.concurrent.Executor\u003c/code\u003e that can be used to post tasks into the event loop thread in \u003ccode\u003egraal-nodejs\u003c/code\u003e. It is available as \u003ccode\u003erequire('node:graal').eventLoopExecutor\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ccode\u003eTextDecoder\u003c/code\u003e and \u003ccode\u003eTextEncoder\u003c/code\u003e APIs of the \u003ca href=\"https://encoding.spec.whatwg.org/\"\u003eWHATWG Encoding Standard\u003c/a\u003e. They are available behind the experimental option (\u003ccode\u003e--js.text-encoding\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-regex-escaping\"\u003e\u003ccode\u003eRegExp.escape\u003c/code\u003e\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-regexp-modifiers\"\u003eRegular Expression Pattern Modifiers\u003c/a\u003e proposal.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-iterator-sequencing\"\u003eIterator Sequencing\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 24.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eECMAScript 2024 mode/features enabled by default.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-redeclarable-global-eval-vars\"\u003eMake eval-introduced global vars redeclarable\u003c/a\u003e proposal.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-float16array\"\u003eFloat16Array\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-array-from-async\"\u003eArray.fromAsync\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-resizablearraybuffer\"\u003eResizable and Growable ArrayBuffers\u003c/a\u003e proposal.\u003c/li\u003e\n\u003cli\u003eUpdated Node.js to version 20.13.1.\u003c/li\u003e\n\u003cli\u003eMade option \u003ccode\u003ejs.esm-eval-returns-exports\u003c/code\u003e stable and allowed in \u003ccode\u003eSandboxPolicy.UNTRUSTED\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 24.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/WebAssembly/threads\"\u003eWebAssembly threads\u003c/a\u003e proposal.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-promise-with-resolvers\"\u003ePromise.withResolvers\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplementation of \u003ca href=\"https://github.com/tc39/proposal-async-iterator-helpers\"\u003eAsync Iterator Helpers\u003c/a\u003e proposal (that was split out from Iterator Helpers proposal) was moved behind the experimental option \u003ccode\u003e--js.async-iterator-helpers\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-is-usv-string\"\u003eWell-Formed Unicode Strings\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-json-parse-with-source\"\u003eJSON.parse source text access\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eUpdated Node.js to version 18.18.2.\u003c/li\u003e\n\u003cli\u003eWebAssembly support in Node.js has been enabled by default. It can be disabled using the experimental option \u003ccode\u003e--js.webassembly=false\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/eba5be12437ddf85b56b6d50180ce93e6769f72b\"\u003e\u003ccode\u003eeba5be1\u003c/code\u003e\u003c/a\u003e release GraalVM 25.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/8df2eb01cb3db4a30762d4bf42d206048f251242\"\u003e\u003ccode\u003e8df2eb0\u003c/code\u003e\u003c/a\u003e [GR-74224] Backport to 25.0: Restrict Chrome Inspector to localhost.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/af7f1c39a9e4ec97b7566467751eac01a2052e5e\"\u003e\u003ccode\u003eaf7f1c3\u003c/code\u003e\u003c/a\u003e [GR-73523] Backport to 25.0: Fix PE bailout in eval().\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/768265bdcffb8e3f68f76fc072b286263daff706\"\u003e\u003ccode\u003e768265b\u003c/code\u003e\u003c/a\u003e Run basic smoke tests in the gate.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/3a36e8d60d2662fe0f940a5e95b100bd262225c0\"\u003e\u003ccode\u003e3a36e8d\u003c/code\u003e\u003c/a\u003e Restrict Chrome Inspector to localhost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/131723667b91e4a6d4a454775768332c4d2996d7\"\u003e\u003ccode\u003e1317236\u003c/code\u003e\u003c/a\u003e Add regression test for eval() compilation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/f4583082cb7e3214bcc348d8826f2f78e95952ba\"\u003e\u003ccode\u003ef458308\u003c/code\u003e\u003c/a\u003e ScriptNode.runEval should create function object behind a TruffleBoundary.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/45949a471dc38a93dc07db5b3ce9a3f15dc1e95a\"\u003e\u003ccode\u003e45949a4\u003c/code\u003e\u003c/a\u003e [GR-72571] Backport to 25.0: Transient aux-engine-cache test failure.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/6e789095b2500bc40245b393ff29a56b790dfc1b\"\u003e\u003ccode\u003e6e78909\u003c/code\u003e\u003c/a\u003e Work around transient aux-engine-cache test failure due to speculative optimi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/bae1c8504b284238aa1f3140abddbb2592d7b82a\"\u003e\u003ccode\u003ebae1c85\u003c/code\u003e\u003c/a\u003e [GR-72939] Backport to 25.0.3: Upgrading Node.js version used by graal-nodejs...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/graalvm/graaljs/compare/vm-25.0.2...vm-25.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.graalvm.js:js-scriptengine` from 25.0.2 to 25.0.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oracle/graaljs/blob/vm-25.0.3/CHANGELOG.md\"\u003eorg.graalvm.js:js-scriptengine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 25.0.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Node.js to version 22.22.0.\u003c/li\u003e\n\u003cli\u003eLimited Chrome inspector remote debugging to localhost.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 25.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eECMAScript 2025 mode/features enabled by default.\u003c/li\u003e\n\u003cli\u003eUpdated Node.js to version 22.17.1.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-intl-duration-format\"\u003e\u003ccode\u003eIntl.DurationFormat\u003c/code\u003e\u003c/a\u003e proposal.\u003c/li\u003e\n\u003cli\u003eMade option \u003ccode\u003ejs.text-encoding\u003c/code\u003e stable and allowed in \u003ccode\u003eSandboxPolicy.CONSTRAINED\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-defer-import-eval\"\u003e\u003ccode\u003eimport defer\u003c/code\u003e\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-upsert\"\u003e\u003ccode\u003eUpsert\u003c/code\u003e\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eEnabled source phase imports from WebAssembly modules (\u003ccode\u003eimport source mod from \u0026quot;./mod.wasm\u0026quot;\u003c/code\u003e) by default if the \u003ccode\u003ejs.webassembly\u003c/code\u003e option is enabled and the \u003ccode\u003ejs.source-phase-imports\u003c/code\u003e option is not explicitly set to \u003ccode\u003efalse\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 24.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Node.js to version 22.13.1.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-is-error\"\u003e\u003ccode\u003eError.isError\u003c/code\u003e\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-math-sum\"\u003e\u003ccode\u003eMath.sumPrecise\u003c/code\u003e\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-promise-try\"\u003e\u003ccode\u003ePromise.try\u003c/code\u003e\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-atomics-microwait\"\u003e\u003ccode\u003eAtomics.pause\u003c/code\u003e\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-arraybuffer-base64\"\u003eUint8Array to/from base64 and hex\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-source-phase-imports\"\u003eSource Phase Imports\u003c/a\u003e proposal. It is available behind the experimental option (\u003ccode\u003e--js.source-phase-imports\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/WebAssembly/esm-integration\"\u003eWebAssembly/ES Module Integration\u003c/a\u003e proposal, allowing \u003ccode\u003e.wasm\u003c/code\u003e modules to be loaded via \u003ccode\u003eimport\u003c/code\u003e statements.\u003c/li\u003e\n\u003cli\u003eImplemented basic Worker API (resembling the API available in \u003ccode\u003ed8\u003c/code\u003e). It is available behind the experimental option \u003ccode\u003e--js.worker\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded option \u003ccode\u003ejs.stack-trace-api\u003c/code\u003e that enables/disables \u003ccode\u003eError.captureStackTrace\u003c/code\u003e, \u003ccode\u003eError.prepareStackTrace\u003c/code\u003e and \u003ccode\u003eError.stackTraceLimit\u003c/code\u003e. These non-standard extensions are disabled by default (unless \u003ccode\u003ejs.v8-compat\u003c/code\u003e or \u003ccode\u003ejs.nashorn-compat\u003c/code\u003e is used).\u003c/li\u003e\n\u003cli\u003eMade option \u003ccode\u003ejs.webassembly\u003c/code\u003e stable.\u003c/li\u003e\n\u003cli\u003eMade options \u003ccode\u003ejs.load\u003c/code\u003e, \u003ccode\u003ejs.print\u003c/code\u003e, and \u003ccode\u003ejs.graal-builtin\u003c/code\u003e stable and allowed in \u003ccode\u003eSandboxPolicy.UNTRUSTED\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eMade option \u003ccode\u003ejs.locale\u003c/code\u003e stable and allowed in \u003ccode\u003eSandboxPolicy.UNTRUSTED\u003c/code\u003e. Its value, if non-empty, must be a well-formed Unicode BCP 47 locale identifier and is now validated.\u003c/li\u003e\n\u003cli\u003eAdded an experimental \u003ccode\u003ejava.util.concurrent.Executor\u003c/code\u003e that can be used to post tasks into the event loop thread in \u003ccode\u003egraal-nodejs\u003c/code\u003e. It is available as \u003ccode\u003erequire('node:graal').eventLoopExecutor\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ccode\u003eTextDecoder\u003c/code\u003e and \u003ccode\u003eTextEncoder\u003c/code\u003e APIs of the \u003ca href=\"https://encoding.spec.whatwg.org/\"\u003eWHATWG Encoding Standard\u003c/a\u003e. They are available behind the experimental option (\u003ccode\u003e--js.text-encoding\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-regex-escaping\"\u003e\u003ccode\u003eRegExp.escape\u003c/code\u003e\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-regexp-modifiers\"\u003eRegular Expression Pattern Modifiers\u003c/a\u003e proposal.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-iterator-sequencing\"\u003eIterator Sequencing\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 24.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eECMAScript 2024 mode/features enabled by default.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-redeclarable-global-eval-vars\"\u003eMake eval-introduced global vars redeclarable\u003c/a\u003e proposal.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-float16array\"\u003eFloat16Array\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-array-from-async\"\u003eArray.fromAsync\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-resizablearraybuffer\"\u003eResizable and Growable ArrayBuffers\u003c/a\u003e proposal.\u003c/li\u003e\n\u003cli\u003eUpdated Node.js to version 20.13.1.\u003c/li\u003e\n\u003cli\u003eMade option \u003ccode\u003ejs.esm-eval-returns-exports\u003c/code\u003e stable and allowed in \u003ccode\u003eSandboxPolicy.UNTRUSTED\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 24.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/WebAssembly/threads\"\u003eWebAssembly threads\u003c/a\u003e proposal.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-promise-with-resolvers\"\u003ePromise.withResolvers\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplementation of \u003ca href=\"https://github.com/tc39/proposal-async-iterator-helpers\"\u003eAsync Iterator Helpers\u003c/a\u003e proposal (that was split out from Iterator Helpers proposal) was moved behind the experimental option \u003ccode\u003e--js.async-iterator-helpers\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-is-usv-string\"\u003eWell-Formed Unicode Strings\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-json-parse-with-source\"\u003eJSON.parse source text access\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eUpdated Node.js to version 18.18.2.\u003c/li\u003e\n\u003cli\u003eWebAssembly support in Node.js has been enabled by default. It can be disabled using the experimental option \u003ccode\u003e--js.webassembly=false\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/eba5be12437ddf85b56b6d50180ce93e6769f72b\"\u003e\u003ccode\u003eeba5be1\u003c/code\u003e\u003c/a\u003e release GraalVM 25.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/8df2eb01cb3db4a30762d4bf42d206048f251242\"\u003e\u003ccode\u003e8df2eb0\u003c/code\u003e\u003c/a\u003e [GR-74224] Backport to 25.0: Restrict Chrome Inspector to localhost.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/af7f1c39a9e4ec97b7566467751eac01a2052e5e\"\u003e\u003ccode\u003eaf7f1c3\u003c/code\u003e\u003c/a\u003e [GR-73523] Backport to 25.0: Fix PE bailout in eval().\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/768265bdcffb8e3f68f76fc072b286263daff706\"\u003e\u003ccode\u003e768265b\u003c/code\u003e\u003c/a\u003e Run basic smoke tests in the gate.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/3a36e8d60d2662fe0f940a5e95b100bd262225c0\"\u003e\u003ccode\u003e3a36e8d\u003c/code\u003e\u003c/a\u003e Restrict Chrome Inspector to localhost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/131723667b91e4a6d4a454775768332c4d2996d7\"\u003e\u003ccode\u003e1317236\u003c/code\u003e\u003c/a\u003e Add regression test for eval() compilation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/f4583082cb7e3214bcc348d8826f2f78e95952ba\"\u003e\u003ccode\u003ef458308\u003c/code\u003e\u003c/a\u003e ScriptNode.runEval should create function object behind a TruffleBoundary.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/45949a471dc38a93dc07db5b3ce9a3f15dc1e95a\"\u003e\u003ccode\u003e45949a4\u003c/code\u003e\u003c/a\u003e [GR-72571] Backport to 25.0: Transient aux-engine-cache test failure.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/6e789095b2500bc40245b393ff29a56b790dfc1b\"\u003e\u003ccode\u003e6e78909\u003c/code\u003e\u003c/a\u003e Work around transient aux-engine-cache test failure due to speculative optimi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/bae1c8504b284238aa1f3140abddbb2592d7b82a\"\u003e\u003ccode\u003ebae1c85\u003c/code\u003e\u003c/a\u003e [GR-72939] Backport to 25.0.3: Upgrading Node.js version used by graal-nodejs...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/graalvm/graaljs/compare/vm-25.0.2...vm-25.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.graphql-java:graphql-java` from 25.0 to 26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/graphql-java/graphql-java/releases\"\u003ecom.graphql-java:graphql-java's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.0\u003c/h2\u003e\n\u003cp\u003eThis is the 26.0 release of graphql-java. Highlights are summarized below; the full list of merged PRs is at the end.\u003c/p\u003e\n\u003ch2\u003e⚠️ Breaking Changes\u003c/h2\u003e\n\u003ch3\u003eQuery complexity limits are now enforced by default\u003c/h3\u003e\n\u003cp\u003eNew \u003ccode\u003eQueryComplexityLimits\u003c/code\u003e validation checks \u003ccode\u003emaxDepth\u003c/code\u003e (default \u003cstrong\u003e100\u003c/strong\u003e) and \u003ccode\u003emaxFieldsCount\u003c/code\u003e (default \u003cstrong\u003e100,000\u003c/strong\u003e) as part of standard validation. Queries exceeding these limits will now fail with new \u003ccode\u003eMaxQueryDepthExceeded\u003c/code\u003e / \u003ccode\u003eMaxQueryFieldsExceeded\u003c/code\u003e validation errors.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSet custom limits via \u003ccode\u003eGraphQLContext\u003c/code\u003e using \u003ccode\u003eQueryComplexityLimits.KEY\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eDisable entirely with \u003ccode\u003eQueryComplexityLimits.NONE\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIntroduced in \u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4256\"\u003e#4256\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eValidation rule filtering API changed\u003c/h3\u003e\n\u003cp\u003eIn \u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4228\"\u003e#4228\u003c/a\u003e the rule-filter predicate changed from \u003ccode\u003ePredicate\u0026lt;Class\u0026lt;?\u0026gt;\u0026gt;\u003c/code\u003e to \u003ccode\u003ePredicate\u0026lt;OperationValidationRule\u0026gt;\u003c/code\u003e in \u003ccode\u003eValidator.validateDocument(...)\u003c/code\u003e and \u003ccode\u003eParseAndValidate.parseAndValidate(...)\u003c/code\u003e. Callers that filtered by class (e.g. \u003ccode\u003erule -\u0026gt; rule != NoUnusedFragments.class\u003c/code\u003e) must migrate to the enum (\u003ccode\u003erule -\u0026gt; rule != OperationValidationRule.NO_UNUSED_FRAGMENTS\u003c/code\u003e). The \u003ccode\u003e@Internal\u003c/code\u003e classes \u003ccode\u003eAbstractRule\u003c/code\u003e and \u003ccode\u003eRulesVisitor\u003c/code\u003e were removed.\u003c/p\u003e\n\u003ch3\u003eBuilt-in directive handling consolidated (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4229\"\u003e#4229\u003c/a\u003e)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDirectiveInfo\u003c/code\u003e was removed. Replace usages:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDirectiveInfo.isGraphqlSpecifiedDirective(...)\u003c/code\u003e → \u003ccode\u003eDirectives.isBuiltInDirective(...)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eDirectiveInfo.GRAPHQL_SPECIFICATION_DIRECTIVES\u003c/code\u003e → \u003ccode\u003eDirectives.BUILT_IN_DIRECTIVES\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eDirectiveInfo.GRAPHQL_SPECIFICATION_DIRECTIVE_MAP\u003c/code\u003e → \u003ccode\u003eDirectives.BUILT_IN_DIRECTIVES_MAP\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDirective ordering is now consistent: all 7 built-in directives appear first, followed by user-defined directives.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eGraphQLSchema.Builder.clearDirectives()\u003c/code\u003e was initially removed then re-added in \u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4276\"\u003e#4276\u003c/a\u003e with new semantics — it clears all \u003ccode\u003eadditionalDirectives\u003c/code\u003e, but built-in directives are always re-added automatically at build time.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOneOf inhabitability validation (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4248\"\u003e#4248\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eNew validator rejects OneOf input types that cannot be populated with a finite value (e.g. \u003ccode\u003einput A @oneOf { a: A }\u003c/code\u003e). Schemas that previously validated may now be rejected.\u003c/p\u003e\n\u003ch3\u003eNon-null field validation for code-built schemas (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4194\"\u003e#4194\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eCode-built schemas now perform the same deprecated-on-non-null field validation as SDL-built ones. Schemas relying on the gap may now fail validation.\u003c/p\u003e\n\u003ch3\u003e\u003ccode\u003eGraphQLSchema.getCodeRegistry()\u003c/code\u003e is no longer \u003ccode\u003e@Nullable\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4247\"\u003e#4247\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eThe return type was incorrectly annotated nullable. Callers may now drop redundant null checks; downstream nullness tooling will reflect the change.\u003c/p\u003e\n\u003ch3\u003eJSpecify nullability annotations rolled out broadly\u003c/h3\u003e\n\u003cp\u003eWaves 2 and 3 (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4184\"\u003e#4184\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4274\"\u003e#4274\u003c/a\u003e) plus many individual PRs annotated hundreds of classes across \u003ccode\u003egraphql.analysis\u003c/code\u003e, \u003ccode\u003egraphql.execution\u003c/code\u003e, \u003ccode\u003egraphql.language\u003c/code\u003e, \u003ccode\u003egraphql.schema\u003c/code\u003e and others with \u003ccode\u003e@NullMarked\u003c/code\u003e/\u003ccode\u003e@NullUnmarked\u003c/code\u003e/\u003ccode\u003e@Nullable\u003c/code\u003e. Kotlin and other null-aware callers will now see stricter nullability contracts; code that relied on previously-permissive signatures may need adjustment.\u003c/p\u003e\n\u003ch2\u003e✨ New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eGraphQLSchema.FastBuilder\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4197\"\u003e#4197\u003c/a\u003e) — a more restrictive but \u003cstrong\u003e~5× faster\u003c/strong\u003e schema builder that reduces both time and memory for large schemas.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eQuery complexity limits\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4256\"\u003e#4256\u003c/a\u003e) — depth/field-count guardrails baked into validation (see breaking changes above for the enforcement side).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eQueryAppliedDirective\u003c/code\u003e on operations and documents\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4297\"\u003e#4297\u003c/a\u003e) — directives applied at the operation/document level are now exposed as \u003ccode\u003eQueryAppliedDirective\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNew instrumentation hook for post-exception-handling results\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4206\"\u003e#4206\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4207\"\u003e#4207\u003c/a\u003e) — observe the \u003ccode\u003eDataFetcherResult\u003c/code\u003e after \u003ccode\u003eDataFetcherExceptionHandler\u003c/code\u003e has mapped exceptions to errors. \u003ccode\u003eChainedInstrumentation\u003c/code\u003e delegates the new hook correctly.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eGeneric \u003ccode\u003eDataFetcherResult.newBuilder(T data)\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4254\"\u003e#4254\u003c/a\u003e) — removes the need for explicit type witnesses on the common \u003ccode\u003eDataFetcherResult.\u0026lt;T\u0026gt;newResult().data(x)...\u003c/code\u003e pattern.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRe-added \u003ccode\u003eGraphQLSchema.Builder.clearDirectives()\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4276\"\u003e#4276\u003c/a\u003e) — useful with \u003ccode\u003eGraphQLSchema.transform\u003c/code\u003e to rewrite non-built-in directives; built-ins are always re-added.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003etoString()\u003c/code\u003e on AST directives holders\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4195\"\u003e#4195\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⚡ Performance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eIncremental \u003ccode\u003e@defer\u003c/code\u003e execution starts earlier\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4174\"\u003e#4174\u003c/a\u003e) — begins processing deferred payloads as soon as the first incremental call is detected instead of waiting for the initial result to complete.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eValidation consolidation\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4228\"\u003e#4228\u003c/a\u003e) — all operation validation rules run in a single \u003ccode\u003eOperationValidator\u003c/code\u003e pass, significantly cutting validation overhead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/graphql-java/graphql-java/commit/86afa76971b94b7887c1c3b0e5afa996ef46805b\"\u003e\u003ccode\u003e86afa76\u003c/code\u003e\u003c/a\u003e Update test baseline [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/graphql-java/graphql-java/commit/95f49d95945b34ca45e9e1cc23ce1368309632fc\"\u003e\u003ccode\u003e95f49d9\u003c/code\u003e\u003c/a\u003e Bump JaCoCo to 0.8.14 for Java 25 class file support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/graphql-java/graphql-java/commit/3af0c5cc61331ade2787bb3a0891e19750357345\"\u003e\u003ccode\u003e3af0c5c\u003c/code\u003e\u003c/a\u003e Update test baseline [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/graphql-java/graphql-java/commit/a6cc631e328d7d01ea261aa21d9225294adfd155\"\u003e\u003ccode\u003ea6cc631\u003c/code\u003e\u003c/a\u003e JSpecify big wave 3 (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4274\"\u003e#4274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/graphql-java/graphql-java/commit/d26e4d61dfa90f092b36e0756bfae31655d17751\"\u003e\u003ccode\u003ed26e4d6\u003c/code\u003e\u003c/a\u003e Update test baseline [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/graphql-java/graphql-java/commit/c86eb07d9d99be6f15e1caeb7958be109cdd6ef8\"\u003e\u003ccode\u003ec86eb07\u003c/code\u003e\u003c/a\u003e Add JSpecify annotations to 10 language package classes (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4219\"\u003e#4219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/graphql-java/graphql-java/commit/b1543882a65b1af4207c0a0626b04ae797c3a2bb\"\u003e\u003ccode\u003eb154388\u003c/code\u003e\u003c/a\u003e Update test baseline [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/graphql-java/graphql-java/commit/aafbbd54f0591cc1c34de9c7d8451aff09bb4b8f\"\u003e\u003ccode\u003eaafbbd5\u003c/code\u003e\u003c/a\u003e Add JSpecify annotations to 10 language package classes (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4218\"\u003e#4218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/graphql-java/graphql-java/commit/3e15aed1209b59e71bedf8ad6e3e46ba5b28a177\"\u003e\u003ccode\u003e3e15aed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4359\"\u003e#4359\u003c/a\u003e from graphql-java/dependabot/github_actions/actions/...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/graphql-java/graphql-java/commit/e0ca0613e1c15a7a6c4d012e1ebba37e091ac682\"\u003e\u003ccode\u003ee0ca061\u003c/code\u003e\u003c/a\u003e Bump org.apache.groovy:groovy from 5.0.4 to 5.0.5 (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4363\"\u003e#4363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/graphql-java/graphql-java/compare/v25.0...v26.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.groovy:groovy-all` from 5.0.5 to 5.0.6\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/apache/groovy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.grpc:grpc-protobuf` from 1.80.0 to 1.81.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/grpc/grpc-java/releases\"\u003eio.grpc:grpc-protobuf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eV1.81.0\u003c/h2\u003e\n\u003cp\u003eIn this release we drop support for Android API level 22 or lower (Lollipop or earlier), following Google Play Service’s \u003ca href=\"https://developers.google.com/android/guides/setup\"\u003ediscontinued updates for Lollipop (API levels 21 \u0026amp; 22)\u003c/a\u003e and now requires a minimum of API level 23 (Android 6.0 Marshmallow).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAPI Changes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eapi: Deprecate LoadBalancer.handleResolvedAddresses(). Developers maintaining custom LoadBalancer implementations should transition to using LoadBalancer.acceptResolvedAddresses(). Unlike the deprecated method, acceptResolvedAddresses() returns a Status object, allowing the load balancer to explicitly report success or reject the update if the provided addresses or configuration are invalid. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/11623\"\u003e#11623\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBehavior Changes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ecore: Enable dns \u0026quot;caching\u0026quot; on Android for 30 seconds to reduce CPU impact of a refresh loop with an LB policy (0675f70af). DnsNameResolver ignores re-resolution requests on OpenJDK-like platforms if it has been too soon since the last DNS query because InetAddress.getAllByName() has a cache with a fixed entry lifetime, but this logic was disabled for Android which does not have that style of cache. Android’s cache uses the result TTL, which will rarely be less than 30 seconds. This change would probably be most noticeable when 1) changing to a different network (e.g., from wifi to mobile), 2) the server has different addresses for different networks, and 3) the app is not using AndroidChannelBuilder with an \u003ccode\u003eandroid.context.Context\u003c/code\u003e. For reference, it seems Chrome caches for 1 minute\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug Fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eopentelemetry: Fix baggage propagation, the baggage propagation for opentelemetry introduced in \u003ca href=\"https://redirect.github.com/grpc/grpc-java/pull/12389\"\u003e#12389\u003c/a\u003e was broken. The context is decided once and used for all recording for the call, thus guaranteeing all record()s have consistent information.\u003c/li\u003e\n\u003cli\u003ecore: Address a race condition where \u003ccode\u003eManagedChannelOrphanWrapper\u003c/code\u003e could incorrectly log a \u0026quot;not shutdown properly\u0026quot; warning during garbage collection when using directExecutor(). (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12705\"\u003e#12705\u003c/a\u003e) (d459338d9)\u003c/li\u003e\n\u003cli\u003exds: Fix xDS HTTP CONNECT's transport socket name bug which is now corrected to use \u003ccode\u003etypeUrl\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12740\"\u003e#12740\u003c/a\u003e) (eac9fe961)\u003c/li\u003e\n\u003cli\u003exds: Fix an issue where subchannel metrics were dropping their association with the \u003ccode\u003ebackend_service\u003c/code\u003e. This ensures xDS load balancing metrics are reported accurately. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12735\"\u003e#12735\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eNew Features\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003enetty: Add tcp metrics, by implementing a few of the metrics defined in \u003ca href=\"https://redirect.github.com/grpc/proposal/pull/519\"\u003eA80\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eapi: Add a CallOption for a custom label on per-RPC metrics (0e39b2967). This CallOption is copied by grpc-opentelemetry to the \u003ccode\u003egrpc.client.call.custom\u003c/code\u003e label as defined by \u003ca href=\"https://github.com/grpc/proposal/blob/master/A108-otel-custom-per-call-label.md\"\u003egRFC A108\u003c/a\u003e. See also the \u003ca href=\"https://grpc.io/docs/guides/opentelemetry-metrics/\"\u003egRPC OpenTelemetry Metrics guide\u003c/a\u003e (update \u003ca href=\"https://redirect.github.com/grpc/grpc.io/pull/1505\"\u003ein-progress\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003exds: Add support for Weighted Round Robin (WRR) load balancing driven by custom backend metrics, implementing the behavior defined in gRFC A114. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12645\"\u003e#12645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eutils: Update \u003ccode\u003eAdvancedTlsX509KeyManager\u003c/code\u003e so that developers can now preserve and use key aliases when dynamically reloading TLS certificates. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12686\"\u003e#12686\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate the \u0026quot;Outgoing Flow Control\u0026quot; section in the Manual Flow Control example to say onNext() does not block, but rather queues the messages in memory and advises developers to use CallStreamObserver.isReady() to prevent this memory exhaustion (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12700\"\u003e#12700\u003c/a\u003e) (a3a9ffcbe) (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12726\"\u003e#12726\u003c/a\u003e) (65ae2efda)\u003c/li\u003e\n\u003cli\u003eexamples: Clean up Health example, and document need for grpc-services (3ed732fc0)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDependencies\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Dependencies (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12719\"\u003e#12719\u003c/a\u003e) (16e17abba). Google-auth-library: 1.42.1, animal-sniffer: 1.27, assertj-core:3.27.7, error_prone_annotations:2.48.0, proto-google-common-protos:2.64.1, google-cloud-logging:3.23.10, jetty-http2-server:12.1.7, jetty-ee10-servlet:12.1.7, lincheck:3.4, opentelemetry-api:1.60.1, opentelemetry-exporter-prometheus:1.60.1-alpha, opentelemetry-gcp-resources:1.54.0-alpha, opentelemetry-sdk-extension-autoconfigure:1.60.1, opentelemetry-sdk-testing:1.60.1, robolectric:4.16.1, tomcat-embed-core:10.1.52, tomcat-embed-core9: 9.0.115,\u003c/li\u003e\n\u003cli\u003eUpgrade Netty to 4.1.132 and netty-tcnative to 2.0.75 (1528f809c)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eThanks to\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/becomeStar\"\u003e\u003ccode\u003e@​becomeStar\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benjaminp\"\u003e\u003ccode\u003e@​benjaminp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JoeCqupt\"\u003e\u003ccode\u003e@​JoeCqupt\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kainsin\"\u003e\u003ccode\u003e@​Kainsin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/merlimat\"\u003e\u003ccode\u003e@​merlimat\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SreeramdasLavanya\"\u003e\u003ccode\u003e@​SreeramdasLavanya\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/themechbro\"\u003e\u003ccode\u003e@​themechbro\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zhangweikop\"\u003e\u003ccode\u003e@​zhangweikop\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/6951542f66c59f63cbf5348b38a2306a3964adda\"\u003e\u003ccode\u003e6951542\u003c/code\u003e\u003c/a\u003e Bump version to 1.81.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/e94188e81298c36ac9654dc76025940171abc0a4\"\u003e\u003ccode\u003ee94188e\u003c/code\u003e\u003c/a\u003e Update README etc to reference 1.81.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/4813c6d06089d49a479f7f1786297dc3d8c0e549\"\u003e\u003ccode\u003e4813c6d\u003c/code\u003e\u003c/a\u003e core,xds: Fix backend_service plumbing for subchannel metrics (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12735\"\u003e#12735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/6737eb583a273dd13bf9e7b82cc1d9df75e551bd\"\u003e\u003ccode\u003e6737eb5\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Replace javax ThreadSafe annotation with errorprone ThreadSafe (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/1274\"\u003e#1274\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/ef3531325ba98fa043f6f7f16fa0715e9296d7a3\"\u003e\u003ccode\u003eef35313\u003c/code\u003e\u003c/a\u003e Replace javax ThreadSafe annotation with errorprone ThreadSafe (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12742\"\u003e#12742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/3ed732fc09c41b185cd03fdd6864c4ebb82f3a80\"\u003e\u003ccode\u003e3ed732f\u003c/code\u003e\u003c/a\u003e examples: Clean up Health, and document need for grpc-services\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/eac9fe9612881d54d51ddc5496599ba9a8201021\"\u003e\u003ccode\u003eeac9fe9\u003c/code\u003e\u003c/a\u003e xds: fix xDS HTTP CONNECT's transport socket name bug (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12740\"\u003e#12740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/1528f809c9e506cf2e7052e3f41fd8b75636d3d3\"\u003e\u003ccode\u003e1528f80\u003c/code\u003e\u003c/a\u003e Upgrade Netty to 4.1.132 and netty-tcnative to 2.0.75\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/d057a7ebee2945fc0a9ca58b36afdb5b37a99680\"\u003e\u003ccode\u003ed057a7e\u003c/code\u003e\u003c/a\u003e [xds] Implement A114: WRR support for custom backend metrics (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12645\"\u003e#12645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/842636f88452c30769a5561f7659db6e4f9fc2a0\"\u003e\u003ccode\u003e842636f\u003c/code\u003e\u003c/a\u003e xds: Add configuration objects for ExtAuthz, GrpcService and Bootstrap change...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/grpc/grpc-java/compare/v1.80.0...v1.81.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.drewnoakes:metadata-extractor` from 2.19.0 to 2.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/drewnoakes/metadata-extractor/releases\"\u003ecom.drewnoakes:metadata-extractor's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSimplify string creation by \u003ca href=\"https://github.com/drewnoakes\"\u003e\u003ccode\u003e@​drewnoakes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/637\"\u003edrewnoakes/metadata-extractor#637\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCopy paste error fixed by \u003ca href=\"https://github.com/GRuppert\"\u003e\u003ccode\u003e@​GRuppert\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/641\"\u003edrewnoakes/metadata-extractor#641\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded code to parse OM System II makernote (uses Olympus II makernote) by \u003ca href=\"https://github.com/AndyDragon\"\u003e\u003ccode\u003e@​AndyDragon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/642\"\u003edrewnoakes/metadata-extractor#642\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd HEIC/HEIF to README by \u003ca href=\"https://github.com/drewnoakes\"\u003e\u003ccode\u003e@​drewnoakes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/645\"\u003edrewnoakes/metadata-extractor#645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTrim trailing null bytes from some string values by \u003ca href=\"https://github.com/drewnoakes\"\u003e\u003ccode\u003e@​drewnoakes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/647\"\u003edrewnoakes/metadata-extractor#647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed parsing of illegal dates + handle known null value by \u003ca href=\"https://github.com/StefanOltmann\"\u003e\u003ccode\u003e@​StefanOltmann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/650\"\u003edrewnoakes/metadata-extractor#650\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport AVIF / AV1 images by \u003ca href=\"https://github.com/StefanOltmann\"\u003e\u003ccode\u003e@​StefanOltmann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/649\"\u003edrewnoakes/metadata-extractor#649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emaven.yml fixed after branch rename by \u003ca href=\"https://github.com/StefanOltmann\"\u003e\u003ccode\u003e@​StefanOltmann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/652\"\u003edrewnoakes/metadata-extractor#652\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed wrong date/time when timezone is null by \u003ca href=\"https://github.com/StefanOltmann\"\u003e\u003ccode\u003e@​StefanOltmann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/651\"\u003edrewnoakes/metadata-extractor#651\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eValidate lengths before parsing JPEG data by \u003ca href=\"https://github.com/drewnoakes\"\u003e\u003ccode\u003e@​drewnoakes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/653\"\u003edrewnoakes/metadata-extractor#653\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Automatic-Module-Name by \u003ca href=\"https://github.com/tsmock\"\u003e\u003ccode\u003e@​tsmock\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/621\"\u003edrewnoakes/metadata-extractor#621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd PDF support to detectFileType by \u003ca href=\"https://github.com/max-peroch\"\u003e\u003ccode\u003e@​max-peroch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/665\"\u003edrewnoakes/metadata-extractor#665\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix of \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/issues/676\"\u003e#676\u003c/a\u003e by \u003ca href=\"https://github.com/ogawaffm\"\u003e\u003ccode\u003e@​ogawaffm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/677\"\u003edrewnoakes/metadata-extractor#677\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/issues/685\"\u003e#685\u003c/a\u003e | Fix StringIndexOutOfBoundsException in ICC DESC tag processing by \u003ca href=\"https://github.com/DAN-MU-ZI\"\u003e\u003ccode\u003e@​DAN-MU-ZI\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/687\"\u003edrewnoakes/metadata-extractor#687\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump Java version to 1.8 by \u003ca href=\"https://github.com/drewnoakes\"\u003e\u003ccode\u003e@​drewnoakes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/696\"\u003edrewnoakes/metadata-extractor#696\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix rounding error in shutter speed description by \u003ca href=\"https://github.com/drewnoakes\"\u003e\u003ccode\u003e@​drewnoakes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/695\"\u003edrewnoakes/metadata-extractor#695\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExtend file type detection by \u003ca href=\"https://github.com/drewnoakes\"\u003e\u003ccode\u003e@​drewnoakes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/697\"\u003edrewnoakes/metadata-extractor#697\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca h...\n\n_Description has been truncated_","html_url":"https://github.com/ricekot/zap-extensions/pull/60","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricekot%2Fzap-extensions/issues/60","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/60/packages"},{"uuid":"4403511891","node_id":"PR_kwDORvJjTc7ZYe1x","number":26,"state":"closed","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 17 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-05-22T03:12:36.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-08T03:12:00.000Z","updated_at":"2026-05-22T03:12:38.000Z","time_to_close":1209636,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":17,"packages":[{"name":"org.mariadb.jdbc:mariadb-java-client","old_version":"3.5.7","new_version":"3.5.8","repository_url":"https://github.com/mariadb-corporation/mariadb-connector-j"},{"name":"org.flywaydb:flyway-mysql","old_version":"12.0.3","new_version":"12.5.0"},{"name":"org.projectlombok:lombok","old_version":"1.18.42","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"org.apache.pdfbox:pdfbox","old_version":"3.0.6","new_version":"3.0.7"},{"name":"com.github.RouHim:jaudiotagger","old_version":"2.0.16","new_version":"2.0.19"},{"name":"com.github.junrar:junrar","old_version":"7.5.8","new_version":"7.5.10","repository_url":"https://github.com/junrar/junrar"},{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"4.0.6","new_version":"4.0.8"},{"name":"tools.jackson:jackson-bom","old_version":"3.1.0","new_version":"3.1.3","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"org.springframework.boot","old_version":"4.0.3","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.hibernate.orm","old_version":"7.2.6.Final","new_version":"7.3.3.Final"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"gradle-wrapper","old_version":"9.4.0","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 15 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) | `3.5.7` | `3.5.8` |\n| org.flywaydb:flyway-mysql | `12.0.3` | `12.5.0` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.42` | `1.18.46` |\n| org.apache.pdfbox:pdfbox | `3.0.6` | `3.0.7` |\n| com.github.RouHim:jaudiotagger | `2.0.16` | `2.0.19` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.8` | `7.5.10` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `3.0.2` | `3.0.3` |\n| org.glassfish.jaxb:jaxb-runtime | `4.0.6` | `4.0.8` |\n| [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `3.1.0` | `3.1.3` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.2.3` | `3.2.4` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.3` | `4.0.6` |\n| org.hibernate.orm | `7.2.6.Final` | `7.3.3.Final` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.0` | `9.5.0` |\n\n\nUpdates `org.mariadb.jdbc:mariadb-java-client` from 3.5.7 to 3.5.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/releases\"\u003eorg.mariadb.jdbc:mariadb-java-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eMariaDB Connector/Java 3.5.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/blob/main/CHANGELOG.md\"\u003eorg.mariadb.jdbc:mariadb-java-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/26b34a2f060070beb73515cfd2a49fabc8728843\"\u003e\u003ccode\u003e26b34a2\u003c/code\u003e\u003c/a\u003e Merge branch 'develop'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/06d6efee7838ab8f89ef0f7f362c6b4a95754630\"\u003e\u003ccode\u003e06d6efe\u003c/code\u003e\u003c/a\u003e bump CI actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a86a83c8fd1fa84d8d4349baab3b29df8f575192\"\u003e\u003ccode\u003ea86a83c\u003c/code\u003e\u003c/a\u003e bump 3.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/975f9919232b21f40d823423eac6e32d87ea8e35\"\u003e\u003ccode\u003e975f991\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to implement Codec directly and extract shared...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/75bb509521661603e0e90dd6dd5942d1382bf499\"\u003e\u003ccode\u003e75bb509\u003c/code\u003e\u003c/a\u003e [misc] code formatting cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/4c0b6a0ddd95f42fa866ce0d08e384caa2553d43\"\u003e\u003ccode\u003e4c0b6a0\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to extend UtilDateCodec and extract common dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a5b7fb1a26277a076052dbbd1a7ee2bacd4f602f\"\u003e\u003ccode\u003ea5b7fb1\u003c/code\u003e\u003c/a\u003e [misc] convert Reader and Writer from interfaces to final class implementatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/d31eb060fc66e9e37479e18a38bb1401d53ecb63\"\u003e\u003ccode\u003ed31eb06\u003c/code\u003e\u003c/a\u003e [misc] convert ReadableByteBuf from interface to final class implementation, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/11d45a9e6ea4d942e75747132bb8982471d890b8\"\u003e\u003ccode\u003e11d45a9\u003c/code\u003e\u003c/a\u003e [misc] optimize binary row decoder null bitmap checks and simplify signed Big...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/5aad14c381cbc2c4e0383ffed275306f359bd508\"\u003e\u003ccode\u003e5aad14c\u003c/code\u003e\u003c/a\u003e [misc] optimize BigInt column decoding and improve type safety in codec inter...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb:flyway-mysql` from 12.0.3 to 12.5.0\n\nUpdates `org.projectlombok:lombok` from 1.18.42 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.44 (March 11th, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFEATURE: \u003ccode\u003e@Jacksonized\u003c/code\u003e now supports both Jackson2 and Jackson3; you'll get a warning until you configure which one (or even both!) you want lombok to generate. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3950\"\u003e#3950\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: On JDK25, \u003ccode\u003eval\u003c/code\u003e and \u003ccode\u003e@ExtensionMethod\u003c/code\u003e could sometimes cause erroneous errors (in that you see errors but compilation succeeds anyway) using javac. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3947\"\u003e#3947\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e + fields marked \u003ccode\u003etransient\u003c/code\u003e would result in those transient fields being serialised which is surprising (and thus undesired) behaviour. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3936\"\u003e#3936\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.42...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.pdfbox:pdfbox` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:pdfbox-io` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:xmpbox` from 3.0.6 to 3.0.7\n\nUpdates `com.github.RouHim:jaudiotagger` from 2.0.16 to 2.0.19\n\nUpdates `com.github.junrar:junrar` from 7.5.8 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.5.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier Roebroeck\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.9\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Ryan Campbell\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.9...v7.5.10\"\u003e7.5.10\u003c/a\u003e (2026-04-15)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.9\"\u003e7.5.9\u003c/a\u003e (2026-04-13)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e36ee091ad7311a021e1c928ada103a3eab2d890\"\u003e\u003ccode\u003ee36ee09\u003c/code\u003e\u003c/a\u003e ci: publish test results\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/154e3bf7b05bb6dcad5437a8fd8e99a8da916373\"\u003e\u003ccode\u003e154e3bf\u003c/code\u003e\u003c/a\u003e test: disable test on windows due to path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d77e9a83eb721cd51f9c23d7869d0e6ad7f952d7\"\u003e\u003ccode\u003ed77e9a8\u003c/code\u003e\u003c/a\u003e fix: better handling of files outside directory when extracting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/a60857b35c17dbd5354a37816421d7b051a8ba03\"\u003e\u003ccode\u003ea60857b\u003c/code\u003e\u003c/a\u003e ci: update homebrew action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/72cd364f47bd396e208cd82ca7aa98759ab84f01\"\u003e\u003ccode\u003e72cd364\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.9 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/7e1b5581f9d622b96e9e2a8574188027e7642634\"\u003e\u003ccode\u003e7e1b558\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/f800f10fa46f803f1220f508a40f59af29eb5118\"\u003e\u003ccode\u003ef800f10\u003c/code\u003e\u003c/a\u003e build(deps): bump org.mockito:mockito-core from 5.22.0 to 5.23.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/1886aecf253467ff8f98fc1187237605cf59fbb0\"\u003e\u003ccode\u003e1886aec\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/832f6857128bcd678d76bf263f8ee1533a1e8a86\"\u003e\u003ccode\u003e832f685\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper from 9.4.0 to 9.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/9b69c6b708dd88b925ba91fde563869cc0f8f586\"\u003e\u003ccode\u003e9b69c6b\u003c/code\u003e\u003c/a\u003e fix: ArrayIndexOutOfBoundsException in solid RAR v20 archive extraction\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.22.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.22.1...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.glassfish.jaxb:jaxb-runtime` from 4.0.6 to 4.0.8\n\nUpdates `tools.jackson:jackson-bom` from 3.1.0 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/c2ea79e9178f0aaa5e4f381c644140357bfc307e\"\u003e\u003ccode\u003ec2ea79e\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3906b27dcdde8fc6a4fef193147109b70bf2f0dc\"\u003e\u003ccode\u003e3906b27\u003c/code\u003e\u003c/a\u003e Prep for 3.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/b17b616c7dc264cfef26f9dd28eaf54bc40b5c4c\"\u003e\u003ccode\u003eb17b616\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/36cf9995cff15aa3e69786da1d6c52f208fddf8a\"\u003e\u003ccode\u003e36cf999\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0ae1c2ae270dabe8e21700cbcee1c266b54e84f0\"\u003e\u003ccode\u003e0ae1c2a\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3c171ebd5d6c5d8f6e8d4f3614cf9b4f0a8babb9\"\u003e\u003ccode\u003e3c171eb\u003c/code\u003e\u003c/a\u003e Prep for 3.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/8046ced071e0b36747bae0f0a96fa21914de1303\"\u003e\u003ccode\u003e8046ced\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ea00ca4cc59ba656a17a071e30a68387e51d3e0d\"\u003e\u003ccode\u003eea00ca4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0628060381a5b86e3fc07854a27b7453de559b7e\"\u003e\u003ccode\u003e0628060\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/22b8aeec79b87751a41c586404850c526eed1dbe\"\u003e\u003ccode\u003e22b8aee\u003c/code\u003e\u003c/a\u003e Prep for 3.1.1 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-3.1.0...jackson-bom-3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 4.0.3 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnversRevisionRepositoriesRegistrar should reuse \u003ccode\u003e@EnableEnversRepositories\u003c/code\u003e rather than configuring the JPA counterpart \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50039\"\u003e#50039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebFlux Cloud Foundry links endpoint includes query string from received request in resolved links \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50017\"\u003e#50017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImports on a containing test class are ignored when a nested class has imports \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50012\"\u003e#50012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49951\"\u003e#49951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e500 response from env endpoint when supplied pattern is invalid \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49946\"\u003e#49946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49945\"\u003e#49945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP method is lost when configuring excludes in EndpointRequest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49943\"\u003e#49943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor HttpMethod for reactive additional endpoint paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49880\"\u003e#49880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/artemis image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49869\"\u003e#49869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/activemq image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49866\"\u003e#49866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49854\"\u003e#49854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI versioning path strategy should be applied path last as it is not meant to yield \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49800\"\u003e#49800\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs to encourage Java fundamentals for beginners that prefer to learn that way \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50146\"\u003e#50146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP Service Interface Clients still document that API versioning can be configured via properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50126\"\u003e#50126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the observability section of the Lettuce documentation is broken \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50097\"\u003e#50097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJavadoc for StaticResourceLocation.FAVICON doesn't describe icons location \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50085\"\u003e#50085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySamlRelyingPartyConfiguration is missing a Kotlin sample \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50024\"\u003e#50024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect default value for management.httpexchanges.recording.include in configuration metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50019\"\u003e#50019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the Kubernetes documentation when discussing startup probes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50015\"\u003e#50015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in JdbcSessionAutoConfiguration Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49873\"\u003e#49873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify that configuration property default values are not available through the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49851\"\u003e#49851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument the need for Liquibase and Flyway starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49839\"\u003e#49839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKafka documentation refers to deprecated JSON serializer and deserializer classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49826\"\u003e#49826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Elasticsearch Client 9.2.8 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50027\"\u003e#50027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Groovy 5.0.5 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49911\"\u003e#49911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Hibernate 7.2.12.Final \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50134\"\u003e#50134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Jackson Bom 3.1.2 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50051\"\u003e#50051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1\"\u003eJaxen 2.0.1\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50104\"\u003e#50104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5\"\u003eJaybird 6.0.5\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49914\"\u003e#49914\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/8821ad2cd381bb4b9615a61479e1de7305a8ba39\"\u003e\u003ccode\u003e8821ad2\u003c/code\u003e\u003c/a\u003e Release v4.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9e4048a03f17adfe78057a3c4d5b4693305c0ae0\"\u003e\u003ccode\u003e9e4048a\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/20bb11c3984802990572ddbeae8b66885a8f2462\"\u003e\u003ccode\u003e20bb11c\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.15-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/98daa8ea30f39a5b0ca6768b5cbc2dc8698ef4e1\"\u003e\u003ccode\u003e98daa8e\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9dc5aa2863f598a15d3dfa116f4b89249daba7e7\"\u003e\u003ccode\u003e9dc5aa2\u003c/code\u003e\u003c/a\u003e Polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/874f6294b91da18367b8b5ab7b2fad3fa23cfba6\"\u003e\u003ccode\u003e874f629\u003c/code\u003e\u003c/a\u003e Fix default security with actuator but without health\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/e41b3bf731d1134bc18ec1f68ac01e0fe1c54923\"\u003e\u003ccode\u003ee41b3bf\u003c/code\u003e\u003c/a\u003e Enable hostname verification for SSL connections to Elasticsearch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ef8527bb0ef8f564f4f9c57a7be99a7aa96c6ab0\"\u003e\u003ccode\u003eef8527b\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f533a4549c3999aac30cb5830f07dc304933e93d\"\u003e\u003ccode\u003ef533a45\u003c/code\u003e\u003c/a\u003e Do not follow symlinks when writing PID file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4a7bd332b6d19fef1aa4cf28434985f2b03a2e0f\"\u003e\u003ccode\u003e4a7bd33\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.3...v4.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.hibernate.orm` from 7.2.6.Final to 7.3.3.Final\n\nUpdates `com.github.ben-manes.versions` from 0.53.0 to 0.54.0\n\nUpdates `gradle-wrapper` from 9.4.0 to 9.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.0/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.0 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0 RC4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/3fe117d68f3907790f3809f121aa36303a9151f8\"\u003e\u003ccode\u003e3fe117d\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37703\"\u003e#37703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/33d145af6fbe7cf7c9d84646b6d7f32fea91d5e2\"\u003e\u003ccode\u003e33d145a\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7a05d1ed48442eb5da4d6e2b6593da55cdec1da\"\u003e\u003ccode\u003ef7a05d1\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37654\"\u003e#37654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/266facdcbcb0b4c60120cc118eaf0f652bfcdfe5\"\u003e\u003ccode\u003e266facd\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0ad6dd8e143455707e444aa7e3d38327a3366513\"\u003e\u003ccode\u003e0ad6dd8\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37646\"\u003e#37646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/966025d5850d46c9158a2f25e4096222277ecf57\"\u003e\u003ccode\u003e966025d\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e7455734449e422accebf44cf7b31bf93e3a770c\"\u003e\u003ccode\u003ee745573\u003c/code\u003e\u003c/a\u003e Polish IP docs (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37642\"\u003e#37642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d5cfd079acd2c8f1182edd6ec23dbab571132d0a\"\u003e\u003ccode\u003ed5cfd07\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37629\"\u003e#37629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/acdf0c36fa13ba09a7ff5b51f79b9af4b1a097ee\"\u003e\u003ccode\u003eacdf0c3\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7d0e4f6f7896426a8b24091388e4c252b62faef\"\u003e\u003ccode\u003ef7d0e4f\u003c/code\u003e\u003c/a\u003e Rename anchor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.0...v9.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/cdome/ollumi/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdome%2Follumi/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"},{"uuid":"4363150180","node_id":"PR_kwDOBZpuic7XW03s","number":195,"state":"open","title":"Bump the all group with 8 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-01T06:22:51.000Z","updated_at":"2026-05-01T06:24:19.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"all","update_count":8,"packages":[{"name":"org.sonarqube","old_version":"7.2.3.7755","new_version":"7.3.0.8198"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"jaxen:jaxen","old_version":"2.0.0","new_version":"2.0.1","repository_url":"https://github.com/jaxen-xpath/jaxen"},{"name":"com.google.code.gson:gson","old_version":"2.13.2","new_version":"2.14.0","repository_url":"https://github.com/google/gson"},{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.3.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.3.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.10.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"}],"path":null,"ecosystem":"maven"},"body":"Bumps the all group with 8 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| org.sonarqube | `7.2.3.7755` | `7.3.0.8198` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| [jaxen:jaxen](https://github.com/jaxen-xpath/jaxen) | `2.0.0` | `2.0.1` |\n| [com.google.code.gson:gson](https://github.com/google/gson) | `2.13.2` | `2.14.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.0` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.3.21` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.3.21` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.10.0` | `1.11.0` |\n\nUpdates `org.sonarqube` from 7.2.3.7755 to 7.3.0.8198\n\nUpdates `com.github.ben-manes.versions` from 0.53.0 to 0.54.0\n\nUpdates `jaxen:jaxen` from 2.0.0 to 2.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases\"\u003ejaxen:jaxen's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe build is now fully byte-per-byte reproducible. If you use the same JDK on the same platform to compile, you'll get the same bytes out every time. This is a prerequisite for hash-based defenses against supply chain and MITM attacks.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe release has been mostly automated. It's not quite a one-click deploy but it's close.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSeveral bugs in XPath conformance detected by Claude Sonnet 4.6 were fixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003eround()\u003c/code\u003e function returns negative zero for values between -0.5 and -0.0.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003enumber()\u003c/code\u003e function rejects some strings Java recognizes as a number but XPath does not.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eanyMatchingNode()\u003c/code\u003e and \u003ccode\u003eevaluateAsBoolean()\u003c/code\u003e no longer throw \u003ccode\u003eNoSuchElementException\u003c/code\u003e when evaluating an XPath expression with multiple predicates and more nodes than predicates.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eDefaultCommentNodeStep.getText()\u003c/code\u003e includes predicates. (This one's very unlikely to have any effect on XPath queries or evaluation.)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe DOMNavigator can now search inside entity reference and document fragment nodes.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epunctuation and whitespace by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/157\"\u003ejaxen-xpath/jaxen#157\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremove duplicated condition from PatternParser convertStep by \u003ca href=\"https://github.com/hduelme\"\u003e\u003ccode\u003e@​hduelme\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/159\"\u003ejaxen-xpath/jaxen#159\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParameterize translate function.evaluate by \u003ca href=\"https://github.com/hduelme\"\u003e\u003ccode\u003e@​hduelme\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/161\"\u003ejaxen-xpath/jaxen#161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate compiler plugin to 3.10.1 by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/165\"\u003ejaxen-xpath/jaxen#165\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse StringBuilder instead of StringBuffer by \u003ca href=\"https://github.com/hduelme\"\u003e\u003ccode\u003e@​hduelme\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/160\"\u003ejaxen-xpath/jaxen#160\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSimplify assertions by \u003ca href=\"https://github.com/hduelme\"\u003e\u003ccode\u003e@​hduelme\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/162\"\u003ejaxen-xpath/jaxen#162\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emaven-project-info-reports-plugin 3.4.2 by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/166\"\u003ejaxen-xpath/jaxen#166\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emaven-javadoc-plugin 3.5.0 by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/167\"\u003ejaxen-xpath/jaxen#167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeprecate own implementation of SingletonList by \u003ca href=\"https://github.com/hduelme\"\u003e\u003ccode\u003e@​hduelme\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/169\"\u003ejaxen-xpath/jaxen#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emaven-source-plugin 3.2.1 by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/171\"\u003ejaxen-xpath/jaxen#171\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eclarify a few comments by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/175\"\u003ejaxen-xpath/jaxen#175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emaven-compiler-plugin 3.11.0 by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/176\"\u003ejaxen-xpath/jaxen#176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate source and assembly plugins by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/177\"\u003ejaxen-xpath/jaxen#177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebetter test code namespaces by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/178\"\u003ejaxen-xpath/jaxen#178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003equiet javadoc by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/179\"\u003ejaxen-xpath/jaxen#179\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove defunct mailing list archives by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/183\"\u003ejaxen-xpath/jaxen#183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate build plugins by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/184\"\u003ejaxen-xpath/jaxen#184\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMore plugin updates by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/185\"\u003ejaxen-xpath/jaxen#185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Maven plugins by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/187\"\u003ejaxen-xpath/jaxen#187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove maxPermSize by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/189\"\u003ejaxen-xpath/jaxen#189\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd devcontainer by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/192\"\u003ejaxen-xpath/jaxen#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCodespaces by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/193\"\u003ejaxen-xpath/jaxen#193\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse more defaults by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/194\"\u003ejaxen-xpath/jaxen#194\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse https in pom.xml by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/196\"\u003ejaxen-xpath/jaxen#196\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Java 1.3 javadoc references to current project requirements by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/200\"\u003ejaxen-xpath/jaxen#200\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd explicit versions for Maven core lifecycle plugins by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/198\"\u003ejaxen-xpath/jaxen#198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd comprehensive GitHub Copilot instructions for Jaxen development workflow by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/202\"\u003ejaxen-xpath/jaxen#202\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix all javadoc to conform to Oracle Javadoc guidelines by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/206\"\u003ejaxen-xpath/jaxen#206\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement comprehensive API compatibility checking with Animal Sniffer and Japicmp plugins by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/204\"\u003ejaxen-xpath/jaxen#204\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd SECURITY.md file with security reporting instructions by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/208\"\u003ejaxen-xpath/jaxen#208\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Maven wrapper to project by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/210\"\u003ejaxen-xpath/jaxen#210\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove optimize flag by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/215\"\u003ejaxen-xpath/jaxen#215\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ca href=\"https://github.com/see\"\u003e\u003ccode\u003e@​see\u003c/code\u003e\u003c/a\u003e references to Javadoc-excluded packages by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/218\"\u003ejaxen-xpath/jaxen#218\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd GitHub Actions CI for Java 8 by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/220\"\u003ejaxen-xpath/jaxen#220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e2.0 no longer beta by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/222\"\u003ejaxen-xpath/jaxen#222\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace CircleCI with GitHub Actions CI (Java 8) by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/221\"\u003ejaxen-xpath/jaxen#221\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaxen-xpath/jaxen/commit/21b6f5f4a85c61964e79eabadbf32451fa2a14ec\"\u003e\u003ccode\u003e21b6f5f\u003c/code\u003e\u003c/a\u003e Release 2.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaxen-xpath/jaxen/commit/861b412b552dd397ea086fe28246ed33ccff6d0e\"\u003e\u003ccode\u003e861b412\u003c/code\u003e\u003c/a\u003e docs: fix GitHub fine-grained PAT setup instructions to match current UI (\u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/issues/307\"\u003e#307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaxen-xpath/jaxen/commit/c0fb3052e46cdfa8e1bfa64f0d39ddbbc8984441\"\u003e\u003ccode\u003ec0fb305\u003c/code\u003e\u003c/a\u003e Move GPG private key export step to point of use in RELEASING.md (\u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/issues/305\"\u003e#305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaxen-xpath/jaxen/commit/b57f131ccc66efd95318bb1da7cb8ed044de47e8\"\u003e\u003ccode\u003eb57f131\u003c/code\u003e\u003c/a\u003e doc: add GitHub PAT creation instructions to RELEASING.md (\u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/issues/304\"\u003e#304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaxen-xpath/jaxen/commit/1cc4f79f81a86d6d10b1e6bcddf10f873f0fc7d2\"\u003e\u003ccode\u003e1cc4f79\u003c/code\u003e\u003c/a\u003e docs: clarify release secrets are repository-scoped (\u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/issues/302\"\u003e#302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaxen-xpath/jaxen/commit/efbe4bfb1fb082d20c1d3d0833df0bfa94267064\"\u003e\u003ccode\u003eefbe4bf\u003c/code\u003e\u003c/a\u003e Change CI/CD integration from CircleCI to GitHub Actions (\u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/issues/301\"\u003e#301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaxen-xpath/jaxen/commit/becec3a6f8ae76f20189e6c298b5c3902577abcd\"\u003e\u003ccode\u003ebecec3a\u003c/code\u003e\u003c/a\u003e Add hyperlinks to GitHub pages referenced in RELEASING.md (\u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/issues/298\"\u003e#298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaxen-xpath/jaxen/commit/b54daecb3712c34e2cbf80dfe0d2df9c11e86131\"\u003e\u003ccode\u003eb54daec\u003c/code\u003e\u003c/a\u003e Migrate release process from OSSRH to Central Publishing Portal (\u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/issues/295\"\u003e#295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaxen-xpath/jaxen/commit/6800fd2294c872aed2039d2f8fd6b253e3c028c3\"\u003e\u003ccode\u003e6800fd2\u003c/code\u003e\u003c/a\u003e Clarify GPG key creation instructions in RELEASING.md (\u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/issues/291\"\u003e#291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaxen-xpath/jaxen/commit/6731f5712f67ada1948e9a9eb82d58e16fdb43eb\"\u003e\u003ccode\u003e6731f57\u003c/code\u003e\u003c/a\u003e Update Maven distribution URL to version 3.9.15 (\u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/issues/289\"\u003e#289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jaxen-xpath/jaxen/compare/v2.0.0...v2.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.code.gson:gson` from 2.13.2 to 2.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/gson/releases\"\u003ecom.google.code.gson:gson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGson 2.14.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type adapters for \u003ccode\u003ejava.time\u003c/code\u003e classes by \u003ca href=\"https://github.com/eamonnmcmanus\"\u003e\u003ccode\u003e@​eamonnmcmanus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2948\"\u003egoogle/gson#2948\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003ejava.time\u003c/code\u003e API is available, Gson automatically can read and write instances of classes like \u003ccode\u003eInstant\u003c/code\u003e and \u003ccode\u003eDuration\u003c/code\u003e. The format it uses essentially freezes the JSON representation that \u003ccode\u003eReflectiveTypeAdapterFactory\u003c/code\u003e established by default, based on the private fields of \u003ccode\u003ejava.time\u003c/code\u003e classes. That's not a great representation, but it is understandable. Changing it to anything else would break compatibility with systems that are expecting the current format.\u003c/p\u003e\n\u003cp\u003eWith this change, Gson no longer tries to access private fields of these classes using reflection. So it is no longer necessary to run with \u003ccode\u003e--add-opens\u003c/code\u003e for these classes on recent JDKs.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003ecom.google.gson.graph\u003c/code\u003e by \u003ca href=\"https://github.com/eamonnmcmanus\"\u003e\u003ccode\u003e@​eamonnmcmanus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2990\"\u003egoogle/gson#2990\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis package was not part of any released artifact and depended on Gson internals in potentially problematic ways.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eValidate that strings being parsed as integers consist of ASCII characters by \u003ca href=\"https://github.com/eamonnmcmanus\"\u003e\u003ccode\u003e@​eamonnmcmanus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2995\"\u003egoogle/gson#2995\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePreviously, strings could contain non-ASCII Unicode digits and still be parsed as integers. That's inconsistent with how JSON numbers are treated.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix duplicate key detection when first value is null by \u003ca href=\"https://github.com/andrewstellman\"\u003e\u003ccode\u003e@​andrewstellman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/3006\"\u003egoogle/gson#3006\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis could potentially break code that was relying on the incorrect behaviour. For example, this JSON string was previously accepted but will no longer be: \u003ccode\u003e{\u0026quot;foo\u0026quot;: null, \u0026quot;foo\u0026quot;: bar}\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003eSerializable\u003c/code\u003e from internal \u003ccode\u003eType\u003c/code\u003e implementation classes. by \u003ca href=\"https://github.com/eamonnmcmanus\"\u003e\u003ccode\u003e@​eamonnmcmanus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/3011\"\u003egoogle/gson#3011\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe nested classes \u003ccode\u003eParameterizedTypeImpl\u003c/code\u003e, \u003ccode\u003eGenericArrayTypeImpl\u003c/code\u003e, and \u003ccode\u003eWildcardTypeImpl\u003c/code\u003e in \u003ccode\u003eGsonTypes\u003c/code\u003e are implementations of the corresponding types (without \u003ccode\u003eImpl\u003c/code\u003e) in \u003ccode\u003ejava.lang.reflect\u003c/code\u003e. For some reason, they were serializable, even though the \u003ccode\u003ejava.lang.reflect\u003c/code\u003e implementations are not. Having unnecessarily serializable classes could \u003cem\u003econceivably\u003c/em\u003e have been a security problem if they were part of a larger exploit using serialization. (We do not consider this a likely scenario and do not suggest that you need to update Gson just to get this change.)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eLegacyProtoTypeAdapterFactory\u003c/code\u003e. by \u003ca href=\"https://github.com/eamonnmcmanus\"\u003e\u003ccode\u003e@​eamonnmcmanus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/3014\"\u003egoogle/gson#3014\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is not part of any released artifact, but may be of use when trying to fix code that is currently accessing the internals of protobuf classes via reflection.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake AppendableWriter do flush and close if delegation object supports by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2925\"\u003egoogle/gson#2925\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther less visible changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd default capacity to EnumTypeAdapter maps by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2959\"\u003egoogle/gson#2959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: move derived adapters from Gson to TypeAdapters by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2951\"\u003egoogle/gson#2951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003enew Gson()\u003c/code\u003e by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2864\"\u003egoogle/gson#2864\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ThirdGoddess\"\u003e\u003ccode\u003e@​ThirdGoddess\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2944\"\u003egoogle/gson#2944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lmj798\"\u003e\u003ccode\u003e@​lmj798\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2988\"\u003egoogle/gson#2988\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Eng-YasminKotb\"\u003e\u003ccode\u003e@​Eng-YasminKotb\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/3005\"\u003egoogle/gson#3005\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andrewstellman\"\u003e\u003ccode\u003e@​andrewstellman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/3006\"\u003egoogle/gson#3006\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/gson/compare/gson-parent-2.13.2...gson-parent-2.14.0\"\u003ehttps://github.com/google/gson/compare/gson-parent-2.13.2...gson-parent-2.14.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/3ff35d6269894901ab8006258395aafc4b9765cd\"\u003e\u003ccode\u003e3ff35d6\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release gson-parent-2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/a3024fde2a5c12b9a9a0b6b914ae4899aa574d81\"\u003e\u003ccode\u003ea3024fd\u003c/code\u003e\u003c/a\u003e Bump the maven group with 13 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/3002\"\u003e#3002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/5689ffe44952ca6ed44c595886b9043286311b23\"\u003e\u003ccode\u003e5689ffe\u003c/code\u003e\u003c/a\u003e Bump the github-actions group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/3018\"\u003e#3018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/48db33cbf93af6b2f5b117dfdfd826de47f7229c\"\u003e\u003ccode\u003e48db33c\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eLegacyProtoTypeAdapterFactory\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/google/gson/issues/3014\"\u003e#3014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/53d703ee76ca3e951fa4a727307c1f28dbcaf3aa\"\u003e\u003ccode\u003e53d703e\u003c/code\u003e\u003c/a\u003e Update outdated comment regarding serializable types (\u003ca href=\"https://redirect.github.com/google/gson/issues/3012\"\u003e#3012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/0189b727761f31596d1a27b7c60b42478dc9f331\"\u003e\u003ccode\u003e0189b72\u003c/code\u003e\u003c/a\u003e Remove \u003ccode\u003eSerializable\u003c/code\u003e from internal \u003ccode\u003eType\u003c/code\u003e implementation classes. (\u003ca href=\"https://redirect.github.com/google/gson/issues/3011\"\u003e#3011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/f4d371d29c04066dbe7fdb31f642831f9c7f40cd\"\u003e\u003ccode\u003ef4d371d\u003c/code\u003e\u003c/a\u003e Fix duplicate key detection when first value is null (\u003ca href=\"https://redirect.github.com/google/gson/issues/3006\"\u003e#3006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/27d9ba1eeeeb156540cf5397504a4f9f256e911f\"\u003e\u003ccode\u003e27d9ba1\u003c/code\u003e\u003c/a\u003e Fix typo in README (JPMS dependencies section) (\u003ca href=\"https://redirect.github.com/google/gson/issues/3005\"\u003e#3005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/1fa9b7a0a994b006b3be00e2df9de778e71e6807\"\u003e\u003ccode\u003e1fa9b7a\u003c/code\u003e\u003c/a\u003e Validate that strings being parsed as integers consist of ASCII characters (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/b7d59549188867deb42e46073fb38735a5beda1c\"\u003e\u003ccode\u003eb7d5954\u003c/code\u003e\u003c/a\u003e Add iterator fail-fast tests for LinkedTreeMap.clear() (\u003ca href=\"https://redirect.github.com/google/gson/issues/2992\"\u003e#2992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/gson/compare/gson-parent-2.13.2...gson-parent-2.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gradle-wrapper` from 9.4.1 to 9.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.0/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.0 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0 RC4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/3fe117d68f3907790f3809f121aa36303a9151f8\"\u003e\u003ccode\u003e3fe117d\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37703\"\u003e#37703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/33d145af6fbe7cf7c9d84646b6d7f32fea91d5e2\"\u003e\u003ccode\u003e33d145a\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7a05d1ed48442eb5da4d6e2b6593da55cdec1da\"\u003e\u003ccode\u003ef7a05d1\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37654\"\u003e#37654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/266facdcbcb0b4c60120cc118eaf0f652bfcdfe5\"\u003e\u003ccode\u003e266facd\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0ad6dd8e143455707e444aa7e3d38327a3366513\"\u003e\u003ccode\u003e0ad6dd8\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37646\"\u003e#37646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/966025d5850d46c9158a2f25e4096222277ecf57\"\u003e\u003ccode\u003e966025d\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e7455734449e422accebf44cf7b31bf93e3a770c\"\u003e\u003ccode\u003ee745573\u003c/code\u003e\u003c/a\u003e Polish IP docs (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37642\"\u003e#37642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d5cfd079acd2c8f1182edd6ec23dbab571132d0a\"\u003e\u003ccode\u003ed5cfd07\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37629\"\u003e#37629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/acdf0c36fa13ba09a7ff5b51f79b9af4b1a097ee\"\u003e\u003ccode\u003eacdf0c3\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7d0e4f6f7896426a8b24091388e4c252b62faef\"\u003e\u003ccode\u003ef7d0e4f\u003c/code\u003e\u003c/a\u003e Rename anchor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.1...v9.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-serialization-json` from 1.10.0 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-serialization-json's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003cp\u003eThis release is based on Kotlin 2.3.20 and provides a new Json exceptions API and some bugfixes and improvements.\u003c/p\u003e\n\u003ch2\u003eExpose Json exceptions structure\u003c/h2\u003e\n\u003cp\u003eTo make working with exceptions easier and providing proper error codes in e.g., REST APIs,\nclasses \u003ccode\u003eJsonException\u003c/code\u003e, \u003ccode\u003eJsonDecodingException\u003c/code\u003e, and \u003ccode\u003eJsonEncodingException\u003c/code\u003e are now public.\nThey have relevant public properties, such as \u003ccode\u003eshortMessage\u003c/code\u003e, \u003ccode\u003epath\u003c/code\u003e, \u003ccode\u003eoffset\u003c/code\u003e, and others.\nThis API is currently experimental, and we're going to improve it further in the subsequent releases.\nSee the linked issues for the details: \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1930\"\u003e#1930\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1877\"\u003e#1877\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eAbility to hide user input from exception messages for security/privacy reasons.\u003c/h2\u003e\n\u003cp\u003eHistorically, exception messages in kotlinx.serialization often included the input Json itself for debuggability reason.\nSuch behavior may pose additional challenges for logging, analytics, and other systems, since\na system is not always allowed to store user data due to privacy/security reasons, which imposes additional sanitation logic.\nTo address this issue, a new property \u003ccode\u003eexceptionsWithDebugInfo\u003c/code\u003e is added to \u003ccode\u003eJsonConfiguration\u003c/code\u003e.\nDisable it to hide user input from exception messages.\nIMPORTANT: This behavior will be enabled by default when this property becomes stable.\nSee \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2590\"\u003e#2590\u003c/a\u003e for more details.\u003c/p\u003e\n\u003ch2\u003eBugfixes and improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCBOR: Relax value range check when decoding numbers (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3167\"\u003e#3167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse a specialized writeDecimalLong method for IO stream integrations in Json (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3152\"\u003e#3152\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md\"\u003eorg.jetbrains.kotlinx:kotlinx-serialization-json's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.11.0 / 2026-04-10\u003c/h1\u003e\n\u003cp\u003eThis release is based on Kotlin 2.3.20 and provides new Json exceptions API and some bugfixes and improvements.\u003c/p\u003e\n\u003ch2\u003eExpose Json exceptions structure\u003c/h2\u003e\n\u003cp\u003eTo make working with exceptions easier and providing proper error codes in e.g., REST APIs,\nclasses \u003ccode\u003eJsonException\u003c/code\u003e, \u003ccode\u003eJsonDecodingException\u003c/code\u003e, and \u003ccode\u003eJsonEncodingException\u003c/code\u003e are now public.\nThey have relevant public properties, such as \u003ccode\u003eshortMessage\u003c/code\u003e, \u003ccode\u003epath\u003c/code\u003e, \u003ccode\u003eoffset\u003c/code\u003e, and others.\nThis API is currently experimental, and we're going to improve it further in the subsequent releases.\nSee the linked issues for the details: \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1930\"\u003e#1930\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1877\"\u003e#1877\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eAbility to hide user input from exception messages for security/privacy reasons.\u003c/h2\u003e\n\u003cp\u003eHistorically, exception messages in kotlinx.serialization often included the input Json itself for debuggability reason.\nSuch behavior may pose additional challenges for logging, analytics, and other systems, since\na system is not always allowed to store user data due to privacy/security reasons, which imposes additional sanitation logic.\nTo address this issue, a new property \u003ccode\u003eexceptionsWithDebugInfo\u003c/code\u003e is added to \u003ccode\u003eJsonConfiguration\u003c/code\u003e.\nDisable it to hide user input from exception messages.\nIMPORTANT: This behavior will be enabled by default when this property becomes stable.\nSee \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2590\"\u003e#2590\u003c/a\u003e for more details.\u003c/p\u003e\n\u003ch2\u003eBugfixes and improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCBOR: Relax value range check when decoding numbers (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3167\"\u003e#3167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse a specialized writeDecimalLong method for IO stream integrations in Json (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3152\"\u003e#3152\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/6956af2e6073347c7832c3c5b374fa3b5a345956\"\u003e\u003ccode\u003e6956af2\u003c/code\u003e\u003c/a\u003e Prepare 1.11 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/390d84c68a19cbf7fa453dec22a333648bde49b4\"\u003e\u003ccode\u003e390d84c\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/431fe2dc0a144300b33038820d24fc30302c8abc\"\u003e\u003ccode\u003e431fe2d\u003c/code\u003e\u003c/a\u003e Use local repo for publishing (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3171\"\u003e#3171\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/05c12b60a6717b99053fb82e1f94d2f859727374\"\u003e\u003ccode\u003e05c12b6\u003c/code\u003e\u003c/a\u003e Add usage attribute to \u0026quot;testRepositories\u0026quot; configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/a4e1f082ef2e72caa139b474c05657de6015da20\"\u003e\u003ccode\u003ea4e1f08\u003c/code\u003e\u003c/a\u003e Bump Kover version to 0.9.8 release (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3174\"\u003e#3174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/304e858ccc7066854637d86ab80056f5f2bcc094\"\u003e\u003ccode\u003e304e858\u003c/code\u003e\u003c/a\u003e Expose Json exceptions structure (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3145\"\u003e#3145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/4a0338ef5093d765138151bc30282e909ca459e4\"\u003e\u003ccode\u003e4a0338e\u003c/code\u003e\u003c/a\u003e Included G Play SDK verification file for core-jvm (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3169\"\u003e#3169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/421f64c74f0ea6d4a3cdc8dd483505366e3f6c8f\"\u003e\u003ccode\u003e421f64c\u003c/code\u003e\u003c/a\u003e CBOR: Relax value range check when decoding numbers (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3167\"\u003e#3167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/85a4f126ec491c77e2b3686cc22c1bae27a20783\"\u003e\u003ccode\u003e85a4f12\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/bd38b0e49bce38d1a55576e89856bc63990167ed\"\u003e\u003ccode\u003ebd38b0e\u003c/code\u003e\u003c/a\u003e Remove dead code\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/compare/v1.10.0...v1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003c...\n\n_Description has been truncated_","html_url":"https://github.com/VerifAPS/verifaps-lib/pull/195","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/VerifAPS%2Fverifaps-lib/issues/195","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/195/packages"},{"uuid":"4362615619","node_id":"PR_kwDOR0sr5c7XVHRl","number":16,"state":"closed","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 11 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-05-08T03:11:37.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-01T03:22:20.000Z","updated_at":"2026-05-08T03:11:38.000Z","time_to_close":604157,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":11,"packages":[{"name":"org.mariadb.jdbc:mariadb-java-client","old_version":"3.5.7","new_version":"3.5.8","repository_url":"https://github.com/mariadb-corporation/mariadb-connector-j"},{"name":"org.flywaydb:flyway-mysql","old_version":"12.2.0","new_version":"12.5.0"},{"name":"org.projectlombok:lombok","old_version":"1.18.44","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"com.github.junrar:junrar","old_version":"7.5.8","new_version":"7.5.10","repository_url":"https://github.com/junrar/junrar"},{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"tools.jackson:jackson-bom","old_version":"3.1.1","new_version":"3.1.2","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"org.springframework.boot","old_version":"4.0.5","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.hibernate.orm","old_version":"7.3.0.Final","new_version":"7.3.2.Final"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 11 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) | `3.5.7` | `3.5.8` |\n| org.flywaydb:flyway-mysql | `12.2.0` | `12.5.0` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.44` | `1.18.46` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.8` | `7.5.10` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `3.0.2` | `3.0.3` |\n| [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `3.1.1` | `3.1.2` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.5` | `4.0.6` |\n| org.hibernate.orm | `7.3.0.Final` | `7.3.2.Final` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.0` |\n\n\nUpdates `org.mariadb.jdbc:mariadb-java-client` from 3.5.7 to 3.5.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/releases\"\u003eorg.mariadb.jdbc:mariadb-java-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eMariaDB Connector/Java 3.5.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/blob/main/CHANGELOG.md\"\u003eorg.mariadb.jdbc:mariadb-java-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/26b34a2f060070beb73515cfd2a49fabc8728843\"\u003e\u003ccode\u003e26b34a2\u003c/code\u003e\u003c/a\u003e Merge branch 'develop'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/06d6efee7838ab8f89ef0f7f362c6b4a95754630\"\u003e\u003ccode\u003e06d6efe\u003c/code\u003e\u003c/a\u003e bump CI actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a86a83c8fd1fa84d8d4349baab3b29df8f575192\"\u003e\u003ccode\u003ea86a83c\u003c/code\u003e\u003c/a\u003e bump 3.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/975f9919232b21f40d823423eac6e32d87ea8e35\"\u003e\u003ccode\u003e975f991\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to implement Codec directly and extract shared...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/75bb509521661603e0e90dd6dd5942d1382bf499\"\u003e\u003ccode\u003e75bb509\u003c/code\u003e\u003c/a\u003e [misc] code formatting cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/4c0b6a0ddd95f42fa866ce0d08e384caa2553d43\"\u003e\u003ccode\u003e4c0b6a0\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to extend UtilDateCodec and extract common dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a5b7fb1a26277a076052dbbd1a7ee2bacd4f602f\"\u003e\u003ccode\u003ea5b7fb1\u003c/code\u003e\u003c/a\u003e [misc] convert Reader and Writer from interfaces to final class implementatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/d31eb060fc66e9e37479e18a38bb1401d53ecb63\"\u003e\u003ccode\u003ed31eb06\u003c/code\u003e\u003c/a\u003e [misc] convert ReadableByteBuf from interface to final class implementation, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/11d45a9e6ea4d942e75747132bb8982471d890b8\"\u003e\u003ccode\u003e11d45a9\u003c/code\u003e\u003c/a\u003e [misc] optimize binary row decoder null bitmap checks and simplify signed Big...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/5aad14c381cbc2c4e0383ffed275306f359bd508\"\u003e\u003ccode\u003e5aad14c\u003c/code\u003e\u003c/a\u003e [misc] optimize BigInt column decoding and improve type safety in codec inter...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb:flyway-mysql` from 12.2.0 to 12.5.0\n\nUpdates `org.projectlombok:lombok` from 1.18.44 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.44...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.junrar:junrar` from 7.5.8 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.5.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier Roebroeck\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.9\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Ryan Campbell\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.9...v7.5.10\"\u003e7.5.10\u003c/a\u003e (2026-04-15)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.9\"\u003e7.5.9\u003c/a\u003e (2026-04-13)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e36ee091ad7311a021e1c928ada103a3eab2d890\"\u003e\u003ccode\u003ee36ee09\u003c/code\u003e\u003c/a\u003e ci: publish test results\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/154e3bf7b05bb6dcad5437a8fd8e99a8da916373\"\u003e\u003ccode\u003e154e3bf\u003c/code\u003e\u003c/a\u003e test: disable test on windows due to path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d77e9a83eb721cd51f9c23d7869d0e6ad7f952d7\"\u003e\u003ccode\u003ed77e9a8\u003c/code\u003e\u003c/a\u003e fix: better handling of files outside directory when extracting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/a60857b35c17dbd5354a37816421d7b051a8ba03\"\u003e\u003ccode\u003ea60857b\u003c/code\u003e\u003c/a\u003e ci: update homebrew action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/72cd364f47bd396e208cd82ca7aa98759ab84f01\"\u003e\u003ccode\u003e72cd364\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.9 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/7e1b5581f9d622b96e9e2a8574188027e7642634\"\u003e\u003ccode\u003e7e1b558\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/f800f10fa46f803f1220f508a40f59af29eb5118\"\u003e\u003ccode\u003ef800f10\u003c/code\u003e\u003c/a\u003e build(deps): bump org.mockito:mockito-core from 5.22.0 to 5.23.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/1886aecf253467ff8f98fc1187237605cf59fbb0\"\u003e\u003ccode\u003e1886aec\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/832f6857128bcd678d76bf263f8ee1533a1e8a86\"\u003e\u003ccode\u003e832f685\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper from 9.4.0 to 9.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/9b69c6b708dd88b925ba91fde563869cc0f8f586\"\u003e\u003ccode\u003e9b69c6b\u003c/code\u003e\u003c/a\u003e fix: ArrayIndexOutOfBoundsException in solid RAR v20 archive extraction\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.22.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.22.1...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tools.jackson:jackson-bom` from 3.1.1 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0ae1c2ae270dabe8e21700cbcee1c266b54e84f0\"\u003e\u003ccode\u003e0ae1c2a\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3c171ebd5d6c5d8f6e8d4f3614cf9b4f0a8babb9\"\u003e\u003ccode\u003e3c171eb\u003c/code\u003e\u003c/a\u003e Prep for 3.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/8046ced071e0b36747bae0f0a96fa21914de1303\"\u003e\u003ccode\u003e8046ced\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ea00ca4cc59ba656a17a071e30a68387e51d3e0d\"\u003e\u003ccode\u003eea00ca4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-3.1.1...jackson-bom-3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 4.0.5 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnversRevisionRepositoriesRegistrar should reuse \u003ccode\u003e@EnableEnversRepositories\u003c/code\u003e rather than configuring the JPA counterpart \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50039\"\u003e#50039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebFlux Cloud Foundry links endpoint includes query string from received request in resolved links \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50017\"\u003e#50017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImports on a containing test class are ignored when a nested class has imports \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50012\"\u003e#50012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49951\"\u003e#49951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e500 response from env endpoint when supplied pattern is invalid \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49946\"\u003e#49946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49945\"\u003e#49945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP method is lost when configuring excludes in EndpointRequest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49943\"\u003e#49943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor HttpMethod for reactive additional endpoint paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49880\"\u003e#49880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/artemis image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49869\"\u003e#49869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/activemq image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49866\"\u003e#49866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49854\"\u003e#49854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI versioning path strategy should be applied path last as it is not meant to yield \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49800\"\u003e#49800\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs to encourage Java fundamentals for beginners that prefer to learn that way \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50146\"\u003e#50146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP Service Interface Clients still document that API versioning can be configured via properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50126\"\u003e#50126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the observability section of the Lettuce documentation is broken \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50097\"\u003e#50097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJavadoc for StaticResourceLocation.FAVICON doesn't describe icons location \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50085\"\u003e#50085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySamlRelyingPartyConfiguration is missing a Kotlin sample \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50024\"\u003e#50024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect default value for management.httpexchanges.recording.include in configuration metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50019\"\u003e#50019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the Kubernetes documentation when discussing startup probes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50015\"\u003e#50015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in JdbcSessionAutoConfiguration Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49873\"\u003e#49873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify that configuration property default values are not available through the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49851\"\u003e#49851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument the need for Liquibase and Flyway starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49839\"\u003e#49839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKafka documentation refers to deprecated JSON serializer and deserializer classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49826\"\u003e#49826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Elasticsearch Client 9.2.8 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50027\"\u003e#50027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Groovy 5.0.5 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49911\"\u003e#49911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Hibernate 7.2.12.Final \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50134\"\u003e#50134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Jackson Bom 3.1.2 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50051\"\u003e#50051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1\"\u003eJaxen 2.0.1\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50104\"\u003e#50104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5\"\u003eJaybird 6.0.5\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49914\"\u003e#49914\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/8821ad2cd381bb4b9615a61479e1de7305a8ba39\"\u003e\u003ccode\u003e8821ad2\u003c/code\u003e\u003c/a\u003e Release v4.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9e4048a03f17adfe78057a3c4d5b4693305c0ae0\"\u003e\u003ccode\u003e9e4048a\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/20bb11c3984802990572ddbeae8b66885a8f2462\"\u003e\u003ccode\u003e20bb11c\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.15-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/98daa8ea30f39a5b0ca6768b5cbc2dc8698ef4e1\"\u003e\u003ccode\u003e98daa8e\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9dc5aa2863f598a15d3dfa116f4b89249daba7e7\"\u003e\u003ccode\u003e9dc5aa2\u003c/code\u003e\u003c/a\u003e Polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/874f6294b91da18367b8b5ab7b2fad3fa23cfba6\"\u003e\u003ccode\u003e874f629\u003c/code\u003e\u003c/a\u003e Fix default security with actuator but without health\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/e41b3bf731d1134bc18ec1f68ac01e0fe1c54923\"\u003e\u003ccode\u003ee41b3bf\u003c/code\u003e\u003c/a\u003e Enable hostname verification for SSL connections to Elasticsearch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ef8527bb0ef8f564f4f9c57a7be99a7aa96c6ab0\"\u003e\u003ccode\u003eef8527b\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f533a4549c3999aac30cb5830f07dc304933e93d\"\u003e\u003ccode\u003ef533a45\u003c/code\u003e\u003c/a\u003e Do not follow symlinks when writing PID file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4a7bd332b6d19fef1aa4cf28434985f2b03a2e0f\"\u003e\u003ccode\u003e4a7bd33\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.5...v4.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.hibernate.orm` from 7.3.0.Final to 7.3.2.Final\n\nUpdates `com.github.ben-manes.versions` from 0.53.0 to 0.54.0\n\nUpdates `gradle-wrapper` from 9.4.1 to 9.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.0/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.0 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0 RC4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/3fe117d68f3907790f3809f121aa36303a9151f8\"\u003e\u003ccode\u003e3fe117d\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37703\"\u003e#37703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/33d145af6fbe7cf7c9d84646b6d7f32fea91d5e2\"\u003e\u003ccode\u003e33d145a\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7a05d1ed48442eb5da4d6e2b6593da55cdec1da\"\u003e\u003ccode\u003ef7a05d1\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37654\"\u003e#37654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/266facdcbcb0b4c60120cc118eaf0f652bfcdfe5\"\u003e\u003ccode\u003e266facd\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0ad6dd8e143455707e444aa7e3d38327a3366513\"\u003e\u003ccode\u003e0ad6dd8\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37646\"\u003e#37646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/966025d5850d46c9158a2f25e4096222277ecf57\"\u003e\u003ccode\u003e966025d\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e7455734449e422accebf44cf7b31bf93e3a770c\"\u003e\u003ccode\u003ee745573\u003c/code\u003e\u003c/a\u003e Polish IP docs (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37642\"\u003e#37642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d5cfd079acd2c8f1182edd6ec23dbab571132d0a\"\u003e\u003ccode\u003ed5cfd07\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37629\"\u003e#37629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/acdf0c36fa13ba09a7ff5b51f79b9af4b1a097ee\"\u003e\u003ccode\u003eacdf0c3\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7d0e4f6f7896426a8b24091388e4c252b62faef\"\u003e\u003ccode\u003ef7d0e4f\u003c/code\u003e\u003c/a\u003e Rename anchor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.1...v9.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/willianpaixao/booklore/pull/16","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/willianpaixao%2Fbooklore/issues/16","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/16/packages"},{"uuid":"4320244201","node_id":"PR_kwDORprh4c7VMZt8","number":27,"state":"open","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 12 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-24T03:10:28.000Z","updated_at":"2026-04-24T03:15:13.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":12,"packages":[{"name":"org.mariadb.jdbc:mariadb-java-client","old_version":"3.5.7","new_version":"3.5.8","repository_url":"https://github.com/mariadb-corporation/mariadb-connector-j"},{"name":"org.flywaydb:flyway-mysql","old_version":"12.1.1","new_version":"12.4.0"},{"name":"org.projectlombok:lombok","old_version":"1.18.44","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"com.github.RouHim:jaudiotagger","old_version":"2.0.18","new_version":"2.0.19"},{"name":"com.github.junrar:junrar","old_version":"7.5.8","new_version":"7.5.10","repository_url":"https://github.com/junrar/junrar"},{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"tools.jackson:jackson-bom","old_version":"3.1.0","new_version":"3.1.2","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"org.springframework.boot","old_version":"4.0.3","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.hibernate.orm","old_version":"7.3.0.Final","new_version":"7.3.2.Final"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"gradle-wrapper","old_version":"9.4.0","new_version":"9.4.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 12 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) | `3.5.7` | `3.5.8` |\n| org.flywaydb:flyway-mysql | `12.1.1` | `12.4.0` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.44` | `1.18.46` |\n| com.github.RouHim:jaudiotagger | `2.0.18` | `2.0.19` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.8` | `7.5.10` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `3.0.2` | `3.0.3` |\n| [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `3.1.0` | `3.1.2` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.3` | `4.0.6` |\n| org.hibernate.orm | `7.3.0.Final` | `7.3.2.Final` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.0` | `9.4.1` |\n\n\nUpdates `org.mariadb.jdbc:mariadb-java-client` from 3.5.7 to 3.5.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/releases\"\u003eorg.mariadb.jdbc:mariadb-java-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eMariaDB Connector/Java 3.5.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/blob/main/CHANGELOG.md\"\u003eorg.mariadb.jdbc:mariadb-java-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/26b34a2f060070beb73515cfd2a49fabc8728843\"\u003e\u003ccode\u003e26b34a2\u003c/code\u003e\u003c/a\u003e Merge branch 'develop'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/06d6efee7838ab8f89ef0f7f362c6b4a95754630\"\u003e\u003ccode\u003e06d6efe\u003c/code\u003e\u003c/a\u003e bump CI actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a86a83c8fd1fa84d8d4349baab3b29df8f575192\"\u003e\u003ccode\u003ea86a83c\u003c/code\u003e\u003c/a\u003e bump 3.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/975f9919232b21f40d823423eac6e32d87ea8e35\"\u003e\u003ccode\u003e975f991\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to implement Codec directly and extract shared...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/75bb509521661603e0e90dd6dd5942d1382bf499\"\u003e\u003ccode\u003e75bb509\u003c/code\u003e\u003c/a\u003e [misc] code formatting cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/4c0b6a0ddd95f42fa866ce0d08e384caa2553d43\"\u003e\u003ccode\u003e4c0b6a0\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to extend UtilDateCodec and extract common dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a5b7fb1a26277a076052dbbd1a7ee2bacd4f602f\"\u003e\u003ccode\u003ea5b7fb1\u003c/code\u003e\u003c/a\u003e [misc] convert Reader and Writer from interfaces to final class implementatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/d31eb060fc66e9e37479e18a38bb1401d53ecb63\"\u003e\u003ccode\u003ed31eb06\u003c/code\u003e\u003c/a\u003e [misc] convert ReadableByteBuf from interface to final class implementation, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/11d45a9e6ea4d942e75747132bb8982471d890b8\"\u003e\u003ccode\u003e11d45a9\u003c/code\u003e\u003c/a\u003e [misc] optimize binary row decoder null bitmap checks and simplify signed Big...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/5aad14c381cbc2c4e0383ffed275306f359bd508\"\u003e\u003ccode\u003e5aad14c\u003c/code\u003e\u003c/a\u003e [misc] optimize BigInt column decoding and improve type safety in codec inter...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb:flyway-mysql` from 12.1.1 to 12.4.0\n\nUpdates `org.projectlombok:lombok` from 1.18.44 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.44...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.RouHim:jaudiotagger` from 2.0.18 to 2.0.19\n\nUpdates `com.github.junrar:junrar` from 7.5.8 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.5.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier Roebroeck\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.9\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Ryan Campbell\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.9...v7.5.10\"\u003e7.5.10\u003c/a\u003e (2026-04-15)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.9\"\u003e7.5.9\u003c/a\u003e (2026-04-13)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e36ee091ad7311a021e1c928ada103a3eab2d890\"\u003e\u003ccode\u003ee36ee09\u003c/code\u003e\u003c/a\u003e ci: publish test results\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/154e3bf7b05bb6dcad5437a8fd8e99a8da916373\"\u003e\u003ccode\u003e154e3bf\u003c/code\u003e\u003c/a\u003e test: disable test on windows due to path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d77e9a83eb721cd51f9c23d7869d0e6ad7f952d7\"\u003e\u003ccode\u003ed77e9a8\u003c/code\u003e\u003c/a\u003e fix: better handling of files outside directory when extracting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/a60857b35c17dbd5354a37816421d7b051a8ba03\"\u003e\u003ccode\u003ea60857b\u003c/code\u003e\u003c/a\u003e ci: update homebrew action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/72cd364f47bd396e208cd82ca7aa98759ab84f01\"\u003e\u003ccode\u003e72cd364\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.9 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/7e1b5581f9d622b96e9e2a8574188027e7642634\"\u003e\u003ccode\u003e7e1b558\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/f800f10fa46f803f1220f508a40f59af29eb5118\"\u003e\u003ccode\u003ef800f10\u003c/code\u003e\u003c/a\u003e build(deps): bump org.mockito:mockito-core from 5.22.0 to 5.23.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/1886aecf253467ff8f98fc1187237605cf59fbb0\"\u003e\u003ccode\u003e1886aec\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/832f6857128bcd678d76bf263f8ee1533a1e8a86\"\u003e\u003ccode\u003e832f685\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper from 9.4.0 to 9.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/9b69c6b708dd88b925ba91fde563869cc0f8f586\"\u003e\u003ccode\u003e9b69c6b\u003c/code\u003e\u003c/a\u003e fix: ArrayIndexOutOfBoundsException in solid RAR v20 archive extraction\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.22.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.22.1...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tools.jackson:jackson-bom` from 3.1.0 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0ae1c2ae270dabe8e21700cbcee1c266b54e84f0\"\u003e\u003ccode\u003e0ae1c2a\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3c171ebd5d6c5d8f6e8d4f3614cf9b4f0a8babb9\"\u003e\u003ccode\u003e3c171eb\u003c/code\u003e\u003c/a\u003e Prep for 3.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/8046ced071e0b36747bae0f0a96fa21914de1303\"\u003e\u003ccode\u003e8046ced\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ea00ca4cc59ba656a17a071e30a68387e51d3e0d\"\u003e\u003ccode\u003eea00ca4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0628060381a5b86e3fc07854a27b7453de559b7e\"\u003e\u003ccode\u003e0628060\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/22b8aeec79b87751a41c586404850c526eed1dbe\"\u003e\u003ccode\u003e22b8aee\u003c/code\u003e\u003c/a\u003e Prep for 3.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/2d305e6af8b61c6c30f5658cd8c794419e233a53\"\u003e\u003ccode\u003e2d305e6\u003c/code\u003e\u003c/a\u003e Add JDK 25 in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/da85336a6e5749354bc65536f493a712401eea4f\"\u003e\u003ccode\u003eda85336\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/FasterXML/jackson-bom/issues/123\"\u003e#123\u003c/a\u003e from FasterXML/tatu/3.1/122-switch-to-junit6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/7ec5e0ec5ad5e53e12e775537e4717478841d459\"\u003e\u003ccode\u003e7ec5e0e\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/FasterXML/jackson-bom/issues/122\"\u003e#122\u003c/a\u003e: switch 3.x (starting with 3.1.1) to use JUnit 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ef0977031036f6fcc6d54eaeb93ccd35a2ab2c96\"\u003e\u003ccode\u003eef09770\u003c/code\u003e\u003c/a\u003e Update oss-parent dep\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-3.1.0...jackson-bom-3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 4.0.3 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnversRevisionRepositoriesRegistrar should reuse \u003ccode\u003e@EnableEnversRepositories\u003c/code\u003e rather than configuring the JPA counterpart \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50039\"\u003e#50039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebFlux Cloud Foundry links endpoint includes query string from received request in resolved links \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50017\"\u003e#50017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImports on a containing test class are ignored when a nested class has imports \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50012\"\u003e#50012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49951\"\u003e#49951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e500 response from env endpoint when supplied pattern is invalid \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49946\"\u003e#49946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49945\"\u003e#49945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP method is lost when configuring excludes in EndpointRequest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49943\"\u003e#49943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor HttpMethod for reactive additional endpoint paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49880\"\u003e#49880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/artemis image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49869\"\u003e#49869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/activemq image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49866\"\u003e#49866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49854\"\u003e#49854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI versioning path strategy should be applied path last as it is not meant to yield \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49800\"\u003e#49800\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs to encourage Java fundamentals for beginners that prefer to learn that way \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50146\"\u003e#50146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP Service Interface Clients still document that API versioning can be configured via properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50126\"\u003e#50126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the observability section of the Lettuce documentation is broken \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50097\"\u003e#50097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJavadoc for StaticResourceLocation.FAVICON doesn't describe icons location \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50085\"\u003e#50085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySamlRelyingPartyConfiguration is missing a Kotlin sample \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50024\"\u003e#50024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect default value for management.httpexchanges.recording.include in configuration metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50019\"\u003e#50019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the Kubernetes documentation when discussing startup probes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50015\"\u003e#50015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in JdbcSessionAutoConfiguration Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49873\"\u003e#49873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify that configuration property default values are not available through the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49851\"\u003e#49851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument the need for Liquibase and Flyway starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49839\"\u003e#49839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKafka documentation refers to deprecated JSON serializer and deserializer classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49826\"\u003e#49826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Elasticsearch Client 9.2.8 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50027\"\u003e#50027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Groovy 5.0.5 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49911\"\u003e#49911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Hibernate 7.2.12.Final \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50134\"\u003e#50134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Jackson Bom 3.1.2 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50051\"\u003e#50051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1\"\u003eJaxen 2.0.1\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50104\"\u003e#50104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5\"\u003eJaybird 6.0.5\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49914\"\u003e#49914\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/8821ad2cd381bb4b9615a61479e1de7305a8ba39\"\u003e\u003ccode\u003e8821ad2\u003c/code\u003e\u003c/a\u003e Release v4.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9e4048a03f17adfe78057a3c4d5b4693305c0ae0\"\u003e\u003ccode\u003e9e4048a\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/20bb11c3984802990572ddbeae8b66885a8f2462\"\u003e\u003ccode\u003e20bb11c\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.15-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/98daa8ea30f39a5b0ca6768b5cbc2dc8698ef4e1\"\u003e\u003ccode\u003e98daa8e\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9dc5aa2863f598a15d3dfa116f4b89249daba7e7\"\u003e\u003ccode\u003e9dc5aa2\u003c/code\u003e\u003c/a\u003e Polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/874f6294b91da18367b8b5ab7b2fad3fa23cfba6\"\u003e\u003ccode\u003e874f629\u003c/code\u003e\u003c/a\u003e Fix default security with actuator but without health\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/e41b3bf731d1134bc18ec1f68ac01e0fe1c54923\"\u003e\u003ccode\u003ee41b3bf\u003c/code\u003e\u003c/a\u003e Enable hostname verification for SSL connections to Elasticsearch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ef8527bb0ef8f564f4f9c57a7be99a7aa96c6ab0\"\u003e\u003ccode\u003eef8527b\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f533a4549c3999aac30cb5830f07dc304933e93d\"\u003e\u003ccode\u003ef533a45\u003c/code\u003e\u003c/a\u003e Do not follow symlinks when writing PID file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4a7bd332b6d19fef1aa4cf28434985f2b03a2e0f\"\u003e\u003ccode\u003e4a7bd33\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.3...v4.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.hibernate.orm` from 7.3.0.Final to 7.3.2.Final\n\nUpdates `com.github.ben-manes.versions` from 0.53.0 to 0.54.0\n\nUpdates `gradle-wrapper` from 9.4.0 to 9.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.4.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.4.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava 26 support\u003c/li\u003e\n\u003cli\u003eNon-class-based JVM tests\u003c/li\u003e\n\u003cli\u003eEnhanced console progress bar\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.4.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/akankshaa-00\"\u003eakankshaa-00\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/dblood\"\u003edblood\u003c/a\u003e,\n\u003ca href=\"https://github.com/drieks\"\u003eDennis Rieks\u003c/a\u003e,\n\u003ca href=\"https://github.com/duvvuvenkataramana\"\u003eduvvuvenkataramana\u003c/a\u003e,\n\u003ca href=\"https://github.com/wakingrufus\"\u003eJohn Burns\u003c/a\u003e,\n\u003ca href=\"https://github.com/Julianw03\"\u003eJulian\u003c/a\u003e,\n\u003ca href=\"https://github.com/kevinstembridge\"\u003ekevinstembridge\u003c/a\u003e,\n\u003ca href=\"https://github.com/NielsDoucet\"\u003eNiels Doucet\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rhernandez35\"\u003eRichard Hernandez\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/slovdahl\"\u003eSebastian Lövdahl\u003c/a\u003e,\n\u003ca href=\"https://github.com/stephan2405\"\u003estephan2405\u003c/a\u003e,\n\u003ca href=\"https://github.com/slandelle\"\u003eStephane Landelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Pankraz76\"\u003eVincent Potuček\u003c/a\u003e,\n\u003ca href=\"https://github.com/vlsi\"\u003eVladimir Sitnikov\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.4.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.4.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2d6327017519d23b96af35865dc997fcb544fb40\"\u003e\u003ccode\u003e2d63270\u003c/code\u003e\u003c/a\u003e Ignore test (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37180\"\u003e#37180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4c15906d6a20acc61f2f7b9272c8cb7a6f708239\"\u003e\u003ccode\u003e4c15906\u003c/code\u003e\u003c/a\u003e Ignore test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9759ac1dec4b3742012397b5f0127a777947b73f\"\u003e\u003ccode\u003e9759ac1\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37178\"\u003e#37178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/aaf6ed46ed8d4c3b9b7a7a751cda5893668b2a42\"\u003e\u003ccode\u003eaaf6ed4\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/47cb78328a6ddc6c1509003ab3264017ed5d9a0a\"\u003e\u003ccode\u003e47cb783\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 progress bar not cleared on SIGINT (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37038\"\u003e#37038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ef03f1d41b0a65f6aae0931d4746f7359647a7e4\"\u003e\u003ccode\u003eef03f1d\u003c/code\u003e\u003c/a\u003e Fix order-dependent assertion in CrossBuildScriptCachingIntegrationSpec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd26fd36d693337dbf033143a9ac0e71f78a4209\"\u003e\u003ccode\u003efd26fd3\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 taskbar progress bar not cleared on build end or SIGINT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0a84d6751921709fbc7d552a50d9e3b34eb1930d\"\u003e\u003ccode\u003e0a84d67\u003c/code\u003e\u003c/a\u003e Release notes for 9.4.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37148\"\u003e#37148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e569c31320ae6c7be490def60d36de17881f9957\"\u003e\u003ccode\u003ee569c31\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9f227defc2e02a991f05fba50f7de2fbe13b7c5b\"\u003e\u003ccode\u003e9f227de\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.0...v9.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/Owemeone/grimmory/pull/27","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Owemeone%2Fgrimmory/issues/27","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/27/packages"},{"uuid":"4320244125","node_id":"PR_kwDORvJjTc7VMZtC","number":23,"state":"open","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 16 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-24T03:10:26.000Z","updated_at":"2026-04-24T03:15:15.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":16,"packages":[{"name":"org.mariadb.jdbc:mariadb-java-client","old_version":"3.5.7","new_version":"3.5.8","repository_url":"https://github.com/mariadb-corporation/mariadb-connector-j"},{"name":"org.flywaydb:flyway-mysql","old_version":"12.0.3","new_version":"12.4.0"},{"name":"org.projectlombok:lombok","old_version":"1.18.42","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"org.apache.pdfbox:pdfbox","old_version":"3.0.6","new_version":"3.0.7"},{"name":"com.github.RouHim:jaudiotagger","old_version":"2.0.16","new_version":"2.0.19"},{"name":"com.github.junrar:junrar","old_version":"7.5.8","new_version":"7.5.10","repository_url":"https://github.com/junrar/junrar"},{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"4.0.6","new_version":"4.0.7"},{"name":"tools.jackson:jackson-bom","old_version":"3.1.0","new_version":"3.1.2","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"org.springframework.boot","old_version":"4.0.3","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.hibernate.orm","old_version":"7.2.6.Final","new_version":"7.3.2.Final"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"gradle-wrapper","old_version":"9.4.0","new_version":"9.4.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 14 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) | `3.5.7` | `3.5.8` |\n| org.flywaydb:flyway-mysql | `12.0.3` | `12.4.0` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.42` | `1.18.46` |\n| org.apache.pdfbox:pdfbox | `3.0.6` | `3.0.7` |\n| com.github.RouHim:jaudiotagger | `2.0.16` | `2.0.19` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.8` | `7.5.10` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `3.0.2` | `3.0.3` |\n| org.glassfish.jaxb:jaxb-runtime | `4.0.6` | `4.0.7` |\n| [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `3.1.0` | `3.1.2` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.3` | `4.0.6` |\n| org.hibernate.orm | `7.2.6.Final` | `7.3.2.Final` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.0` | `9.4.1` |\n\n\nUpdates `org.mariadb.jdbc:mariadb-java-client` from 3.5.7 to 3.5.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/releases\"\u003eorg.mariadb.jdbc:mariadb-java-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eMariaDB Connector/Java 3.5.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/blob/main/CHANGELOG.md\"\u003eorg.mariadb.jdbc:mariadb-java-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/26b34a2f060070beb73515cfd2a49fabc8728843\"\u003e\u003ccode\u003e26b34a2\u003c/code\u003e\u003c/a\u003e Merge branch 'develop'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/06d6efee7838ab8f89ef0f7f362c6b4a95754630\"\u003e\u003ccode\u003e06d6efe\u003c/code\u003e\u003c/a\u003e bump CI actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a86a83c8fd1fa84d8d4349baab3b29df8f575192\"\u003e\u003ccode\u003ea86a83c\u003c/code\u003e\u003c/a\u003e bump 3.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/975f9919232b21f40d823423eac6e32d87ea8e35\"\u003e\u003ccode\u003e975f991\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to implement Codec directly and extract shared...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/75bb509521661603e0e90dd6dd5942d1382bf499\"\u003e\u003ccode\u003e75bb509\u003c/code\u003e\u003c/a\u003e [misc] code formatting cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/4c0b6a0ddd95f42fa866ce0d08e384caa2553d43\"\u003e\u003ccode\u003e4c0b6a0\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to extend UtilDateCodec and extract common dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a5b7fb1a26277a076052dbbd1a7ee2bacd4f602f\"\u003e\u003ccode\u003ea5b7fb1\u003c/code\u003e\u003c/a\u003e [misc] convert Reader and Writer from interfaces to final class implementatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/d31eb060fc66e9e37479e18a38bb1401d53ecb63\"\u003e\u003ccode\u003ed31eb06\u003c/code\u003e\u003c/a\u003e [misc] convert ReadableByteBuf from interface to final class implementation, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/11d45a9e6ea4d942e75747132bb8982471d890b8\"\u003e\u003ccode\u003e11d45a9\u003c/code\u003e\u003c/a\u003e [misc] optimize binary row decoder null bitmap checks and simplify signed Big...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/5aad14c381cbc2c4e0383ffed275306f359bd508\"\u003e\u003ccode\u003e5aad14c\u003c/code\u003e\u003c/a\u003e [misc] optimize BigInt column decoding and improve type safety in codec inter...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb:flyway-mysql` from 12.0.3 to 12.4.0\n\nUpdates `org.projectlombok:lombok` from 1.18.42 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.44 (March 11th, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFEATURE: \u003ccode\u003e@Jacksonized\u003c/code\u003e now supports both Jackson2 and Jackson3; you'll get a warning until you configure which one (or even both!) you want lombok to generate. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3950\"\u003e#3950\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: On JDK25, \u003ccode\u003eval\u003c/code\u003e and \u003ccode\u003e@ExtensionMethod\u003c/code\u003e could sometimes cause erroneous errors (in that you see errors but compilation succeeds anyway) using javac. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3947\"\u003e#3947\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e + fields marked \u003ccode\u003etransient\u003c/code\u003e would result in those transient fields being serialised which is surprising (and thus undesired) behaviour. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3936\"\u003e#3936\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.42...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.pdfbox:pdfbox` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:pdfbox-io` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:xmpbox` from 3.0.6 to 3.0.7\n\nUpdates `com.github.RouHim:jaudiotagger` from 2.0.16 to 2.0.19\n\nUpdates `com.github.junrar:junrar` from 7.5.8 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.5.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier Roebroeck\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.9\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Ryan Campbell\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.9...v7.5.10\"\u003e7.5.10\u003c/a\u003e (2026-04-15)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.9\"\u003e7.5.9\u003c/a\u003e (2026-04-13)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e36ee091ad7311a021e1c928ada103a3eab2d890\"\u003e\u003ccode\u003ee36ee09\u003c/code\u003e\u003c/a\u003e ci: publish test results\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/154e3bf7b05bb6dcad5437a8fd8e99a8da916373\"\u003e\u003ccode\u003e154e3bf\u003c/code\u003e\u003c/a\u003e test: disable test on windows due to path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d77e9a83eb721cd51f9c23d7869d0e6ad7f952d7\"\u003e\u003ccode\u003ed77e9a8\u003c/code\u003e\u003c/a\u003e fix: better handling of files outside directory when extracting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/a60857b35c17dbd5354a37816421d7b051a8ba03\"\u003e\u003ccode\u003ea60857b\u003c/code\u003e\u003c/a\u003e ci: update homebrew action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/72cd364f47bd396e208cd82ca7aa98759ab84f01\"\u003e\u003ccode\u003e72cd364\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.9 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/7e1b5581f9d622b96e9e2a8574188027e7642634\"\u003e\u003ccode\u003e7e1b558\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/f800f10fa46f803f1220f508a40f59af29eb5118\"\u003e\u003ccode\u003ef800f10\u003c/code\u003e\u003c/a\u003e build(deps): bump org.mockito:mockito-core from 5.22.0 to 5.23.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/1886aecf253467ff8f98fc1187237605cf59fbb0\"\u003e\u003ccode\u003e1886aec\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/832f6857128bcd678d76bf263f8ee1533a1e8a86\"\u003e\u003ccode\u003e832f685\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper from 9.4.0 to 9.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/9b69c6b708dd88b925ba91fde563869cc0f8f586\"\u003e\u003ccode\u003e9b69c6b\u003c/code\u003e\u003c/a\u003e fix: ArrayIndexOutOfBoundsException in solid RAR v20 archive extraction\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.22.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.22.1...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.glassfish.jaxb:jaxb-runtime` from 4.0.6 to 4.0.7\n\nUpdates `tools.jackson:jackson-bom` from 3.1.0 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0ae1c2ae270dabe8e21700cbcee1c266b54e84f0\"\u003e\u003ccode\u003e0ae1c2a\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3c171ebd5d6c5d8f6e8d4f3614cf9b4f0a8babb9\"\u003e\u003ccode\u003e3c171eb\u003c/code\u003e\u003c/a\u003e Prep for 3.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/8046ced071e0b36747bae0f0a96fa21914de1303\"\u003e\u003ccode\u003e8046ced\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ea00ca4cc59ba656a17a071e30a68387e51d3e0d\"\u003e\u003ccode\u003eea00ca4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0628060381a5b86e3fc07854a27b7453de559b7e\"\u003e\u003ccode\u003e0628060\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/22b8aeec79b87751a41c586404850c526eed1dbe\"\u003e\u003ccode\u003e22b8aee\u003c/code\u003e\u003c/a\u003e Prep for 3.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/2d305e6af8b61c6c30f5658cd8c794419e233a53\"\u003e\u003ccode\u003e2d305e6\u003c/code\u003e\u003c/a\u003e Add JDK 25 in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/da85336a6e5749354bc65536f493a712401eea4f\"\u003e\u003ccode\u003eda85336\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/FasterXML/jackson-bom/issues/123\"\u003e#123\u003c/a\u003e from FasterXML/tatu/3.1/122-switch-to-junit6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/7ec5e0ec5ad5e53e12e775537e4717478841d459\"\u003e\u003ccode\u003e7ec5e0e\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/FasterXML/jackson-bom/issues/122\"\u003e#122\u003c/a\u003e: switch 3.x (starting with 3.1.1) to use JUnit 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ef0977031036f6fcc6d54eaeb93ccd35a2ab2c96\"\u003e\u003ccode\u003eef09770\u003c/code\u003e\u003c/a\u003e Update oss-parent dep\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-3.1.0...jackson-bom-3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 4.0.3 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnversRevisionRepositoriesRegistrar should reuse \u003ccode\u003e@EnableEnversRepositories\u003c/code\u003e rather than configuring the JPA counterpart \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50039\"\u003e#50039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebFlux Cloud Foundry links endpoint includes query string from received request in resolved links \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50017\"\u003e#50017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImports on a containing test class are ignored when a nested class has imports \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50012\"\u003e#50012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49951\"\u003e#49951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e500 response from env endpoint when supplied pattern is invalid \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49946\"\u003e#49946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49945\"\u003e#49945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP method is lost when configuring excludes in EndpointRequest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49943\"\u003e#49943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor HttpMethod for reactive additional endpoint paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49880\"\u003e#49880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/artemis image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49869\"\u003e#49869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/activemq image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49866\"\u003e#49866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49854\"\u003e#49854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI versioning path strategy should be applied path last as it is not meant to yield \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49800\"\u003e#49800\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs to encourage Java fundamentals for beginners that prefer to learn that way \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50146\"\u003e#50146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP Service Interface Clients still document that API versioning can be configured via properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50126\"\u003e#50126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the observability section of the Lettuce documentation is broken \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50097\"\u003e#50097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJavadoc for StaticResourceLocation.FAVICON doesn't describe icons location \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50085\"\u003e#50085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySamlRelyingPartyConfiguration is missing a Kotlin sample \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50024\"\u003e#50024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect default value for management.httpexchanges.recording.include in configuration metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50019\"\u003e#50019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the Kubernetes documentation when discussing startup probes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50015\"\u003e#50015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in JdbcSessionAutoConfiguration Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49873\"\u003e#49873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify that configuration property default values are not available through the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49851\"\u003e#49851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument the need for Liquibase and Flyway starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49839\"\u003e#49839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKafka documentation refers to deprecated JSON serializer and deserializer classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49826\"\u003e#49826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Elasticsearch Client 9.2.8 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50027\"\u003e#50027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Groovy 5.0.5 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49911\"\u003e#49911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Hibernate 7.2.12.Final \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50134\"\u003e#50134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Jackson Bom 3.1.2 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50051\"\u003e#50051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1\"\u003eJaxen 2.0.1\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50104\"\u003e#50104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5\"\u003eJaybird 6.0.5\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49914\"\u003e#49914\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/8821ad2cd381bb4b9615a61479e1de7305a8ba39\"\u003e\u003ccode\u003e8821ad2\u003c/code\u003e\u003c/a\u003e Release v4.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9e4048a03f17adfe78057a3c4d5b4693305c0ae0\"\u003e\u003ccode\u003e9e4048a\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/20bb11c3984802990572ddbeae8b66885a8f2462\"\u003e\u003ccode\u003e20bb11c\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.15-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/98daa8ea30f39a5b0ca6768b5cbc2dc8698ef4e1\"\u003e\u003ccode\u003e98daa8e\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9dc5aa2863f598a15d3dfa116f4b89249daba7e7\"\u003e\u003ccode\u003e9dc5aa2\u003c/code\u003e\u003c/a\u003e Polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/874f6294b91da18367b8b5ab7b2fad3fa23cfba6\"\u003e\u003ccode\u003e874f629\u003c/code\u003e\u003c/a\u003e Fix default security with actuator but without health\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/e41b3bf731d1134bc18ec1f68ac01e0fe1c54923\"\u003e\u003ccode\u003ee41b3bf\u003c/code\u003e\u003c/a\u003e Enable hostname verification for SSL connections to Elasticsearch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ef8527bb0ef8f564f4f9c57a7be99a7aa96c6ab0\"\u003e\u003ccode\u003eef8527b\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f533a4549c3999aac30cb5830f07dc304933e93d\"\u003e\u003ccode\u003ef533a45\u003c/code\u003e\u003c/a\u003e Do not follow symlinks when writing PID file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4a7bd332b6d19fef1aa4cf28434985f2b03a2e0f\"\u003e\u003ccode\u003e4a7bd33\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.3...v4.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.hibernate.orm` from 7.2.6.Final to 7.3.2.Final\n\nUpdates `com.github.ben-manes.versions` from 0.53.0 to 0.54.0\n\nUpdates `gradle-wrapper` from 9.4.0 to 9.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.4.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.4.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava 26 support\u003c/li\u003e\n\u003cli\u003eNon-class-based JVM tests\u003c/li\u003e\n\u003cli\u003eEnhanced console progress bar\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.4.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/akankshaa-00\"\u003eakankshaa-00\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/dblood\"\u003edblood\u003c/a\u003e,\n\u003ca href=\"https://github.com/drieks\"\u003eDennis Rieks\u003c/a\u003e,\n\u003ca href=\"https://github.com/duvvuvenkataramana\"\u003eduvvuvenkataramana\u003c/a\u003e,\n\u003ca href=\"https://github.com/wakingrufus\"\u003eJohn Burns\u003c/a\u003e,\n\u003ca href=\"https://github.com/Julianw03\"\u003eJulian\u003c/a\u003e,\n\u003ca href=\"https://github.com/kevinstembridge\"\u003ekevinstembridge\u003c/a\u003e,\n\u003ca href=\"https://github.com/NielsDoucet\"\u003eNiels Doucet\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rhernandez35\"\u003eRichard Hernandez\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/slovdahl\"\u003eSebastian Lövdahl\u003c/a\u003e,\n\u003ca href=\"https://github.com/stephan2405\"\u003estephan2405\u003c/a\u003e,\n\u003ca href=\"https://github.com/slandelle\"\u003eStephane Landelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Pankraz76\"\u003eVincent Potuček\u003c/a\u003e,\n\u003ca href=\"https://github.com/vlsi\"\u003eVladimir Sitnikov\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.4.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.4.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2d6327017519d23b96af35865dc997fcb544fb40\"\u003e\u003ccode\u003e2d63270\u003c/code\u003e\u003c/a\u003e Ignore test (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37180\"\u003e#37180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4c15906d6a20acc61f2f7b9272c8cb7a6f708239\"\u003e\u003ccode\u003e4c15906\u003c/code\u003e\u003c/a\u003e Ignore test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9759ac1dec4b3742012397b5f0127a777947b73f\"\u003e\u003ccode\u003e9759ac1\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37178\"\u003e#37178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/aaf6ed46ed8d4c3b9b7a7a751cda5893668b2a42\"\u003e\u003ccode\u003eaaf6ed4\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/47cb78328a6ddc6c1509003ab3264017ed5d9a0a\"\u003e\u003ccode\u003e47cb783\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 progress bar not cleared on SIGINT (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37038\"\u003e#37038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ef03f1d41b0a65f6aae0931d4746f7359647a7e4\"\u003e\u003ccode\u003eef03f1d\u003c/code\u003e\u003c/a\u003e Fix order-dependent assertion in CrossBuildScriptCachingIntegrationSpec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd26fd36d693337dbf033143a9ac0e71f78a4209\"\u003e\u003ccode\u003efd26fd3\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 taskbar progress bar not cleared on build end or SIGINT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0a84d6751921709fbc7d552a50d9e3b34eb1930d\"\u003e\u003ccode\u003e0a84d67\u003c/code\u003e\u003c/a\u003e Release notes for 9.4.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37148\"\u003e#37148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e569c31320ae6c7be490def60d36de17881f9957\"\u003e\u003ccode\u003ee569c31\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9f227defc2e02a991f05fba50f7de2fbe13b7c5b\"\u003e\u003ccode\u003e9f227de\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.0...v9.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/cdome/ollumi/pull/23","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdome%2Follumi/issues/23","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/23/packages"},{"uuid":"4320242955","node_id":"PR_kwDORpKt9s7VMZd6","number":14,"state":"open","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 15 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-24T03:10:02.000Z","updated_at":"2026-05-08T05:01:03.831Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":15,"packages":[{"name":"org.mariadb.jdbc:mariadb-java-client","old_version":"3.5.7","new_version":"3.5.8","repository_url":"https://github.com/mariadb-corporation/mariadb-connector-j"},{"name":"org.flywaydb:flyway-mysql","old_version":"12.0.3","new_version":"12.4.0"},{"name":"org.projectlombok:lombok","old_version":"1.18.42","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"org.apache.pdfbox:pdfbox","old_version":"3.0.6","new_version":"3.0.7"},{"name":"com.github.junrar:junrar","old_version":"7.5.8","new_version":"7.5.10","repository_url":"https://github.com/junrar/junrar"},{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"4.0.6","new_version":"4.0.7"},{"name":"tools.jackson:jackson-bom","old_version":"3.1.0","new_version":"3.1.2","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"org.springframework.boot","old_version":"4.0.3","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.hibernate.orm","old_version":"7.2.6.Final","new_version":"7.3.2.Final"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"gradle-wrapper","old_version":"9.4.0","new_version":"9.4.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 13 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) | `3.5.7` | `3.5.8` |\n| org.flywaydb:flyway-mysql | `12.0.3` | `12.4.0` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.42` | `1.18.46` |\n| org.apache.pdfbox:pdfbox | `3.0.6` | `3.0.7` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.8` | `7.5.10` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `3.0.2` | `3.0.3` |\n| org.glassfish.jaxb:jaxb-runtime | `4.0.6` | `4.0.7` |\n| [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `3.1.0` | `3.1.2` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.3` | `4.0.6` |\n| org.hibernate.orm | `7.2.6.Final` | `7.3.2.Final` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.0` | `9.4.1` |\n\n\nUpdates `org.mariadb.jdbc:mariadb-java-client` from 3.5.7 to 3.5.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/releases\"\u003eorg.mariadb.jdbc:mariadb-java-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eMariaDB Connector/Java 3.5.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/blob/main/CHANGELOG.md\"\u003eorg.mariadb.jdbc:mariadb-java-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/26b34a2f060070beb73515cfd2a49fabc8728843\"\u003e\u003ccode\u003e26b34a2\u003c/code\u003e\u003c/a\u003e Merge branch 'develop'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/06d6efee7838ab8f89ef0f7f362c6b4a95754630\"\u003e\u003ccode\u003e06d6efe\u003c/code\u003e\u003c/a\u003e bump CI actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a86a83c8fd1fa84d8d4349baab3b29df8f575192\"\u003e\u003ccode\u003ea86a83c\u003c/code\u003e\u003c/a\u003e bump 3.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/975f9919232b21f40d823423eac6e32d87ea8e35\"\u003e\u003ccode\u003e975f991\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to implement Codec directly and extract shared...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/75bb509521661603e0e90dd6dd5942d1382bf499\"\u003e\u003ccode\u003e75bb509\u003c/code\u003e\u003c/a\u003e [misc] code formatting cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/4c0b6a0ddd95f42fa866ce0d08e384caa2553d43\"\u003e\u003ccode\u003e4c0b6a0\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to extend UtilDateCodec and extract common dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a5b7fb1a26277a076052dbbd1a7ee2bacd4f602f\"\u003e\u003ccode\u003ea5b7fb1\u003c/code\u003e\u003c/a\u003e [misc] convert Reader and Writer from interfaces to final class implementatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/d31eb060fc66e9e37479e18a38bb1401d53ecb63\"\u003e\u003ccode\u003ed31eb06\u003c/code\u003e\u003c/a\u003e [misc] convert ReadableByteBuf from interface to final class implementation, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/11d45a9e6ea4d942e75747132bb8982471d890b8\"\u003e\u003ccode\u003e11d45a9\u003c/code\u003e\u003c/a\u003e [misc] optimize binary row decoder null bitmap checks and simplify signed Big...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/5aad14c381cbc2c4e0383ffed275306f359bd508\"\u003e\u003ccode\u003e5aad14c\u003c/code\u003e\u003c/a\u003e [misc] optimize BigInt column decoding and improve type safety in codec inter...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb:flyway-mysql` from 12.0.3 to 12.4.0\n\nUpdates `org.projectlombok:lombok` from 1.18.42 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.44 (March 11th, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFEATURE: \u003ccode\u003e@Jacksonized\u003c/code\u003e now supports both Jackson2 and Jackson3; you'll get a warning until you configure which one (or even both!) you want lombok to generate. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3950\"\u003e#3950\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: On JDK25, \u003ccode\u003eval\u003c/code\u003e and \u003ccode\u003e@ExtensionMethod\u003c/code\u003e could sometimes cause erroneous errors (in that you see errors but compilation succeeds anyway) using javac. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3947\"\u003e#3947\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e + fields marked \u003ccode\u003etransient\u003c/code\u003e would result in those transient fields being serialised which is surprising (and thus undesired) behaviour. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3936\"\u003e#3936\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.42...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.pdfbox:pdfbox` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:pdfbox-io` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:xmpbox` from 3.0.6 to 3.0.7\n\nUpdates `com.github.junrar:junrar` from 7.5.8 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.5.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier Roebroeck\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.9\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Ryan Campbell\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.9...v7.5.10\"\u003e7.5.10\u003c/a\u003e (2026-04-15)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.9\"\u003e7.5.9\u003c/a\u003e (2026-04-13)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e36ee091ad7311a021e1c928ada103a3eab2d890\"\u003e\u003ccode\u003ee36ee09\u003c/code\u003e\u003c/a\u003e ci: publish test results\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/154e3bf7b05bb6dcad5437a8fd8e99a8da916373\"\u003e\u003ccode\u003e154e3bf\u003c/code\u003e\u003c/a\u003e test: disable test on windows due to path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d77e9a83eb721cd51f9c23d7869d0e6ad7f952d7\"\u003e\u003ccode\u003ed77e9a8\u003c/code\u003e\u003c/a\u003e fix: better handling of files outside directory when extracting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/a60857b35c17dbd5354a37816421d7b051a8ba03\"\u003e\u003ccode\u003ea60857b\u003c/code\u003e\u003c/a\u003e ci: update homebrew action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/72cd364f47bd396e208cd82ca7aa98759ab84f01\"\u003e\u003ccode\u003e72cd364\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.9 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/7e1b5581f9d622b96e9e2a8574188027e7642634\"\u003e\u003ccode\u003e7e1b558\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/f800f10fa46f803f1220f508a40f59af29eb5118\"\u003e\u003ccode\u003ef800f10\u003c/code\u003e\u003c/a\u003e build(deps): bump org.mockito:mockito-core from 5.22.0 to 5.23.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/1886aecf253467ff8f98fc1187237605cf59fbb0\"\u003e\u003ccode\u003e1886aec\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/832f6857128bcd678d76bf263f8ee1533a1e8a86\"\u003e\u003ccode\u003e832f685\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper from 9.4.0 to 9.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/9b69c6b708dd88b925ba91fde563869cc0f8f586\"\u003e\u003ccode\u003e9b69c6b\u003c/code\u003e\u003c/a\u003e fix: ArrayIndexOutOfBoundsException in solid RAR v20 archive extraction\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.22.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.22.1...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.glassfish.jaxb:jaxb-runtime` from 4.0.6 to 4.0.7\n\nUpdates `tools.jackson:jackson-bom` from 3.1.0 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0ae1c2ae270dabe8e21700cbcee1c266b54e84f0\"\u003e\u003ccode\u003e0ae1c2a\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3c171ebd5d6c5d8f6e8d4f3614cf9b4f0a8babb9\"\u003e\u003ccode\u003e3c171eb\u003c/code\u003e\u003c/a\u003e Prep for 3.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/8046ced071e0b36747bae0f0a96fa21914de1303\"\u003e\u003ccode\u003e8046ced\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ea00ca4cc59ba656a17a071e30a68387e51d3e0d\"\u003e\u003ccode\u003eea00ca4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0628060381a5b86e3fc07854a27b7453de559b7e\"\u003e\u003ccode\u003e0628060\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/22b8aeec79b87751a41c586404850c526eed1dbe\"\u003e\u003ccode\u003e22b8aee\u003c/code\u003e\u003c/a\u003e Prep for 3.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/2d305e6af8b61c6c30f5658cd8c794419e233a53\"\u003e\u003ccode\u003e2d305e6\u003c/code\u003e\u003c/a\u003e Add JDK 25 in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/da85336a6e5749354bc65536f493a712401eea4f\"\u003e\u003ccode\u003eda85336\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/FasterXML/jackson-bom/issues/123\"\u003e#123\u003c/a\u003e from FasterXML/tatu/3.1/122-switch-to-junit6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/7ec5e0ec5ad5e53e12e775537e4717478841d459\"\u003e\u003ccode\u003e7ec5e0e\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/FasterXML/jackson-bom/issues/122\"\u003e#122\u003c/a\u003e: switch 3.x (starting with 3.1.1) to use JUnit 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ef0977031036f6fcc6d54eaeb93ccd35a2ab2c96\"\u003e\u003ccode\u003eef09770\u003c/code\u003e\u003c/a\u003e Update oss-parent dep\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-3.1.0...jackson-bom-3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 4.0.3 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnversRevisionRepositoriesRegistrar should reuse \u003ccode\u003e@EnableEnversRepositories\u003c/code\u003e rather than configuring the JPA counterpart \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50039\"\u003e#50039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebFlux Cloud Foundry links endpoint includes query string from received request in resolved links \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50017\"\u003e#50017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImports on a containing test class are ignored when a nested class has imports \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50012\"\u003e#50012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49951\"\u003e#49951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e500 response from env endpoint when supplied pattern is invalid \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49946\"\u003e#49946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49945\"\u003e#49945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP method is lost when configuring excludes in EndpointRequest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49943\"\u003e#49943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor HttpMethod for reactive additional endpoint paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49880\"\u003e#49880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/artemis image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49869\"\u003e#49869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/activemq image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49866\"\u003e#49866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49854\"\u003e#49854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI versioning path strategy should be applied path last as it is not meant to yield \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49800\"\u003e#49800\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs to encourage Java fundamentals for beginners that prefer to learn that way \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50146\"\u003e#50146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP Service Interface Clients still document that API versioning can be configured via properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50126\"\u003e#50126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the observability section of the Lettuce documentation is broken \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50097\"\u003e#50097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJavadoc for StaticResourceLocation.FAVICON doesn't describe icons location \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50085\"\u003e#50085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySamlRelyingPartyConfiguration is missing a Kotlin sample \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50024\"\u003e#50024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect default value for management.httpexchanges.recording.include in configuration metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50019\"\u003e#50019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the Kubernetes documentation when discussing startup probes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50015\"\u003e#50015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in JdbcSessionAutoConfiguration Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49873\"\u003e#49873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify that configuration property default values are not available through the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49851\"\u003e#49851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument the need for Liquibase and Flyway starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49839\"\u003e#49839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKafka documentation refers to deprecated JSON serializer and deserializer classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49826\"\u003e#49826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Elasticsearch Client 9.2.8 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50027\"\u003e#50027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Groovy 5.0.5 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49911\"\u003e#49911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Hibernate 7.2.12.Final \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50134\"\u003e#50134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Jackson Bom 3.1.2 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50051\"\u003e#50051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1\"\u003eJaxen 2.0.1\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50104\"\u003e#50104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5\"\u003eJaybird 6.0.5\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49914\"\u003e#49914\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/8821ad2cd381bb4b9615a61479e1de7305a8ba39\"\u003e\u003ccode\u003e8821ad2\u003c/code\u003e\u003c/a\u003e Release v4.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9e4048a03f17adfe78057a3c4d5b4693305c0ae0\"\u003e\u003ccode\u003e9e4048a\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/20bb11c3984802990572ddbeae8b66885a8f2462\"\u003e\u003ccode\u003e20bb11c\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.15-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/98daa8ea30f39a5b0ca6768b5cbc2dc8698ef4e1\"\u003e\u003ccode\u003e98daa8e\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9dc5aa2863f598a15d3dfa116f4b89249daba7e7\"\u003e\u003ccode\u003e9dc5aa2\u003c/code\u003e\u003c/a\u003e Polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/874f6294b91da18367b8b5ab7b2fad3fa23cfba6\"\u003e\u003ccode\u003e874f629\u003c/code\u003e\u003c/a\u003e Fix default security with actuator but without health\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/e41b3bf731d1134bc18ec1f68ac01e0fe1c54923\"\u003e\u003ccode\u003ee41b3bf\u003c/code\u003e\u003c/a\u003e Enable hostname verification for SSL connections to Elasticsearch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ef8527bb0ef8f564f4f9c57a7be99a7aa96c6ab0\"\u003e\u003ccode\u003eef8527b\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f533a4549c3999aac30cb5830f07dc304933e93d\"\u003e\u003ccode\u003ef533a45\u003c/code\u003e\u003c/a\u003e Do not follow symlinks when writing PID file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4a7bd332b6d19fef1aa4cf28434985f2b03a2e0f\"\u003e\u003ccode\u003e4a7bd33\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.3...v4.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.hibernate.orm` from 7.2.6.Final to 7.3.2.Final\n\nUpdates `com.github.ben-manes.versions` from 0.53.0 to 0.54.0\n\nUpdates `gradle-wrapper` from 9.4.0 to 9.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.4.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.4.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava 26 support\u003c/li\u003e\n\u003cli\u003eNon-class-based JVM tests\u003c/li\u003e\n\u003cli\u003eEnhanced console progress bar\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.4.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/akankshaa-00\"\u003eakankshaa-00\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/dblood\"\u003edblood\u003c/a\u003e,\n\u003ca href=\"https://github.com/drieks\"\u003eDennis Rieks\u003c/a\u003e,\n\u003ca href=\"https://github.com/duvvuvenkataramana\"\u003eduvvuvenkataramana\u003c/a\u003e,\n\u003ca href=\"https://github.com/wakingrufus\"\u003eJohn Burns\u003c/a\u003e,\n\u003ca href=\"https://github.com/Julianw03\"\u003eJulian\u003c/a\u003e,\n\u003ca href=\"https://github.com/kevinstembridge\"\u003ekevinstembridge\u003c/a\u003e,\n\u003ca href=\"https://github.com/NielsDoucet\"\u003eNiels Doucet\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rhernandez35\"\u003eRichard Hernandez\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/slovdahl\"\u003eSebastian Lövdahl\u003c/a\u003e,\n\u003ca href=\"https://github.com/stephan2405\"\u003estephan2405\u003c/a\u003e,\n\u003ca href=\"https://github.com/slandelle\"\u003eStephane Landelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Pankraz76\"\u003eVincent Potuček\u003c/a\u003e,\n\u003ca href=\"https://github.com/vlsi\"\u003eVladimir Sitnikov\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.4.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.4.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2d6327017519d23b96af35865dc997fcb544fb40\"\u003e\u003ccode\u003e2d63270\u003c/code\u003e\u003c/a\u003e Ignore test (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37180\"\u003e#37180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4c15906d6a20acc61f2f7b9272c8cb7a6f708239\"\u003e\u003ccode\u003e4c15906\u003c/code\u003e\u003c/a\u003e Ignore test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9759ac1dec4b3742012397b5f0127a777947b73f\"\u003e\u003ccode\u003e9759ac1\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37178\"\u003e#37178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/aaf6ed46ed8d4c3b9b7a7a751cda5893668b2a42\"\u003e\u003ccode\u003eaaf6ed4\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/47cb78328a6ddc6c1509003ab3264017ed5d9a0a\"\u003e\u003ccode\u003e47cb783\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 progress bar not cleared on SIGINT (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37038\"\u003e#37038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ef03f1d41b0a65f6aae0931d4746f7359647a7e4\"\u003e\u003ccode\u003eef03f1d\u003c/code\u003e\u003c/a\u003e Fix order-dependent assertion in CrossBuildScriptCachingIntegrationSpec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd26fd36d693337dbf033143a9ac0e71f78a4209\"\u003e\u003ccode\u003efd26fd3\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 taskbar progress bar not cleared on build end or SIGINT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0a84d6751921709fbc7d552a50d9e3b34eb1930d\"\u003e\u003ccode\u003e0a84d67\u003c/code\u003e\u003c/a\u003e Release notes for 9.4.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37148\"\u003e#37148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e569c31320ae6c7be490def60d36de17881f9957\"\u003e\u003ccode\u003ee569c31\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9f227defc2e02a991f05fba50f7de2fbe13b7c5b\"\u003e\u003ccode\u003e9f227de\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.0...v9.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/erblore/erblore/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/erblore%2Ferblore/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"},{"uuid":"4320242584","node_id":"PR_kwDORp5DU87VMZY_","number":46,"state":"open","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 10 updates","user":"dependabot[bot]","labels":["backend","dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-24T03:09:53.000Z","updated_at":"2026-04-24T03:14:40.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":10,"packages":[{"name":"org.flywaydb:flyway-mysql","old_version":"12.3.0","new_version":"12.4.0"},{"name":"org.projectlombok:lombok","old_version":"1.18.44","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"com.github.junrar:junrar","old_version":"7.5.8","new_version":"7.5.10","repository_url":"https://github.com/junrar/junrar"},{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"tools.jackson:jackson-bom","old_version":"3.1.1","new_version":"3.1.2","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"org.springframework.boot","old_version":"4.0.5","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.hibernate.orm","old_version":"7.3.0.Final","new_version":"7.3.2.Final"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"org.owasp.dependencycheck","old_version":"12.2.0","new_version":"12.2.1"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 10 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| org.flywaydb:flyway-mysql | `12.3.0` | `12.4.0` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.44` | `1.18.46` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.8` | `7.5.10` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `3.0.2` | `3.0.3` |\n| [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `3.1.1` | `3.1.2` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.5` | `4.0.6` |\n| org.hibernate.orm | `7.3.0.Final` | `7.3.2.Final` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| org.owasp.dependencycheck | `12.2.0` | `12.2.1` |\n\n\nUpdates `org.flywaydb:flyway-mysql` from 12.3.0 to 12.4.0\n\nUpdates `org.projectlombok:lombok` from 1.18.44 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.44...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.junrar:junrar` from 7.5.8 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.5.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier Roebroeck\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.9\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Ryan Campbell\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.9...v7.5.10\"\u003e7.5.10\u003c/a\u003e (2026-04-15)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.9\"\u003e7.5.9\u003c/a\u003e (2026-04-13)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e36ee091ad7311a021e1c928ada103a3eab2d890\"\u003e\u003ccode\u003ee36ee09\u003c/code\u003e\u003c/a\u003e ci: publish test results\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/154e3bf7b05bb6dcad5437a8fd8e99a8da916373\"\u003e\u003ccode\u003e154e3bf\u003c/code\u003e\u003c/a\u003e test: disable test on windows due to path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d77e9a83eb721cd51f9c23d7869d0e6ad7f952d7\"\u003e\u003ccode\u003ed77e9a8\u003c/code\u003e\u003c/a\u003e fix: better handling of files outside directory when extracting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/a60857b35c17dbd5354a37816421d7b051a8ba03\"\u003e\u003ccode\u003ea60857b\u003c/code\u003e\u003c/a\u003e ci: update homebrew action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/72cd364f47bd396e208cd82ca7aa98759ab84f01\"\u003e\u003ccode\u003e72cd364\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.9 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/7e1b5581f9d622b96e9e2a8574188027e7642634\"\u003e\u003ccode\u003e7e1b558\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/f800f10fa46f803f1220f508a40f59af29eb5118\"\u003e\u003ccode\u003ef800f10\u003c/code\u003e\u003c/a\u003e build(deps): bump org.mockito:mockito-core from 5.22.0 to 5.23.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/1886aecf253467ff8f98fc1187237605cf59fbb0\"\u003e\u003ccode\u003e1886aec\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/832f6857128bcd678d76bf263f8ee1533a1e8a86\"\u003e\u003ccode\u003e832f685\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper from 9.4.0 to 9.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/9b69c6b708dd88b925ba91fde563869cc0f8f586\"\u003e\u003ccode\u003e9b69c6b\u003c/code\u003e\u003c/a\u003e fix: ArrayIndexOutOfBoundsException in solid RAR v20 archive extraction\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.22.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.22.1...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tools.jackson:jackson-bom` from 3.1.1 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0ae1c2ae270dabe8e21700cbcee1c266b54e84f0\"\u003e\u003ccode\u003e0ae1c2a\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3c171ebd5d6c5d8f6e8d4f3614cf9b4f0a8babb9\"\u003e\u003ccode\u003e3c171eb\u003c/code\u003e\u003c/a\u003e Prep for 3.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/8046ced071e0b36747bae0f0a96fa21914de1303\"\u003e\u003ccode\u003e8046ced\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ea00ca4cc59ba656a17a071e30a68387e51d3e0d\"\u003e\u003ccode\u003eea00ca4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-3.1.1...jackson-bom-3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 4.0.5 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnversRevisionRepositoriesRegistrar should reuse \u003ccode\u003e@EnableEnversRepositories\u003c/code\u003e rather than configuring the JPA counterpart \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50039\"\u003e#50039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebFlux Cloud Foundry links endpoint includes query string from received request in resolved links \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50017\"\u003e#50017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImports on a containing test class are ignored when a nested class has imports \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50012\"\u003e#50012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49951\"\u003e#49951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e500 response from env endpoint when supplied pattern is invalid \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49946\"\u003e#49946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49945\"\u003e#49945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP method is lost when configuring excludes in EndpointRequest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49943\"\u003e#49943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor HttpMethod for reactive additional endpoint paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49880\"\u003e#49880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/artemis image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49869\"\u003e#49869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/activemq image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49866\"\u003e#49866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49854\"\u003e#49854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI versioning path strategy should be applied path last as it is not meant to yield \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49800\"\u003e#49800\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs to encourage Java fundamentals for beginners that prefer to learn that way \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50146\"\u003e#50146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP Service Interface Clients still document that API versioning can be configured via properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50126\"\u003e#50126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the observability section of the Lettuce documentation is broken \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50097\"\u003e#50097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJavadoc for StaticResourceLocation.FAVICON doesn't describe icons location \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50085\"\u003e#50085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySamlRelyingPartyConfiguration is missing a Kotlin sample \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50024\"\u003e#50024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect default value for management.httpexchanges.recording.include in configuration metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50019\"\u003e#50019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the Kubernetes documentation when discussing startup probes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50015\"\u003e#50015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in JdbcSessionAutoConfiguration Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49873\"\u003e#49873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify that configuration property default values are not available through the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49851\"\u003e#49851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument the need for Liquibase and Flyway starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49839\"\u003e#49839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKafka documentation refers to deprecated JSON serializer and deserializer classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49826\"\u003e#49826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Elasticsearch Client 9.2.8 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50027\"\u003e#50027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Groovy 5.0.5 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49911\"\u003e#49911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Hibernate 7.2.12.Final \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50134\"\u003e#50134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Jackson Bom 3.1.2 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50051\"\u003e#50051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1\"\u003eJaxen 2.0.1\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50104\"\u003e#50104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5\"\u003eJaybird 6.0.5\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49914\"\u003e#49914\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/8821ad2cd381bb4b9615a61479e1de7305a8ba39\"\u003e\u003ccode\u003e8821ad2\u003c/code\u003e\u003c/a\u003e Release v4.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9e4048a03f17adfe78057a3c4d5b4693305c0ae0\"\u003e\u003ccode\u003e9e4048a\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/20bb11c3984802990572ddbeae8b66885a8f2462\"\u003e\u003ccode\u003e20bb11c\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.15-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/98daa8ea30f39a5b0ca6768b5cbc2dc8698ef4e1\"\u003e\u003ccode\u003e98daa8e\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9dc5aa2863f598a15d3dfa116f4b89249daba7e7\"\u003e\u003ccode\u003e9dc5aa2\u003c/code\u003e\u003c/a\u003e Polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/874f6294b91da18367b8b5ab7b2fad3fa23cfba6\"\u003e\u003ccode\u003e874f629\u003c/code\u003e\u003c/a\u003e Fix default security with actuator but without health\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/e41b3bf731d1134bc18ec1f68ac01e0fe1c54923\"\u003e\u003ccode\u003ee41b3bf\u003c/code\u003e\u003c/a\u003e Enable hostname verification for SSL connections to Elasticsearch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ef8527bb0ef8f564f4f9c57a7be99a7aa96c6ab0\"\u003e\u003ccode\u003eef8527b\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f533a4549c3999aac30cb5830f07dc304933e93d\"\u003e\u003ccode\u003ef533a45\u003c/code\u003e\u003c/a\u003e Do not follow symlinks when writing PID file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4a7bd332b6d19fef1aa4cf28434985f2b03a2e0f\"\u003e\u003ccode\u003e4a7bd33\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.5...v4.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.hibernate.orm` from 7.3.0.Final to 7.3.2.Final\n\nUpdates `com.github.ben-manes.versions` from 0.53.0 to 0.54.0\n\nUpdates `org.owasp.dependencycheck` from 12.2.0 to 12.2.1\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/opensourcefan/Booklore3.0/pull/46","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensourcefan%2FBooklore3.0/issues/46","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/46/packages"},{"uuid":"4320242349","node_id":"PR_kwDOR0sr5c7VMZWB","number":14,"state":"open","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 10 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-24T03:09:48.000Z","updated_at":"2026-04-24T03:13:26.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":10,"packages":[{"name":"org.mariadb.jdbc:mariadb-java-client","old_version":"3.5.7","new_version":"3.5.8","repository_url":"https://github.com/mariadb-corporation/mariadb-connector-j"},{"name":"org.flywaydb:flyway-mysql","old_version":"12.2.0","new_version":"12.4.0"},{"name":"org.projectlombok:lombok","old_version":"1.18.44","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"com.github.junrar:junrar","old_version":"7.5.8","new_version":"7.5.10","repository_url":"https://github.com/junrar/junrar"},{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"tools.jackson:jackson-bom","old_version":"3.1.1","new_version":"3.1.2","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"org.springframework.boot","old_version":"4.0.5","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.hibernate.orm","old_version":"7.3.0.Final","new_version":"7.3.2.Final"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 10 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) | `3.5.7` | `3.5.8` |\n| org.flywaydb:flyway-mysql | `12.2.0` | `12.4.0` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.44` | `1.18.46` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.8` | `7.5.10` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `3.0.2` | `3.0.3` |\n| [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `3.1.1` | `3.1.2` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.5` | `4.0.6` |\n| org.hibernate.orm | `7.3.0.Final` | `7.3.2.Final` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n\n\nUpdates `org.mariadb.jdbc:mariadb-java-client` from 3.5.7 to 3.5.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/releases\"\u003eorg.mariadb.jdbc:mariadb-java-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eMariaDB Connector/Java 3.5.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/blob/main/CHANGELOG.md\"\u003eorg.mariadb.jdbc:mariadb-java-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/26b34a2f060070beb73515cfd2a49fabc8728843\"\u003e\u003ccode\u003e26b34a2\u003c/code\u003e\u003c/a\u003e Merge branch 'develop'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/06d6efee7838ab8f89ef0f7f362c6b4a95754630\"\u003e\u003ccode\u003e06d6efe\u003c/code\u003e\u003c/a\u003e bump CI actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a86a83c8fd1fa84d8d4349baab3b29df8f575192\"\u003e\u003ccode\u003ea86a83c\u003c/code\u003e\u003c/a\u003e bump 3.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/975f9919232b21f40d823423eac6e32d87ea8e35\"\u003e\u003ccode\u003e975f991\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to implement Codec directly and extract shared...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/75bb509521661603e0e90dd6dd5942d1382bf499\"\u003e\u003ccode\u003e75bb509\u003c/code\u003e\u003c/a\u003e [misc] code formatting cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/4c0b6a0ddd95f42fa866ce0d08e384caa2553d43\"\u003e\u003ccode\u003e4c0b6a0\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to extend UtilDateCodec and extract common dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a5b7fb1a26277a076052dbbd1a7ee2bacd4f602f\"\u003e\u003ccode\u003ea5b7fb1\u003c/code\u003e\u003c/a\u003e [misc] convert Reader and Writer from interfaces to final class implementatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/d31eb060fc66e9e37479e18a38bb1401d53ecb63\"\u003e\u003ccode\u003ed31eb06\u003c/code\u003e\u003c/a\u003e [misc] convert ReadableByteBuf from interface to final class implementation, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/11d45a9e6ea4d942e75747132bb8982471d890b8\"\u003e\u003ccode\u003e11d45a9\u003c/code\u003e\u003c/a\u003e [misc] optimize binary row decoder null bitmap checks and simplify signed Big...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/5aad14c381cbc2c4e0383ffed275306f359bd508\"\u003e\u003ccode\u003e5aad14c\u003c/code\u003e\u003c/a\u003e [misc] optimize BigInt column decoding and improve type safety in codec inter...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb:flyway-mysql` from 12.2.0 to 12.4.0\n\nUpdates `org.projectlombok:lombok` from 1.18.44 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.44...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.junrar:junrar` from 7.5.8 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.5.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier Roebroeck\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.9\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Ryan Campbell\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.9...v7.5.10\"\u003e7.5.10\u003c/a\u003e (2026-04-15)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.9\"\u003e7.5.9\u003c/a\u003e (2026-04-13)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e36ee091ad7311a021e1c928ada103a3eab2d890\"\u003e\u003ccode\u003ee36ee09\u003c/code\u003e\u003c/a\u003e ci: publish test results\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/154e3bf7b05bb6dcad5437a8fd8e99a8da916373\"\u003e\u003ccode\u003e154e3bf\u003c/code\u003e\u003c/a\u003e test: disable test on windows due to path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d77e9a83eb721cd51f9c23d7869d0e6ad7f952d7\"\u003e\u003ccode\u003ed77e9a8\u003c/code\u003e\u003c/a\u003e fix: better handling of files outside directory when extracting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/a60857b35c17dbd5354a37816421d7b051a8ba03\"\u003e\u003ccode\u003ea60857b\u003c/code\u003e\u003c/a\u003e ci: update homebrew action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/72cd364f47bd396e208cd82ca7aa98759ab84f01\"\u003e\u003ccode\u003e72cd364\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.9 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/7e1b5581f9d622b96e9e2a8574188027e7642634\"\u003e\u003ccode\u003e7e1b558\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/f800f10fa46f803f1220f508a40f59af29eb5118\"\u003e\u003ccode\u003ef800f10\u003c/code\u003e\u003c/a\u003e build(deps): bump org.mockito:mockito-core from 5.22.0 to 5.23.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/1886aecf253467ff8f98fc1187237605cf59fbb0\"\u003e\u003ccode\u003e1886aec\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/832f6857128bcd678d76bf263f8ee1533a1e8a86\"\u003e\u003ccode\u003e832f685\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper from 9.4.0 to 9.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/9b69c6b708dd88b925ba91fde563869cc0f8f586\"\u003e\u003ccode\u003e9b69c6b\u003c/code\u003e\u003c/a\u003e fix: ArrayIndexOutOfBoundsException in solid RAR v20 archive extraction\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.22.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.22.1...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tools.jackson:jackson-bom` from 3.1.1 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0ae1c2ae270dabe8e21700cbcee1c266b54e84f0\"\u003e\u003ccode\u003e0ae1c2a\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3c171ebd5d6c5d8f6e8d4f3614cf9b4f0a8babb9\"\u003e\u003ccode\u003e3c171eb\u003c/code\u003e\u003c/a\u003e Prep for 3.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/8046ced071e0b36747bae0f0a96fa21914de1303\"\u003e\u003ccode\u003e8046ced\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ea00ca4cc59ba656a17a071e30a68387e51d3e0d\"\u003e\u003ccode\u003eea00ca4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-3.1.1...jackson-bom-3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 4.0.5 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnversRevisionRepositoriesRegistrar should reuse \u003ccode\u003e@EnableEnversRepositories\u003c/code\u003e rather than configuring the JPA counterpart \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50039\"\u003e#50039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebFlux Cloud Foundry links endpoint includes query string from received request in resolved links \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50017\"\u003e#50017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImports on a containing test class are ignored when a nested class has imports \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50012\"\u003e#50012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49951\"\u003e#49951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e500 response from env endpoint when supplied pattern is invalid \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49946\"\u003e#49946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49945\"\u003e#49945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP method is lost when configuring excludes in EndpointRequest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49943\"\u003e#49943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor HttpMethod for reactive additional endpoint paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49880\"\u003e#49880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/artemis image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49869\"\u003e#49869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/activemq image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49866\"\u003e#49866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49854\"\u003e#49854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI versioning path strategy should be applied path last as it is not meant to yield \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49800\"\u003e#49800\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs to encourage Java fundamentals for beginners that prefer to learn that way \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50146\"\u003e#50146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP Service Interface Clients still document that API versioning can be configured via properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50126\"\u003e#50126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the observability section of the Lettuce documentation is broken \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50097\"\u003e#50097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJavadoc for StaticResourceLocation.FAVICON doesn't describe icons location \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50085\"\u003e#50085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySamlRelyingPartyConfiguration is missing a Kotlin sample \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50024\"\u003e#50024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect default value for management.httpexchanges.recording.include in configuration metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50019\"\u003e#50019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the Kubernetes documentation when discussing startup probes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50015\"\u003e#50015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in JdbcSessionAutoConfiguration Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49873\"\u003e#49873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify that configuration property default values are not available through the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49851\"\u003e#49851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument the need for Liquibase and Flyway starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49839\"\u003e#49839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKafka documentation refers to deprecated JSON serializer and deserializer classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49826\"\u003e#49826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Elasticsearch Client 9.2.8 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50027\"\u003e#50027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Groovy 5.0.5 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49911\"\u003e#49911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Hibernate 7.2.12.Final \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50134\"\u003e#50134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Jackson Bom 3.1.2 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50051\"\u003e#50051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1\"\u003eJaxen 2.0.1\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50104\"\u003e#50104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5\"\u003eJaybird 6.0.5\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49914\"\u003e#49914\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/8821ad2cd381bb4b9615a61479e1de7305a8ba39\"\u003e\u003ccode\u003e8821ad2\u003c/code\u003e\u003c/a\u003e Release v4.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9e4048a03f17adfe78057a3c4d5b4693305c0ae0\"\u003e\u003ccode\u003e9e4048a\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/20bb11c3984802990572ddbeae8b66885a8f2462\"\u003e\u003ccode\u003e20bb11c\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.15-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/98daa8ea30f39a5b0ca6768b5cbc2dc8698ef4e1\"\u003e\u003ccode\u003e98daa8e\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9dc5aa2863f598a15d3dfa116f4b89249daba7e7\"\u003e\u003ccode\u003e9dc5aa2\u003c/code\u003e\u003c/a\u003e Polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/874f6294b91da18367b8b5ab7b2fad3fa23cfba6\"\u003e\u003ccode\u003e874f629\u003c/code\u003e\u003c/a\u003e Fix default security with actuator but without health\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/e41b3bf731d1134bc18ec1f68ac01e0fe1c54923\"\u003e\u003ccode\u003ee41b3bf\u003c/code\u003e\u003c/a\u003e Enable hostname verification for SSL connections to Elasticsearch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ef8527bb0ef8f564f4f9c57a7be99a7aa96c6ab0\"\u003e\u003ccode\u003eef8527b\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f533a4549c3999aac30cb5830f07dc304933e93d\"\u003e\u003ccode\u003ef533a45\u003c/code\u003e\u003c/a\u003e Do not follow symlinks when writing PID file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4a7bd332b6d19fef1aa4cf28434985f2b03a2e0f\"\u003e\u003ccode\u003e4a7bd33\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.5...v4.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.hibernate.orm` from 7.3.0.Final to 7.3.2.Final\n\nUpdates `com.github.ben-manes.versions` from 0.53.0 to 0.54.0\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/willianpaixao/booklore/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/willianpaixao%2Fbooklore/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"},{"uuid":"4320240453","node_id":"PR_kwDORJ5GTM7VMY-A","number":18,"state":"open","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 22 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-24T03:09:08.000Z","updated_at":"2026-04-24T03:10:32.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":22,"packages":[{"name":"org.mariadb.jdbc:mariadb-java-client","old_version":"3.5.6","new_version":"3.5.8","repository_url":"https://github.com/mariadb-corporation/mariadb-connector-j"},{"name":"org.flywaydb:flyway-mysql","old_version":"11.19.0","new_version":"12.4.0"},{"name":"org.projectlombok:lombok","old_version":"1.18.42","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"org.apache.pdfbox:pdfbox","old_version":"3.0.6","new_version":"3.0.7"},{"name":"com.twelvemonkeys.imageio:imageio-jpeg","old_version":"3.13.0","new_version":"3.13.1"},{"name":"io.documentnode:epub4j-core","old_version":"4.2.2","new_version":"4.2.3","repository_url":"https://github.com/documentnode/epub4j"},{"name":"com.github.junrar:junrar","old_version":"7.5.7","new_version":"7.5.10","repository_url":"https://github.com/junrar/junrar"},{"name":"com.fasterxml.jackson.datatype:jackson-datatype-jsr310","old_version":"2.20.1","new_version":"2.21.2"},{"name":"org.jsoup:jsoup","old_version":"1.21.2","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"2.8.14","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.tukaani:xz","old_version":"1.11","new_version":"1.12","repository_url":"https://github.com/tukaani-project/xz-java"},{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.0","new_version":"3.2.3","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"org.assertj:assertj-core","old_version":"3.27.6","new_version":"3.27.7","repository_url":"https://github.com/assertj/assertj"},{"name":"org.springframework.boot","old_version":"3.5.8","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.hibernate.orm","old_version":"6.6.36.Final","new_version":"7.3.2.Final"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"gradle-wrapper","old_version":"8.14.3","new_version":"9.4.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 17 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) | `3.5.6` | `3.5.8` |\n| org.flywaydb:flyway-mysql | `11.19.0` | `12.4.0` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.42` | `1.18.46` |\n| org.apache.pdfbox:pdfbox | `3.0.6` | `3.0.7` |\n| com.twelvemonkeys.imageio:imageio-jpeg | `3.13.0` | `3.13.1` |\n| [io.documentnode:epub4j-core](https://github.com/documentnode/epub4j) | `4.2.2` | `4.2.3` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.7` | `7.5.10` |\n| com.fasterxml.jackson.datatype:jackson-datatype-jsr310 | `2.20.1` | `2.21.2` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.21.2` | `1.22.2` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `2.8.14` | `3.0.3` |\n| [org.tukaani:xz](https://github.com/tukaani-project/xz-java) | `1.11` | `1.12` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.2.0` | `3.2.3` |\n| [org.assertj:assertj-core](https://github.com/assertj/assertj) | `3.27.6` | `3.27.7` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `3.5.8` | `4.0.6` |\n| org.hibernate.orm | `6.6.36.Final` | `7.3.2.Final` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.14.3` | `9.4.1` |\n\n\nUpdates `org.mariadb.jdbc:mariadb-java-client` from 3.5.6 to 3.5.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/releases\"\u003eorg.mariadb.jdbc:mariadb-java-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eMariaDB Connector/Java 3.5.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMariaDB Connector/Java 3.5.7\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.7\"\u003e3.5.7\u003c/a\u003e (Dec 2025)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.6...3.5.7\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eKey Enhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1282 - Added TLS SNI (Server Name Indication) support\u003c/li\u003e\n\u003cli\u003eCONJ-1271 - Added MariaDbDataTruncation exception that includes MariaDB error code and error message\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1291 - Fixed ConnectionPoolDataSource incompatibility and connection leaks due to internal ConnectionEventListener in MariaDB Connector/J 3.5.x\u003c/li\u003e\n\u003cli\u003eCONJ-1286 - Fixed MariaDbPoolPinnedConnection thread-safety issue\u003c/li\u003e\n\u003cli\u003eCONJ-1283 - Fixed rewriteBatchedStatements introduced in 3.5.6 bug when having parentesis after VALUES parts\u003c/li\u003e\n\u003cli\u003eCONJ-1287 - Fixed authentication plugin multi-exchange prefix (0x01) handling introduced in MDEV-37554\u003c/li\u003e\n\u003cli\u003eCONJ-1290 - Fixed NullPointerException in MultiPrimaryReplicaClient\u003c/li\u003e\n\u003cli\u003eCONJ-1295 - Fixed MariaDbClob compilation with JDK 26+\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/blob/main/CHANGELOG.md\"\u003eorg.mariadb.jdbc:mariadb-java-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.7\"\u003e3.5.7\u003c/a\u003e (Dec 2025)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.6...3.5.7\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eKey Enhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1282 - Added TLS SNI (Server Name Indication) support\u003c/li\u003e\n\u003cli\u003eCONJ-1271 - Added MariaDbDataTruncation exception that includes MariaDB error code and error message\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1291 - Fixed ConnectionPoolDataSource incompatibility and connection leaks due to internal ConnectionEventListener in MariaDB Connector/J 3.5.x\u003c/li\u003e\n\u003cli\u003eCONJ-1286 - Fixed MariaDbPoolPinnedConnection thread-safety issue\u003c/li\u003e\n\u003cli\u003eCONJ-1283 - Fixed rewriteBatchedStatements introduced in 3.5.6 bug when having parentesis after VALUES parts\u003c/li\u003e\n\u003cli\u003eCONJ-1287 - Fixed authentication plugin multi-exchange prefix (0x01) handling introduced in MDEV-37554\u003c/li\u003e\n\u003cli\u003eCONJ-1290 - Fixed NullPointerException in MultiPrimaryReplicaClient\u003c/li\u003e\n\u003cli\u003eCONJ-1295 - Fixed MariaDbClob compilation with JDK 26+\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/26b34a2f060070beb73515cfd2a49fabc8728843\"\u003e\u003ccode\u003e26b34a2\u003c/code\u003e\u003c/a\u003e Merge branch 'develop'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/06d6efee7838ab8f89ef0f7f362c6b4a95754630\"\u003e\u003ccode\u003e06d6efe\u003c/code\u003e\u003c/a\u003e bump CI actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a86a83c8fd1fa84d8d4349baab3b29df8f575192\"\u003e\u003ccode\u003ea86a83c\u003c/code\u003e\u003c/a\u003e bump 3.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/975f9919232b21f40d823423eac6e32d87ea8e35\"\u003e\u003ccode\u003e975f991\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to implement Codec directly and extract shared...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/75bb509521661603e0e90dd6dd5942d1382bf499\"\u003e\u003ccode\u003e75bb509\u003c/code\u003e\u003c/a\u003e [misc] code formatting cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/4c0b6a0ddd95f42fa866ce0d08e384caa2553d43\"\u003e\u003ccode\u003e4c0b6a0\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to extend UtilDateCodec and extract common dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a5b7fb1a26277a076052dbbd1a7ee2bacd4f602f\"\u003e\u003ccode\u003ea5b7fb1\u003c/code\u003e\u003c/a\u003e [misc] convert Reader and Writer from interfaces to final class implementatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/d31eb060fc66e9e37479e18a38bb1401d53ecb63\"\u003e\u003ccode\u003ed31eb06\u003c/code\u003e\u003c/a\u003e [misc] convert ReadableByteBuf from interface to final class implementation, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/11d45a9e6ea4d942e75747132bb8982471d890b8\"\u003e\u003ccode\u003e11d45a9\u003c/code\u003e\u003c/a\u003e [misc] optimize binary row decoder null bitmap checks and simplify signed Big...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/5aad14c381cbc2c4e0383ffed275306f359bd508\"\u003e\u003ccode\u003e5aad14c\u003c/code\u003e\u003c/a\u003e [misc] optimize BigInt column decoding and improve type safety in codec inter...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.6...3.5.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb:flyway-mysql` from 11.19.0 to 12.4.0\n\nUpdates `org.projectlombok:lombok` from 1.18.42 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.44 (March 11th, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFEATURE: \u003ccode\u003e@Jacksonized\u003c/code\u003e now supports both Jackson2 and Jackson3; you'll get a warning until you configure which one (or even both!) you want lombok to generate. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3950\"\u003e#3950\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: On JDK25, \u003ccode\u003eval\u003c/code\u003e and \u003ccode\u003e@ExtensionMethod\u003c/code\u003e could sometimes cause erroneous errors (in that you see errors but compilation succeeds anyway) using javac. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3947\"\u003e#3947\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e + fields marked \u003ccode\u003etransient\u003c/code\u003e would result in those transient fields being serialised which is surprising (and thus undesired) behaviour. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3936\"\u003e#3936\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.42...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.pdfbox:pdfbox` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:pdfbox-io` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:xmpbox` from 3.0.6 to 3.0.7\n\nUpdates `com.twelvemonkeys.imageio:imageio-jpeg` from 3.13.0 to 3.13.1\n\nUpdates `com.twelvemonkeys.imageio:imageio-tiff` from 3.13.0 to 3.13.1\n\nUpdates `com.twelvemonkeys.imageio:imageio-webp` from 3.13.0 to 3.13.1\n\nUpdates `com.twelvemonkeys.imageio:imageio-bmp` from 3.13.0 to 3.13.1\n\nUpdates `io.documentnode:epub4j-core` from 4.2.2 to 4.2.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/documentnode/epub4j/commit/4bf55082feba0496f98b867ec03ebec5f393b649\"\u003e\u003ccode\u003e4bf5508\u003c/code\u003e\u003c/a\u003e Migrate Maven Central publishing to new Central Portal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/documentnode/epub4j/commit/b153885ef8aefbe4063a40894c048a5cc2b5a354\"\u003e\u003ccode\u003eb153885\u003c/code\u003e\u003c/a\u003e Load sdkman environment before running gradle commands\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/documentnode/epub4j/compare/v4.2.2...v4.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.junrar:junrar` from 7.5.7 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.5.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier Roebroeck\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.9\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Ryan Campbell\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.8\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.9...v7.5.10\"\u003e7.5.10\u003c/a\u003e (2026-04-15)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.9\"\u003e7.5.9\u003c/a\u003e (2026-04-13)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.7...v7.5.8\"\u003e7.5.8\u003c/a\u003e (2026-02-26)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handle files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/947ff1d\"\u003e947ff1d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump jreleaser to 1.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/a489f58\"\u003ea489f58\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 8.14 to 9.3.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/a319fc7\"\u003ea319fc7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/c7041fc\"\u003ec7041fc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/618feeb\"\u003e618feeb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.24 to 1.5.26 (\u003ca href=\"https://github.com/junrar/junrar/commits/55399ea\"\u003e55399ea\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.assertj:assertj-core from 3.27.6 to 3.27.7 (\u003ca href=\"https://github.com/junrar/junrar/commits/de33003\"\u003ede33003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.23 to 1.5.24 (\u003ca href=\"https://github.com/junrar/junrar/commits/a4ba2c1\"\u003ea4ba2c1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.22 to 1.5.23 (\u003ca href=\"https://github.com/junrar/junrar/commits/75864b6\"\u003e75864b6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e36ee091ad7311a021e1c928ada103a3eab2d890\"\u003e\u003ccode\u003ee36ee09\u003c/code\u003e\u003c/a\u003e ci: publish test results\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/154e3bf7b05bb6dcad5437a8fd8e99a8da916373\"\u003e\u003ccode\u003e154e3bf\u003c/code\u003e\u003c/a\u003e test: disable test on windows due to path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d77e9a83eb721cd51f9c23d7869d0e6ad7f952d7\"\u003e\u003ccode\u003ed77e9a8\u003c/code\u003e\u003c/a\u003e fix: better handling of files outside directory when extracting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/a60857b35c17dbd5354a37816421d7b051a8ba03\"\u003e\u003ccode\u003ea60857b\u003c/code\u003e\u003c/a\u003e ci: update homebrew action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/72cd364f47bd396e208cd82ca7aa98759ab84f01\"\u003e\u003ccode\u003e72cd364\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.9 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/7e1b5581f9d622b96e9e2a8574188027e7642634\"\u003e\u003ccode\u003e7e1b558\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/f800f10fa46f803f1220f508a40f59af29eb5118\"\u003e\u003ccode\u003ef800f10\u003c/code\u003e\u003c/a\u003e build(deps): bump org.mockito:mockito-core from 5.22.0 to 5.23.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/1886aecf253467ff8f98fc1187237605cf59fbb0\"\u003e\u003ccode\u003e1886aec\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/832f6857128bcd678d76bf263f8ee1533a1e8a86\"\u003e\u003ccode\u003e832f685\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper from 9.4.0 to 9.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/9b69c6b708dd88b925ba91fde563869cc0f8f586\"\u003e\u003ccode\u003e9b69c6b\u003c/code\u003e\u003c/a\u003e fix: ArrayIndexOutOfBoundsException in solid RAR v20 archive extraction\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.7...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.20.1 to 2.21.2\n\nUpdates `org.jsoup:jsoup` from 1.21.2 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.1\u003c/strong\u003e is out now, adding support for the \u003ccode\u003ere2j\u003c/code\u003e regular expression engine for regex-based CSS selectors, a configurable maximum parser depth, and numerous bug fixes and improvements.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jsoup.org/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for using the \u003ccode\u003ere2j\u003c/code\u003e regular expression engine for regex-based CSS selectors (e.g. \u003ccode\u003e[attr~=regex]\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e), which ensures linear-time performance for regex evaluation. This allows safer handling of arbitrary user-supplied query regexes. To enable, add the \u003ccode\u003ecom.google.re2j\u003c/code\u003e dependency to your classpath, e.g.:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"xml\"\u003e\u003ccode\u003e  \u0026lt;dependency\u0026gt;\r\n    \u0026lt;groupId\u0026gt;com.google.re2j\u0026lt;/groupId\u0026gt;\r\n    \u0026lt;artifactId\u0026gt;re2j\u0026lt;/artifactId\u0026gt;\r\n    \u0026lt;version\u0026gt;1.8\u0026lt;/version\u0026gt;\r\n  \u0026lt;/dependency\u0026gt;\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e(If you already have that dependency in your classpath, but you want to keep using the Java regex engine, you can disable re2j via \u003ccode\u003eSystem.setProperty(\u0026quot;jsoup.useRe2j\u0026quot;, \u0026quot;false\u0026quot;)\u003c/code\u003e.) You can confirm that the re2j engine has been enabled correctly by calling \u003ccode\u003eRegex.usingRe2j()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2407\"\u003e#2407\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.22.1 (2026-Jan-01)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for using the \u003ccode\u003ere2j\u003c/code\u003e regular expression engine for regex-based CSS selectors (e.g. \u003ccode\u003e[attr~=regex]\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e), which ensures linear-time performance for regex evaluation. This allows safer handling of arbitrary user-supplied query regexes. To enable, add the \u003ccode\u003ecom.google.re2j\u003c/code\u003e dependency to your classpath, e.g.:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"xml\"\u003e\u003ccode\u003e  \u0026lt;dependency\u0026gt;\n    \u0026lt;groupId\u0026gt;com.google.re2j\u0026lt;/groupId\u0026gt;\n    \u0026lt;artifactId\u0026gt;re2j\u0026lt;/artifactId\u0026gt;\n    \u0026lt;version\u0026gt;1.8\u0026lt;/version\u0026gt;\n  \u0026lt;/dependency\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e(If you already have that dependency in your classpath, but you want to keep using the Java regex engine, you can disable re2j via \u003ccode\u003eSystem.setProperty(\u0026quot;jsoup.useRe2j\u0026quot;, \u0026quot;false\u0026quot;)\u003c/code\u003e.) You can confirm that the re2j engine has been enabled correctly by calling \u003ccode\u003eorg.jsoup.helper.Regex.usingRe2j()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2407\"\u003e#2407\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an instance method \u003ccode\u003eParser#unescape(String, boolean)\u003c/code\u003e that unescapes HTML entities using the parser's configuration (e.g. to support error tracking), complementing the existing static utility \u003ccode\u003eParser.unescapeEntities(String, boolean)\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2396\"\u003e#2396\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded a configurable maximum parser depth (to limit the number of open elements on stack) to both HTML and XML parsers. The HTML parser now defaults to a depth of 512 to match browser behavior, and protect against unbounded stack growth, while the XML parser keeps unlimited depth by default, but can opt into a limit via \u003ccode\u003eorg.jsoup.parser.Parser#setMaxDepth\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2421\"\u003e#2421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild: added CI coverage for JDK 25 \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2403\"\u003e#2403\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild: added a CI fuzzer for contextual fragment parsing (in addition to existing full body HTML and XML fuzzers). [oss-fuzz \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/14041\"\u003e#14041\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/google/oss-fuzz/pull/14041\"\u003egoogle/oss-fuzz#14041\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSet a removal schedule of jsoup 1.24.1 for previously deprecated APIs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreviously cached child \u003ccode\u003eElements\u003c/code\u003e of an \u003ccode\u003eElement\u003c/code\u003e were not correctly invalidated in \u003ccode\u003eNode#replaceWith(Node)\u003c/code\u003e, which could lead to incorrect results when subsequently calling \u003ccode\u003eElement#children()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2391\"\u003e#2391\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAttribute selector values are now compared literally without trimming. Previously, jsoup trimmed whitespace from selector values and from element attribute values, which could cause mismatches with browser behavior (e.g. \u003ccode\u003e[attr=\u0026quot; foo \u0026quot;]\u003c/code\u003e). Now matches align with the CSS specification and browser engines. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2380\"\u003e#2380\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using the JDK HttpClient, any system default proxy (\u003ccode\u003eProxySelector.getDefault()\u003c/code\u003e) was ignored. Now, the system proxy is used if a per-request proxy is not set. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2388\"\u003e#2388\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2390\"\u003e#2390\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003eValidationException\u003c/code\u003e could be thrown in the adoption agency algorithm with particularly broken input. Now logged as a parse error. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2393\"\u003e#2393\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNull characters in the HTML body were not consistently removed; and in foreign content were not correctly replaced. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2395\"\u003e#2395\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAn \u003ccode\u003eIndexOutOfBoundsException\u003c/code\u003e could be thrown when parsing a body fragment with crafted input. Now logged as a parse error. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2397\"\u003e#2397\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2406\"\u003e#2406\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using StructuralEvaluators (e.g., a \u003ccode\u003eparent child\u003c/code\u003e selector) across many retained threads, their memoized results could also be retained, increasing memory use. These results are now cleared immediately after use, reducing overall memory consumption. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2411\"\u003e#2411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCloning a \u003ccode\u003eParser\u003c/code\u003e now preserves any custom \u003ccode\u003eTagSet\u003c/code\u003e applied to the parser. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2422\"\u003e#2422\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2423\"\u003e#2423\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.21.2...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 2.8.14 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003espringdoc-openapi v3.0.2 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3229\"\u003e#3229\u003c/a\u003e – Add support for Spring Framework API Versioning with Functional Endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3208\"\u003e#3208\u003c/a\u003e – Add \u003ccode\u003espringdoc.swagger-ui.document-title\u003c/code\u003e property\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.3\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.43\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Scalar to version \u003cstrong\u003e0.5.55\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3232\"\u003e#3232\u003c/a\u003e – Gracefully handle springdoc endpoint paths during API version resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3230\"\u003e#3230\u003c/a\u003e – Scalar source URLs resolve to \u003ccode\u003enull/\u0026lt;groupName\u0026gt;\u003c/code\u003e on second request when using \u003ccode\u003eGroupedOpenApi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3228\"\u003e#3228\u003c/a\u003e – springdoc-openapi-starter 3.x doesn't depend on \u003ccode\u003eorg.springframework.boot:spring-boot-starter\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.0.2] - 2026-02-27\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3229\"\u003e#3229\u003c/a\u003e – Add support for Spring Framework API Versioning with Functional Endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3208\"\u003e#3208\u003c/a\u003e – Add \u003ccode\u003espringdoc.swagger-ui.document-title\u003c/code\u003e property\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.3\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.43\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Scalar to version \u003cstrong\u003e0.5.55\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3232\"\u003e#3232\u003c/a\u003e – Gracefully handle springdoc endpoint paths during API version resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3230\"\u003e#3230\u003c/a\u003e – Scalar source URLs resolve to \u003ccode\u003enull/\u0026lt;groupName\u0026gt;\u003c/code\u003e on second request when using \u003ccode\u003eGroupedOpenApi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3228\"\u003e#3228\u003c/a\u003e – springdoc-openapi-starter 3.x doesn't depend on \u003ccode\u003eorg.springframework.boot:spring-boot-starter\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3220\"\u003e#3220\u003c/a\u003e – Reachability metadata not compatible with GraalVM 25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3195\"\u003e#3195\u003c/a\u003e – Application won't compile when OpenApi and spring-boot-data-rest is present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3193\"\u003e#3193\u003c/a\u003e – \u003ccode\u003eOpenApi\u003c/code\u003e field in \u003ccode\u003eSpringDocConfigProperties\u003c/code\u003e does not comply with camel case naming conventions\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v2.8.14...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.tukaani:xz` from 1.11 to 1.12\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tukaani-project/xz-java/blob/master/NEWS.md\"\u003eorg.tukaani:xz's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.12 (2026-03-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix ArrayIndexOutOfBoundsException in the LZMA/LZMA2 encoder on\nx86-64 and ARM64 when running on Java 9 or newer. The affected\ncode isn't used on Java 8. The bug is present in versions 1.10\nand 1.11. If one cannot upgrade, one should set the property\n\u003ccode\u003eorg.tukaani.xz.MatchLengthFinder=Basic\u003c/code\u003e to disable the affected\ncode path.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix ArrayCache usage in LZMAInputStream. If ArrayCache was enabled,\ndecompression was likely to fail quickly when the cache returns a\ncached array. ArrayCache is disabled by default.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe binaries of 1.12 in the Maven Central require Java 8 and\ncontain optimized classes for Java \u0026gt;= 9 as multi-release JAR.\nThey were built with OpenJDK 21.0.10 on GNU/Linux and can be\nreproduced using the following command:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eSOURCE_DATE_EPOCH=1772370000 TZ=UTC0 ant maven\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/107a519fac1e6789101ad9c234afe3dc407be7f5\"\u003e\u003ccode\u003e107a519\u003c/code\u003e\u003c/a\u003e Bump the version number to 1.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/3061152e66a8ea2cc6366fd5da21409b8a3d4788\"\u003e\u003ccode\u003e3061152\u003c/code\u003e\u003c/a\u003e Update NEWS.md for 1.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/0ecee25c1590dae305135317cf6e768f49093af7\"\u003e\u003ccode\u003e0ecee25\u003c/code\u003e\u003c/a\u003e Refactor EXTRA_SIZE to getExtraSize()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/ac1aeb197dd8589dc6892f13f5ef68801383ec34\"\u003e\u003ccode\u003eac1aeb1\u003c/code\u003e\u003c/a\u003e Fix ArrayIndexOutOfBoundsException in the LZMA/LZMA2 encoder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/12c75fd1d06ef7db89335d3da1ca5bb91ab6ac0b\"\u003e\u003ccode\u003e12c75fd\u003c/code\u003e\u003c/a\u003e Fix ArrayCache usage with LZMAInputStream\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/e52d9ad621afcaa422668484bad91ce7ba0506ef\"\u003e\u003ccode\u003ee52d9ad\u003c/code\u003e\u003c/a\u003e SHA256SUMS: Add 1.11 files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/9a755ec5335de00ce365b365b72e4683e591171f\"\u003e\u003ccode\u003e9a755ec\u003c/code\u003e\u003c/a\u003e CI: Add missing SPDX tags\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tukaani-project/xz-java/compare/v1.11...v1.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.0 to 3.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed frequency tracking of weak keys to use the object's identity hash code (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1902\"\u003e#1902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for underscores in \u003ccode\u003eCaffeineSpec\u003c/code\u003e when using numeric literals (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1890\"\u003e#1890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved the external api to no longer lock when querying for the maximum size or weighted size (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1897\"\u003e#1897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded detection and recovery when a custom \u003ccode\u003eCompletableFuture\u003c/code\u003e is in an inconsistent state (\u003ca href=\"https://redirect.github.com/quarkusio/quarkus/issues/50513\"\u003equarkus#50513\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.2.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed characteristics returned by Spliterators (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1883\"\u003e#1883\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e for an async cache's synchronous view to retry if incomplete\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eCaffeineSpec\u003c/code\u003e when being reflectively constructed (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1839\"\u003e#1839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved the handling of negative durations with variable expiration\u003c/li\u003e\n\u003cli\u003eFixed intermittent null after replacing a weak/soft value (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1820\"\u003e#1820\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/5227a98b51e02b4d4fbfc2b0e33c362a138f51b1\"\u003e\u003ccode\u003e5227a98\u003c/code\u003e\u003c/a\u003e minor build touchups\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/cc3f37d50776f246bfb3ddbe907d2c1a675ce901\"\u003e\u003ccode\u003ecc3f37d\u003c/code\u003e\u003c/a\u003e reorganize into separate gradle test suites\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2299add522332c06b7bbebb0b5ef322ea23f5254\"\u003e\u003ccode\u003e2299add\u003c/code\u003e\u003c/a\u003e Allow users to read the maximum size without locking (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1897\"\u003e#1897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/6250b384f161d1841e2bfd032f7bf375626d90ad\"\u003e\u003ccode\u003e6250b38\u003c/code\u003e\u003c/a\u003e clarify policy javadoc and add corresponding test cases (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1927\"\u003e#1927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/c975fc07460d2fd4008c4d4d14044f65bb1323f2\"\u003e\u003ccode\u003ec975fc0\u003c/code\u003e\u003c/a\u003e upgrade error-prone static analyzer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/d8e0a92553ab230122bcd223363c1d8ca060bce7\"\u003e\u003ccode\u003ed8e0a92\u003c/code\u003e\u003c/a\u003e allow the project.version to be overridden by external builders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0e46d2225fece2ac0ce68d9bdd2a056af6015136\"\u003e\u003ccode\u003e0e46d22\u003c/code\u003e\u003c/a\u003e detect if the user's future is inconsistent with the results\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/1971428f8b2fbd37fb57ed6a092de6d7c965f55a\"\u003e\u003ccode\u003e1971428\u003c/code\u003e\u003c/a\u003e use the assemble task for a full build without running the test suites\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/782ac79e079ae404ebb948afcc6f28b60aafd8dd\"\u003e\u003ccode\u003e782ac79\u003c/code\u003e\u003c/a\u003e use the key reference with the frequency sketch (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1902\"\u003e#1902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/e0dd94b922b862b6afbaa59464f1d3cfb8a24596\"\u003e\u003ccode\u003ee0dd94b\u003c/code\u003e\u003c/a\u003e minor build clean up\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.0...v3.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.assertj:assertj-core` from 3.27.6 to 3.27.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/assertj/assertj/releases\"\u003eorg.assertj:assertj-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.27.7\u003c/h2\u003e\n\u003ch2\u003e:lock: Security\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix XXE vulnerability in \u003ccode\u003eisXmlEqualTo\u003c/code\u003e assertion (CVE-2026-24400)\n\u003cul\u003e\n\u003cli\u003eSee GHSA-rqfh-9r24-8c9r for details; many thanks to \u003ca href=\"https://github.com/wxt201\"\u003e\u003ccode\u003e@​wxt201\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Song-Li\"\u003e\u003ccode\u003e@​Song-Li\u003c/code\u003e\u003c/a\u003e for responsibly reporting it!\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:no_entry_sign: Deprecated\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eXmlStringPrettyFormatter\u003c/code\u003e with no replacement\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:bug: Bug Fixes\u003c/h2\u003e\n\u003ch3\u003eGuava\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNavigation to \u003ccode\u003eassertj-core\u003c/code\u003e or \u003ccode\u003eguava\u003c/code\u003e types from \u003ccode\u003eassertj-guava\u003c/code\u003e Javadoc site has unnecessary header \u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3478\"\u003e#3478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Byte Buddy 1.18.3\u003c/li\u003e\n\u003cli\u003eUpgrade to JUnit BOM 5.14.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eGuava\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Guava 33.5.0-jre\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/e84071667f5f8f13084af9dfa54cee5fd9db18db\"\u003e\u003ccode\u003ee840716\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release assertj-build-3.27.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/85ca7eb6609bb179c043b85ae7d290523b1ba79a\"\u003e\u003ccode\u003e85ca7eb\u003c/code\u003e\u003c/a\u003e Deprecate \u003ccode\u003eXmlStringPrettyFormatter\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/77081dc5eb107141df80f95bd0149b468e451341\"\u003e\u003ccode\u003e77081dc\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/b68fc24a9de28f28a486fc5b887c1b8a003a5823\"\u003e\u003ccode\u003eb68fc24\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.31.9 to 4.31.10 in the github-actions group ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/0cf5bb6c50f6ead3deaa2a2ff50ef1e7d933c8a3\"\u003e\u003ccode\u003e0cf5bb6\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003ekotlin.version\u003c/code\u003e from 2.1.0 to 2.2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/d393ef1f5e48c89d47d7cf6d1eae359ceda0a126\"\u003e\u003ccode\u003ed393ef1\u003c/code\u003e\u003c/a\u003e Abort tests when symbolic links cannot be created (\u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3788\"\u003e#3788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/22124331e9922af5a43ab50f7a9a25b65be53be1\"\u003e\u003ccode\u003e2212433\u003c/code\u003e\u003c/a\u003e Add IntelliJ custom inspection for test class names\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/5717d025cfe0f4c66de20f3253c0b0ecba259aa1\"\u003e\u003ccode\u003e5717d02\u003c/code\u003e\u003c/a\u003e Update JetBrains icon\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/a8ec20bd42ed01f9cc6f654046c7dd424b0af07c\"\u003e\u003ccode\u003ea8ec20b\u003c/code\u003e\u003c/a\u003e Add icon for JetBrains products\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/c05fb3d052b415fb2d6051df939f3b7903a76afe\"\u003e\u003ccode\u003ec05fb3d\u003c/code\u003e\u003c/a\u003e Bump Maven to 3.9.12 and Wrapper to 3.3.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/assertj/assertj/compare/assertj-build-3.27.6...assertj-build-3.27.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 3.5.8 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently ...\n\n_Description has been truncated_","html_url":"https://github.com/PetraRu6/booklore-solid-refactor/pull/18","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/PetraRu6%2Fbooklore-solid-refactor/issues/18","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/18/packages"},{"uuid":"4319593551","node_id":"PR_kwDOKyk85s7VKTHt","number":2303,"state":"closed","title":"chore(deps): bump the all-backend-non-major-dependencies group across 1 directory with 10 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-27T00:08:25.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-24T00:07:50.000Z","updated_at":"2026-04-27T00:08:27.000Z","time_to_close":259235,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"all-backend-non-major-dependencies","update_count":10,"packages":[{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.4.1","new_version":"1.4.2","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"software.amazon.awssdk:bom","old_version":"2.42.33","new_version":"2.42.37"},{"name":"org.bouncycastle:bcpkix-jdk18on","old_version":"1.83","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"org.bouncycastle:bcprov-jdk18on","old_version":"1.83","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"com.uber.nullaway:nullaway","old_version":"0.13.2","new_version":"0.13.3","repository_url":"https://github.com/uber/NullAway"},{"name":"io.micrometer:micrometer-registry-prometheus","old_version":"1.16.4","new_version":"1.16.5","repository_url":"https://github.com/micrometer-metrics/micrometer"},{"name":"org.testcontainers:testcontainers","old_version":"2.0.4","new_version":"2.0.5","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.testcontainers:testcontainers-junit-jupiter","old_version":"2.0.4","new_version":"2.0.5","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.testcontainers:testcontainers-postgresql","old_version":"2.0.4","new_version":"2.0.5","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the all-backend-non-major-dependencies group with 10 updates in the /backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.4.1` | `1.4.2` |\n| software.amazon.awssdk:bom | `2.42.33` | `2.42.37` |\n| [org.bouncycastle:bcpkix-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |\n| [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |\n| [com.uber.nullaway:nullaway](https://github.com/uber/NullAway) | `0.13.2` | `0.13.3` |\n| [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) | `1.16.4` | `1.16.5` |\n| [org.testcontainers:testcontainers](https://github.com/testcontainers/testcontainers-java) | `2.0.4` | `2.0.5` |\n| [org.testcontainers:testcontainers-junit-jupiter](https://github.com/testcontainers/testcontainers-java) | `2.0.4` | `2.0.5` |\n| [org.testcontainers:testcontainers-postgresql](https://github.com/testcontainers/testcontainers-java) | `2.0.4` | `2.0.5` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n\n\nUpdates `com.tngtech.archunit:archunit-junit5` from 1.4.1 to 1.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TNG/ArchUnit/releases\"\u003ecom.tngtech.archunit:archunit-junit5's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eArchUnit 1.4.2\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDescribedPredicate#negate()\u003c/code\u003e returns a \u003ccode\u003eDescribedPredicate\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1484\"\u003e#1484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003eJavaCodeUnit.Predicates.anyParameterThat\u003c/code\u003e and \u003ccode\u003eJavaCodeUnit.Predicates.allParameters\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1498\"\u003e#1498\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/mkhl\"\u003e\u003ccode\u003e@​mkhl\u003c/code\u003e\u003c/a\u003e 👏)\u003c/li\u003e\n\u003cli\u003eSupport Java 26 / class file major version 70 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/e45aaa20543b74daeaa09f501b8890742dc7dd8d\"\u003e\u003ccode\u003ee45aaa2\u003c/code\u003e\u003c/a\u003e prepare release 1.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/c07193cb024f7717b8480c50dfe8ea130f0b019b\"\u003e\u003ccode\u003ec07193c\u003c/code\u003e\u003c/a\u003e set version to \u003ccode\u003e1.4.2-SNAPSHOT\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/ac9b896675d553d607f230e94ae7e4dc096a47e6\"\u003e\u003ccode\u003eac9b896\u003c/code\u003e\u003c/a\u003e migrate from (meanwhile shut down) OSSRH to Central Publisher Portal using th...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/b72fcaf8a7ba6385e7f5516571adcca4e5b67046\"\u003e\u003ccode\u003eb72fcaf\u003c/code\u003e\u003c/a\u003e Bump actions/github-script from 8 to 9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/fc1881d5b8310b979f40086e254d3c7aff4ff044\"\u003e\u003ccode\u003efc1881d\u003c/code\u003e\u003c/a\u003e Bump addressable from 2.8.7 to 2.9.0 in /docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/dee39bbf3e2983e5aff7739d107ca2adf129f409\"\u003e\u003ccode\u003edee39bb\u003c/code\u003e\u003c/a\u003e Bump activesupport from 7.1.3.4 to 7.2.3.1 in /docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/b0970078389702b481c40b667bd231f01b42a1d0\"\u003e\u003ccode\u003eb097007\u003c/code\u003e\u003c/a\u003e Bump gradle/actions from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/4d7cfe9ee9c5a207c07ba5b1af62e0cd9577a3ec\"\u003e\u003ccode\u003e4d7cfe9\u003c/code\u003e\u003c/a\u003e Bump json from 2.18.1 to 2.19.2 in /docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/90dc7733fb4a8b692d664039e5d4f55a3b92f297\"\u003e\u003ccode\u003e90dc773\u003c/code\u003e\u003c/a\u003e Bump nokogiri from 1.18.9 to 1.19.1 in /docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/7a88298fbfdff328e133b0fbdad91f0ea674df0d\"\u003e\u003ccode\u003e7a88298\u003c/code\u003e\u003c/a\u003e Bump faraday from 2.10.1 to 2.14.1 in /docs\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TNG/ArchUnit/compare/v1.4.1...v1.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `software.amazon.awssdk:bom` from 2.42.33 to 2.42.37\n\nUpdates `org.bouncycastle:bcpkix-jdk18on` from 1.83 to 1.84\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html\"\u003eorg.bouncycastle:bcpkix-jdk18on's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/bcgit/bc-java/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.bouncycastle:bcprov-jdk18on` from 1.83 to 1.84\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html\"\u003eorg.bouncycastle:bcprov-jdk18on's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/bcgit/bc-java/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.bouncycastle:bcprov-jdk18on` from 1.83 to 1.84\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html\"\u003eorg.bouncycastle:bcprov-jdk18on's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/bcgit/bc-java/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.uber.nullaway:nullaway` from 0.13.2 to 0.13.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/uber/NullAway/releases\"\u003ecom.uber.nullaway:nullaway's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eNullAway 0.13.3\u003c/h2\u003e\n\u003cp\u003eQuick follow-up release to 0.13.2 to fix a crash (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1523\"\u003e#1523\u003c/a\u003e).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ca href=\"https://github.com/InjectSoftAssertions\"\u003e\u003ccode\u003e@​InjectSoftAssertions\u003c/code\u003e\u003c/a\u003e to default excluded field annotations by \u003ca href=\"https://github.com/is-ivanov\"\u003e\u003ccode\u003e@​is-ivanov\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1516\"\u003e#1516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix check for enclosing \u003ccode\u003eNewClassTree\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1524\"\u003e#1524\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMaintenance\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003eonOverrideMethodInvocationVarargsArrayNullability\u003c/code\u003e handler method (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1518\"\u003e#1518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate to Checker Framework 4.0.0 (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1519\"\u003e#1519\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/uber/NullAway/blob/master/CHANGELOG.md\"\u003ecom.uber.nullaway:nullaway's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.13.3\u003c/h2\u003e\n\u003cp\u003eQuick follow-up release to 0.13.2 to fix a crash (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1523\"\u003e#1523\u003c/a\u003e).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ca href=\"https://github.com/InjectSoftAssertions\"\u003e\u003ccode\u003e@​InjectSoftAssertions\u003c/code\u003e\u003c/a\u003e to default excluded field annotations by \u003ca href=\"https://github.com/is-ivanov\"\u003e\u003ccode\u003e@​is-ivanov\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1516\"\u003e#1516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix check for enclosing \u003ccode\u003eNewClassTree\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1524\"\u003e#1524\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMaintenance\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003eonOverrideMethodInvocationVarargsArrayNullability\u003c/code\u003e handler method (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1518\"\u003e#1518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate to Checker Framework 4.0.0 (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1519\"\u003e#1519\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber/NullAway/commit/68232d259460071bef95cf05e5c508a76a2bb68d\"\u003e\u003ccode\u003e68232d2\u003c/code\u003e\u003c/a\u003e Prepare for release 0.13.3.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber/NullAway/commit/b2d6dfa1677521cd42d02e7c883c24d9b19e2af6\"\u003e\u003ccode\u003eb2d6dfa\u003c/code\u003e\u003c/a\u003e Changelog for 0.13.3 (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1527\"\u003e#1527\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber/NullAway/commit/a6855fdf29211c8145bca0f24028586f35397b2d\"\u003e\u003ccode\u003ea6855fd\u003c/code\u003e\u003c/a\u003e Fix check for enclosing \u003ccode\u003eNewClassTree\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1524\"\u003e#1524\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber/NullAway/commit/9c08bc5742eed5521356ac2c44a4e7637aed5b5c\"\u003e\u003ccode\u003e9c08bc5\u003c/code\u003e\u003c/a\u003e Update to Checker Framework 4.0.0 (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1519\"\u003e#1519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber/NullAway/commit/68fc07e07bd6de78136243faa4b8d4732881e4b5\"\u003e\u003ccode\u003e68fc07e\u003c/code\u003e\u003c/a\u003e Remove \u003ccode\u003eonOverrideMethodInvocationVarargsArrayNullability\u003c/code\u003e handler method (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber/NullAway/commit/7b5c9243f89a7a344025006942a0378500d2e954\"\u003e\u003ccode\u003e7b5c924\u003c/code\u003e\u003c/a\u003e Add \u003ca href=\"https://github.com/InjectSoftAssertions\"\u003e\u003ccode\u003e@​InjectSoftAssertions\u003c/code\u003e\u003c/a\u003e to default excluded field annotations (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1516\"\u003e#1516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber/NullAway/commit/164d8f6e860fb2eff5b629758891c78013ff89c4\"\u003e\u003ccode\u003e164d8f6\u003c/code\u003e\u003c/a\u003e Prepare next development version.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/uber/NullAway/compare/v0.13.2...v0.13.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.micrometer:micrometer-registry-prometheus` from 1.16.4 to 1.16.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/micrometer-metrics/micrometer/releases\"\u003eio.micrometer:micrometer-registry-prometheus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.16.5\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInvalid reflection hint in micrometer-core for native GraalVM 25 build \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7316\"\u003e#7316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eObservationGrpcClientInterceptor throws NPE when NameResolver returns empty authority \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7380\"\u003e#7380\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWrong Nullability Information in OkHttpMetricsEventListener \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7373\"\u003e#7373\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump com.netflix.spectator:spectator-reg-atlas from 1.9.4 to 1.9.6 \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/pull/7393\"\u003e#7393\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump spring6 from 6.2.16 to 6.2.17 \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/pull/7294\"\u003e#7294\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:heart: Contributors\u003c/h2\u003e\n\u003cp\u003eThank you to all the contributors who worked on this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/Joowon-Seo\"\u003e\u003ccode\u003e@​Joowon-Seo\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/ribafish\"\u003e\u003ccode\u003e@​ribafish\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/cf727d0a9605c1aea58c26c5e72fb9f6fe84df2a\"\u003e\u003ccode\u003ecf727d0\u003c/code\u003e\u003c/a\u003e Bump com.netflix.spectator:spectator-reg-atlas from 1.9.5 to 1.9.6 (\u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7393\"\u003e#7393\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/55b8f066ce6dbb637ccb54e626dadab605885a3e\"\u003e\u003ccode\u003e55b8f06\u003c/code\u003e\u003c/a\u003e Fix OkHttp tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/140b83bb46f2a10e6429522bb9aa785b63dc7882\"\u003e\u003ccode\u003e140b83b\u003c/code\u003e\u003c/a\u003e Harmonize \u003ca href=\"https://github.com/Nullable\"\u003e\u003ccode\u003e@​Nullable\u003c/code\u003e\u003c/a\u003e annotations in okhttp instrumentation (\u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7375\"\u003e#7375\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/8c1758b23f82d45579f2b12bd3a011d510afbd08\"\u003e\u003ccode\u003e8c1758b\u003c/code\u003e\u003c/a\u003e Handle null peerName in GrpcClientObservationConvention (\u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7381\"\u003e#7381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/5ee71b4cf892357e49c7bde26fb226e5958716b3\"\u003e\u003ccode\u003e5ee71b4\u003c/code\u003e\u003c/a\u003e Merge branch '1.15.x' into 1.16.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/84faaa60aaa8dfd3e0aab02ff6ca6986c5fd3fe0\"\u003e\u003ccode\u003e84faaa6\u003c/code\u003e\u003c/a\u003e Fix build cache misses from overlapping outputs in statsd module (\u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7349\"\u003e#7349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/9a0441db18e32df1a76753c0dcd92d29631a6418\"\u003e\u003ccode\u003e9a0441d\u003c/code\u003e\u003c/a\u003e Merge branch '1.15.x' into 1.16.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/1010433d812e3f8187103f72fae163137cf62694\"\u003e\u003ccode\u003e1010433\u003c/code\u003e\u003c/a\u003e NullMeterTagSupportTests does not match its filename\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/c2770fc0c3c1464b73f78eeab130ed7ed6475b90\"\u003e\u003ccode\u003ec2770fc\u003c/code\u003e\u003c/a\u003e Bump org.apache.logging.log4j:log4j-core from 2.25.3 to 2.25.4 (\u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7362\"\u003e#7362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/26f6da0f34511d5145e44bb2526bbf3b91491cd0\"\u003e\u003ccode\u003e26f6da0\u003c/code\u003e\u003c/a\u003e Bump io.netty:netty-bom from 4.1.131.Final to 4.1.132.Final (\u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7335\"\u003e#7335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/micrometer-metrics/micrometer/compare/v1.16.4...v1.16.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.testcontainers:testcontainers` from 2.0.4 to 2.0.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testcontainers/testcontainers-java/releases\"\u003eorg.testcontainers:testcontainers's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.5\u003c/h2\u003e\n\u003ch1\u003eWhat's Changed\u003c/h1\u003e\n\u003ch2\u003e🚀 Features \u0026amp; Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003eapache/artemis\u003c/code\u003e in ArtemisContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11590\"\u003e#11590\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd getHttpPort and getGrpcPort methods in WeaviateContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11712\"\u003e#11712\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for !override docker compose tag (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11490\"\u003e#11490\u003c/a\u003e) \u003ca href=\"https://github.com/meck-gd\"\u003e\u003ccode\u003e@​meck-gd\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix jarFileTest cache relocatability (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11574\"\u003e#11574\u003c/a\u003e) \u003ca href=\"https://github.com/ribafish\"\u003e\u003ccode\u003e@​ribafish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📖 Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate LocalStack docs (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11581\"\u003e#11581\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Housekeeping\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typo in GenericContainer namespace validation error message (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11717\"\u003e#11717\u003c/a\u003e) \u003ca href=\"https://github.com/haider2122\"\u003e\u003ccode\u003e@​haider2122\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace deprecated/removed method calls javadoc examples (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11570\"\u003e#11570\u003c/a\u003e) \u003ca href=\"https://github.com/ratonalgaze\"\u003e\u003ccode\u003e@​ratonalgaze\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse weaviate client v6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11711\"\u003e#11711\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePolish CI workflows (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11686\"\u003e#11686\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate testcontainers version to 2.0.4 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11357\"\u003e#11357\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate docs version to 2.0.4 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11573\"\u003e#11573\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency updates\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11710\"\u003e#11710\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11708\"\u003e#11708\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11707\"\u003e#11707\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11706\"\u003e#11706\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11705\"\u003e#11705\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11704\"\u003e#11704\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11701\"\u003e#11701\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11700\"\u003e#11700\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11699\"\u003e#11699\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11685\"\u003e#11685\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11684\"\u003e#11684\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11681\"\u003e#11681\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11672\"\u003e#11672\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11671\"\u003e#11671\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11670\"\u003e#11670\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11632\"\u003e#11632\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/5c448202ac69d073f746433d3e79f6a2bf0ec585\"\u003e\u003ccode\u003e5c44820\u003c/code\u003e\u003c/a\u003e Fix typo (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11717\"\u003e#11717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/84b1c3a5951f18421ed35e82c44a1d17c5690cad\"\u003e\u003ccode\u003e84b1c3a\u003c/code\u003e\u003c/a\u003e Add getHttpPort and getGrpcPort methods in WeaviateContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11712\"\u003e#11712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/a412b8ea77bae4ef51ca3e6bed7cffd0566b362e\"\u003e\u003ccode\u003ea412b8e\u003c/code\u003e\u003c/a\u003e Use weaviate client v6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11711\"\u003e#11711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/058fa82a96853bd653aa3bcaa95b6d94a148ea69\"\u003e\u003ccode\u003e058fa82\u003c/code\u003e\u003c/a\u003e Combined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11710\"\u003e#11710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/773f344be6446a45da27e21d1d1a1c493b1a4062\"\u003e\u003ccode\u003e773f344\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/hivemq/ch.qos....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/ebe60437d087b16e5fac33ae554ecce13303b8bd\"\u003e\u003ccode\u003eebe6043\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/activemq/org.a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/5248d1dec9810e31b2cb0dc93ac04dd2820141ff\"\u003e\u003ccode\u003e5248d1d\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/scylladb/softw...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/ab781f6f71a619d4a55206e6c9380108a2508d13\"\u003e\u003ccode\u003eab781f6\u003c/code\u003e\u003c/a\u003e Combined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11708\"\u003e#11708\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/2d6c1be44a8618016f3510b6a30286c54a55ac7d\"\u003e\u003ccode\u003e2d6c1be\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/core/org.jetbrains-ann...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/e76c291ab852e6b9c6f8d7ddf3ec46bdcd52b2a3\"\u003e\u003ccode\u003ee76c291\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/core/org.junit.platfor...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/testcontainers/testcontainers-java/compare/2.0.4...2.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.testcontainers:testcontainers-junit-jupiter` from 2.0.4 to 2.0.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testcontainers/testcontainers-java/releases\"\u003eorg.testcontainers:testcontainers-junit-jupiter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.5\u003c/h2\u003e\n\u003ch1\u003eWhat's Changed\u003c/h1\u003e\n\u003ch2\u003e🚀 Features \u0026amp; Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003eapache/artemis\u003c/code\u003e in ArtemisContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11590\"\u003e#11590\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd getHttpPort and getGrpcPort methods in WeaviateContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11712\"\u003e#11712\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for !override docker compose tag (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11490\"\u003e#11490\u003c/a\u003e) \u003ca href=\"https://github.com/meck-gd\"\u003e\u003ccode\u003e@​meck-gd\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix jarFileTest cache relocatability (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11574\"\u003e#11574\u003c/a\u003e) \u003ca href=\"https://github.com/ribafish\"\u003e\u003ccode\u003e@​ribafish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📖 Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate LocalStack docs (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11581\"\u003e#11581\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Housekeeping\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typo in GenericContainer namespace validation error message (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11717\"\u003e#11717\u003c/a\u003e) \u003ca href=\"https://github.com/haider2122\"\u003e\u003ccode\u003e@​haider2122\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace deprecated/removed method calls javadoc examples (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11570\"\u003e#11570\u003c/a\u003e) \u003ca href=\"https://github.com/ratonalgaze\"\u003e\u003ccode\u003e@​ratonalgaze\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse weaviate client v6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11711\"\u003e#11711\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePolish CI workflows (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11686\"\u003e#11686\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate testcontainers version to 2.0.4 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11357\"\u003e#11357\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate docs version to 2.0.4 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11573\"\u003e#11573\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency updates\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11710\"\u003e#11710\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11708\"\u003e#11708\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11707\"\u003e#11707\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11706\"\u003e#11706\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11705\"\u003e#11705\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11704\"\u003e#11704\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11701\"\u003e#11701\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11700\"\u003e#11700\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11699\"\u003e#11699\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11685\"\u003e#11685\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11684\"\u003e#11684\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11681\"\u003e#11681\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11672\"\u003e#11672\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11671\"\u003e#11671\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11670\"\u003e#11670\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11632\"\u003e#11632\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/5c448202ac69d073f746433d3e79f6a2bf0ec585\"\u003e\u003ccode\u003e5c44820\u003c/code\u003e\u003c/a\u003e Fix typo (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11717\"\u003e#11717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/84b1c3a5951f18421ed35e82c44a1d17c5690cad\"\u003e\u003ccode\u003e84b1c3a\u003c/code\u003e\u003c/a\u003e Add getHttpPort and getGrpcPort methods in WeaviateContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11712\"\u003e#11712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/a412b8ea77bae4ef51ca3e6bed7cffd0566b362e\"\u003e\u003ccode\u003ea412b8e\u003c/code\u003e\u003c/a\u003e Use weaviate client v6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11711\"\u003e#11711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/058fa82a96853bd653aa3bcaa95b6d94a148ea69\"\u003e\u003ccode\u003e058fa82\u003c/code\u003e\u003c/a\u003e Combined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11710\"\u003e#11710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/773f344be6446a45da27e21d1d1a1c493b1a4062\"\u003e\u003ccode\u003e773f344\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/hivemq/ch.qos....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/ebe60437d087b16e5fac33ae554ecce13303b8bd\"\u003e\u003ccode\u003eebe6043\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/activemq/org.a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/5248d1dec9810e31b2cb0dc93ac04dd2820141ff\"\u003e\u003ccode\u003e5248d1d\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/scylladb/softw...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/ab781f6f71a619d4a55206e6c9380108a2508d13\"\u003e\u003ccode\u003eab781f6\u003c/code\u003e\u003c/a\u003e Combined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11708\"\u003e#11708\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/2d6c1be44a8618016f3510b6a30286c54a55ac7d\"\u003e\u003ccode\u003e2d6c1be\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/core/org.jetbrains-ann...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/e76c291ab852e6b9c6f8d7ddf3ec46bdcd52b2a3\"\u003e\u003ccode\u003ee76c291\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/core/org.junit.platfor...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/testcontainers/testcontainers-java/compare/2.0.4...2.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.testcontainers:testcontainers-postgresql` from 2.0.4 to 2.0.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testcontainers/testcontainers-java/releases\"\u003eorg.testcontainers:testcontainers-postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.5\u003c/h2\u003e\n\u003ch1\u003eWhat's Changed\u003c/h1\u003e\n\u003ch2\u003e🚀 Features \u0026amp; Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003eapache/artemis\u003c/code\u003e in ArtemisContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11590\"\u003e#11590\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd getHttpPort and getGrpcPort methods in WeaviateContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11712\"\u003e#11712\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for !override docker compose tag (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11490\"\u003e#11490\u003c/a\u003e) \u003ca href=\"https://github.com/meck-gd\"\u003e\u003ccode\u003e@​meck-gd\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix jarFileTest cache relocatability (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11574\"\u003e#11574\u003c/a\u003e) \u003ca href=\"https://github.com/ribafish\"\u003e\u003ccode\u003e@​ribafish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📖 Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate LocalStack docs (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11581\"\u003e#11581\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Housekeeping\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typo in GenericContainer namespace validation error message (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11717\"\u003e#11717\u003c/a\u003e) \u003ca href=\"https://github.com/haider2122\"\u003e\u003ccode\u003e@​haider2122\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace deprecated/removed method calls javadoc examples (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11570\"\u003e#11570\u003c/a\u003e) \u003ca href=\"https://github.com/ratonalgaze\"\u003e\u003ccode\u003e@​ratonalgaze\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse weaviate client v6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11711\"\u003e#11711\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePolish CI workflows (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11686\"\u003e#11686\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate testcontainers version to 2.0.4 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11357\"\u003e#11357\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate docs version to 2.0.4 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11573\"\u003e#11573\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency updates\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11710\"\u003e#11710\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11708\"\u003e#11708\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11707\"\u003e#11707\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11706\"\u003e#11706\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11705\"\u003e#11705\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11704\"\u003e#11704\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11701\"\u003e#11701\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11700\"\u003e#11700\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11699\"\u003e#11699\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11685\"\u003e#11685\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11684\"\u003e#11684\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11681\"\u003e#11681\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11672\"\u003e#11672\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11671\"\u003e#11671\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11670\"\u003e#11670\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11632\"\u003e#11632\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/5c448202ac69d073f746433d3e79f6a2bf0ec585\"\u003e\u003ccode\u003e5c44820\u003c/code\u003e\u003c/a\u003e Fix typo (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11717\"\u003e#11717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/84b1c3a5951f18421ed35e82c44a1d17c5690cad\"\u003e\u003ccode\u003e84b1c3a\u003c/code\u003e\u003c/a\u003e Add getHttpPort and getGrpcPort methods in WeaviateContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11712\"\u003e#11712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/a412b8ea77bae4ef51ca3e6bed7cffd0566b362e\"\u003e\u003ccode\u003ea412b8e\u003c/code\u003e\u003c/a\u003e Use weaviate client v6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11711\"\u003e#11711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/058fa82a96853bd653aa3bcaa95b6d94a148ea69\"\u003e\u003ccode\u003e058fa82\u003c/code\u003e\u003c/a\u003e Combined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11710\"\u003e#11710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/773f344be6446a45da27e21d1d1a1c493b1a4062\"\u003e\u003ccode\u003e773f344\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/hivemq/ch.qos....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/ebe60437d087b16e5fac33ae554ecce13303b8bd\"\u003e\u003ccode\u003eebe6043\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/activemq/org.a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/5248d1dec9810e31b2cb0dc93ac04dd2820141ff\"\u003e\u003ccode\u003e5248d1d\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/scylladb/softw...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/ab781f6f71a619d4a55206e6c9380108a2508d13\"\u003e\u003ccode\u003eab781f6\u003c/code\u003e\u003c/a\u003e Combined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11708\"\u003e#11708\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/2d6c1be44a8618016f3510b6a30286c54a55ac7d\"\u003e\u003ccode\u003e2d6c1be\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/core/org.jetbrains-ann...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/e76c291ab852e6b9c6f8d7ddf3ec46bdcd52b2a3\"\u003e\u003ccode\u003ee76c291\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/core/org.junit.platfor...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/testcontainers/testcontainers-java/compare/2.0.4...2.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.testcontainers:testcontainers-junit-jupiter` from 2.0.4 to 2.0.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testcontainers/testcontainers-java/releases\"\u003eorg.testcontainers:testcontainers-junit-jupiter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.5\u003c/h2\u003e\n\u003ch1\u003eWhat's Changed\u003c/h1\u003e\n\u003ch2\u003e🚀 Features \u0026amp; Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003eapache/artemis\u003c/code\u003e in ArtemisContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11590\"\u003e#11590\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd getHttpPort and getGrpcPort methods in WeaviateContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11712\"\u003e#11712\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for !override docker compose tag (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11490\"\u003e#11490\u003c/a\u003e) \u003ca href=\"https://github.com/meck-gd\"\u003e\u003ccode\u003e@​meck-gd\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix jarFileTest cache relocatability (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11574\"\u003e#11574\u003c/a\u003e) \u003ca href=\"https://github.com/ribafish\"\u003e\u003ccode\u003e@​ribafish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📖 Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate LocalStack docs (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11581\"\u003e#11581\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Housekeeping\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typo in GenericContainer namespace validation error message (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11717\"\u003e#11717\u003c/a\u003e) \u003ca href=\"https://github.com/haider2122\"\u003e\u003ccode\u003e@​haider2122\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace deprecated/removed method calls javadoc examples (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11570\"\u003e#11570\u003c/a\u003e) \u003ca href=\"https://github.com/ratonalgaze\"\u003e\u003ccode\u003e@​ratonalgaze\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse weaviate client v6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11711\"\u003e#11711\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePolish CI workflows (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11686\"\u003e#11686\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate testcontainers version to 2.0.4 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11357\"\u003e#11357\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate docs version to 2.0.4 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11573\"\u003e#11573\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency updates\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11710\"\u003e#11710\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11708\"\u003e#11708\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11707\"\u003e#11707\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11706\"\u003e#11706\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11705\"\u003e#11705\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11704\"\u003e#11704\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11701\"\u003e#11701\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11700\"\u003e#11700\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11699\"\u003e#11699\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11685\"\u003e#11685\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11684\"\u003e#11684\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11681\"\u003e#11681\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11672\"\u003e#11672\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11671\"\u003e#11671\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11670\"\u003e#11670\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11632\"\u003e#11632\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/5c448202ac69d073f746433d3e79f6a2bf0ec585\"\u003e\u003ccode\u003e5c44820\u003c/code\u003e\u003c/a\u003e Fix typo (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11717\"\u003e#11717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/84b1c3a5951f18421ed35e82c44a1d17c5690cad\"\u003e\u003ccode\u003e84b1c3a\u003c/code\u003e\u003c/a\u003e Add getHttpPort and getGrpcPort methods in WeaviateContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11712\"\u003e#11712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/a412b8ea77bae4ef51ca3e6bed7cffd0566b362e\"\u003e\u003ccode\u003ea412b8e\u003c/code\u003e\u003c/a\u003e Use weaviate client v6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11711\"\u003e#11711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/058fa82a96853bd653aa3bcaa95b6d94a148ea69\"\u003e\u003ccode\u003e058fa82\u003c/code\u003e\u003c/a\u003e Combined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11710\"\u003e#11710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/773f344be6446a45da27e21d1d1a1c493b1a4062\"\u003e\u003ccode\u003e773f344\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/hivemq/ch.qos....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/ebe60437d087b16e5fac33ae554ecce13303b8bd\"\u003e\u003ccode\u003eebe6043\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/activemq/org.a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/5248d1dec9810e31b2cb0dc93ac04dd2820141ff\"\u003e\u003ccode\u003e5248d1d\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/scylladb/softw...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/ab781f6f71a619d4a55206e6c9380108a2508d13\"\u003e\u003ccode\u003eab781f6\u003c/code\u003e\u003c/a\u003e Combined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11708\"\u003e#11708\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/2d6c1be44a8618016f3510b6a30286c54a55ac7d\"\u003e\u003ccode\u003e2d6c1be\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/core/org.jetbrains-ann...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/e76c291ab852e6b9c6f8d7ddf3ec46bdcd52b2a3\"\u003e\u003ccode\u003ee76c291\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/core/org.junit.platfor...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/testcontainers/testcontainers-java/compare/2.0.4...2.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.testcontainers:testcontainers-postgresql` from 2.0.4 to 2.0.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testcontainers/testcontainers-java/releases\"\u003eorg.testcontainers:testcontainers-postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.5\u003c/h2\u003e\n\u003ch1\u003eWhat's Changed\u003c/h1\u003e\n\u003ch2\u003e🚀 Features \u0026amp; Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003eapache/artemis\u003c/code\u003e in ArtemisContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11590\"\u003e#11590\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd getHttpPort and getGrpcPort methods in WeaviateContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11712\"\u003e#11712\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for !override docker compose tag (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11490\"\u003e#11490\u003c/a\u003e) \u003ca href=\"https://github.com/meck-gd\"\u003e\u003ccode\u003e@​meck-gd\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix jarFileTest cache relocatability (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11574\"\u003e#11574\u003c/a\u003e) \u003ca href=\"https://github.com/ribafish\"\u003e\u003ccode\u003e@​ribafish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📖 Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate LocalStack docs (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11581\"\u003e#11581\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Housekeeping\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typo in GenericContainer namespace validation error message (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11717\"\u003e#11717\u003c/a\u003e) \u003ca href=\"https://github.com/haider2122\"\u003e\u003ccode\u003e@​haider2122\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace deprecated/removed method calls javadoc examples (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11570\"\u003e#11570\u003c/a\u003e) \u003ca href=\"https://github.com/ratonalgaze\"\u003e\u003ccode\u003e@​ratonalgaze\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse weaviate client v6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11711\"\u003e#11711\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePolish CI workflows (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11686\"\u003e#11686\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate testcontainers version to 2.0.4 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11357\"\u003e#11357\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate docs version to 2.0.4 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11573\"\u003e#11573\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency updates\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11710\"\u003e#11710\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11708\"\u003e#11708\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11707\"\u003e#11707\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11706\"\u003e#11706\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11705\"\u003e#11705\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11704\"\u003e#11704\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11701\"\u003e#11701\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11700\"\u003e#11700\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11699\"\u003e#11699\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11685\"\u003e#11685\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11684\"\u003e#11684\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11681\"\u003e#11681\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11672\"\u003e#11672\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11671\"\u003e#11671\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11670\"\u003e#11670\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11632\"\u003e#11632\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/5c448202ac69d073f746433d3e79f6a2bf0ec585\"\u003e\u003ccode\u003e5c44820\u003c/code\u003e\u003c/a\u003e Fix typo (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11717\"\u003e#11717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/84b1c3a5951f18421ed35e82c44a1d17c5690cad\"\u003e\u003ccode\u003e84b1c3a\u003c/code\u003e\u003c/a\u003e Add getHttpPort and getGrpcPort methods in WeaviateContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11712\"\u003e#11712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/a412b8ea77bae4ef51ca3e6bed7cffd0566b362e\"\u003e\u003ccode\u003ea412b8e\u003c/code\u003e\u003c/a\u003e Use weaviate client v6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11711\"\u003e#11711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/058fa82a96853bd653aa3bcaa95b6d94a148ea69\"\u003e\u003ccode\u003e058fa82\u003c/code\u003e\u003c/a\u003e Combined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11710\"\u003e#11710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/773f344be6446a45da27e21d1d1a1c493b1a4062\"\u003e\u003ccode\u003e773f344\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/hivemq/ch.qos....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/ebe60437d087b16e5fac33ae554ecce13303b8bd\"\u003e\u003ccode\u003eebe6043\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/activemq/org.a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/5248d1dec9810e31b2cb0dc93ac04dd2820141ff\"\u003e\u003ccode\u003e5248d1d\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/scylladb/softw...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/ab781f6f71a619d4a55206e6c9380108a2508d13\"\u003e\u003ccode\u003eab781f6\u003c/code\u003e\u003c/a\u003e Combined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11708\"\u003e#11708\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/2d6c1be44a8618016f3510b6a30286c54a55ac7d\"\u003e\u003ccode\u003e2d6c1be\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/core/org.jetbrains-ann...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/e76c291ab852e6b9c6f8d7ddf3ec46bdcd52b2a3\"\u003e\u003ccode\u003ee76c291\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/core/org.junit.platfor...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/testcontainers/testcontainers-java/compare/2.0.4...2.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.ben-manes.versions` from 0.53.0 to 0.54.0\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/digitalservicebund/ris-norms/pull/2303","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitalservicebund%2Fris-norms/issues/2303","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2303/packages"},{"uuid":"4312499551","node_id":"PR_kwDOHIA6Rc7UzHlz","number":3991,"state":"closed","title":"Bump com.github.ben-manes.versions from 0.53.0 to 0.54.0 in /backend in the all-backend-non-major-dependencies group","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-24T00:06:34.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-23T00:06:09.000Z","updated_at":"2026-04-24T00:06:35.000Z","time_to_close":86425,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0","repository_url":null}],"path":"/backend in the all-backend-non-major-dependencies group","ecosystem":"maven"},"body":"Bumps the all-backend-non-major-dependencies group in /backend with 1 update: com.github.ben-manes.versions.\n\nUpdates `com.github.ben-manes.versions` from 0.53.0 to 0.54.0\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.github.ben-manes.versions\u0026package-manager=gradle\u0026previous-version=0.53.0\u0026new-version=0.54.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/digitalservicebund/ris-backend-service/pull/3991","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitalservicebund%2Fris-backend-service/issues/3991","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3991/packages"},{"uuid":"4299180539","node_id":"PR_kwDOCwoplM7UIB22","number":600,"state":"open","title":"Bump com.github.ben-manes.versions from 0.53.0 to 0.54.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-20T23:01:56.000Z","updated_at":"2026-04-20T23:13:27.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.github.ben-manes.versions from 0.53.0 to 0.54.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.github.ben-manes.versions\u0026package-manager=gradle\u0026previous-version=0.53.0\u0026new-version=0.54.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/1c-syntax/mdclasses/pull/600","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/1c-syntax%2Fmdclasses/issues/600","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/600/packages"},{"uuid":"4298397633","node_id":"PR_kwDOEXxVv87UFdM8","number":352,"state":"closed","title":"Bump com.github.ben-manes.versions from 0.53.0 to 0.54.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-18T22:08:12.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-20T20:12:59.000Z","updated_at":"2026-05-18T22:08:14.000Z","time_to_close":2426113,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.github.ben-manes.versions from 0.53.0 to 0.54.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.github.ben-manes.versions\u0026package-manager=gradle\u0026previous-version=0.53.0\u0026new-version=0.54.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/murggel/cgeo/pull/352","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/murggel%2Fcgeo/issues/352","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/352/packages"},{"uuid":"4298301351","node_id":"PR_kwDOFx0z0M7UFJZf","number":1875,"state":"open","title":"Bump com.github.ben-manes.versions from 0.51.0 to 0.54.0","user":"dependabot[bot]","labels":["Stale","dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-20T19:55:29.000Z","updated_at":"2026-04-28T00:54:31.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"com.github.ben-manes.versions","old_version":"0.51.0","new_version":"0.54.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.github.ben-manes.versions from 0.51.0 to 0.54.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.github.ben-manes.versions\u0026package-manager=gradle\u0026previous-version=0.51.0\u0026new-version=0.54.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nYou can trigger a rebase of this PR by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/corda/corda-api/pull/1875","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/corda%2Fcorda-api/issues/1875","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1875/packages"},{"uuid":"4296267736","node_id":"PR_kwDOAB70tM7T-gkO","number":18028,"state":"open","title":"Bump com.github.ben-manes.versions from 0.53.0 to 0.54.0","user":"dependabot[bot]","labels":["Dependencies","java"],"assignees":["bekuno"],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-20T14:03:54.000Z","updated_at":"2026-05-10T16:30:46.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.github.ben-manes.versions from 0.53.0 to 0.54.0.\n","html_url":"https://github.com/cgeo/cgeo/pull/18028","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/cgeo%2Fcgeo/issues/18028","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/18028/packages"}],"issue_packages":[{"old_version":"0.53.0","new_version":"0.54.0","update_type":"minor","path":null,"pr_created_at":"2026-06-04T02:03:47.000Z","version_change":"0.53.0 → 0.54.0","issue":{"uuid":"4585150925","node_id":"PR_kwDOKclOQM7ifkQe","number":1764,"state":"open","title":"chore(deps): bump the all-dependencies group across 41 directories with 74 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-04T02:03:47.000Z","updated_at":"2026-06-04T02:05:14.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"all-dependencies","update_count":74,"packages":[{"name":"gradle-wrapper","old_version":"9.5.0","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.3.20","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-serialization","old_version":"2.3.20","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.power-assert:org.jetbrains.kotlin.plugin.power-assert.gradle.plugin","old_version":"2.3.20","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin","old_version":"2.3.20","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-test","old_version":"2.3.20","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.jvm","old_version":"2.3.20","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.multiplatform","old_version":"2.3.20","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.3.20","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.power-assert","old_version":"2.3.20","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.gradleup.shadow:com.gradleup.shadow.gradle.plugin","old_version":"9.4.1","new_version":"9.4.2","repository_url":"https://github.com/GradleUp/shadow"},{"name":"com.gradleup.shadow","old_version":"9.4.1","new_version":"9.4.2","repository_url":"https://github.com/GradleUp/shadow"},{"name":"dev.mokkery:dev.mokkery.gradle.plugin","old_version":"3.3.0","new_version":"3.4.0","repository_url":"https://github.com/lupuuss/Mokkery"},{"name":"com.github.gmazzo.buildconfig:com.github.gmazzo.buildconfig.gradle.plugin","old_version":"6.0.9","new_version":"6.0.10","repository_url":"https://github.com/gmazzo/gradle-buildconfig-plugin"},{"name":"com.github.gmazzo.buildconfig","old_version":"6.0.9","new_version":"6.0.10","repository_url":"https://github.com/gmazzo/gradle-buildconfig-plugin"},{"name":"com.sksamuel.cohort:cohort-ktor","old_version":"2.8.3","new_version":"2.9.9","repository_url":"https://github.com/sksamuel/cohort"},{"name":"io.github.smiley4:ktor-openapi","old_version":"5.6.0","new_version":"5.7.0","repository_url":"https://github.com/SMILEY4/ktor-openapi"},{"name":"io.github.smiley4:ktor-swagger-ui","old_version":"5.6.0","new_version":"5.7.0","repository_url":"https://github.com/SMILEY4/ktor-swagger-ui"},{"name":"io.github.smiley4:ktor-redoc","old_version":"5.6.0","new_version":"5.7.0","repository_url":"https://github.com/SMILEY4/ktor-redoc"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-core","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-test","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-jdk8","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.10.1-waltid_20260309-SNAPSHOT","new_version":"1.11.1-waltid_20260519-SNAPSHOT"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-cbor","old_version":"1.10.1-waltid_20260309-SNAPSHOT","new_version":"1.11.1-waltid_20260519-SNAPSHOT"},{"name":"org.jetbrains.kotlinx:kotlinx-datetime","old_version":"0.7.1","new_version":"0.8.0","repository_url":"https://github.com/Kotlin/kotlinx-datetime"},{"name":"org.jetbrains.kotlinx:atomicfu","old_version":"0.32.1","new_version":"0.33.0","repository_url":"https://github.com/Kotlin/kotlinx.atomicfu"},{"name":"org.bouncycastle:bcprov-lts8on","old_version":"2.73.10","new_version":"2.73.11","repository_url":"https://github.com/bcgit/bc-lts-java"},{"name":"org.bouncycastle:bcpkix-lts8on","old_version":"2.73.10","new_version":"2.73.11","repository_url":"https://github.com/bcgit/bc-lts-java"},{"name":"com.nimbusds:nimbus-jose-jwt","old_version":"10.9","new_version":"10.9.1"},{"name":"org.junit.jupiter:junit-jupiter-api","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.jupiter:junit-jupiter-engine","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.jupiter:junit-jupiter-params","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.platform:junit-platform-launcher","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.platform:junit-platform-console","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"io.github.oshai:kotlin-logging","old_version":"8.0.02","new_version":"8.0.4","repository_url":"https://github.com/oshai/kotlin-logging"},{"name":"org.slf4j:slf4j-simple","old_version":"2.0.17","new_version":"2.0.18"},{"name":"org.slf4j:jul-to-slf4j","old_version":"2.0.17","new_version":"2.0.18"},{"name":"io.klogging:klogging","old_version":"0.11.7","new_version":"0.11.8","repository_url":"https://github.com/klogging/klogging"},{"name":"io.klogging:slf4j-klogging","old_version":"0.11.7","new_version":"0.11.8","repository_url":"https://github.com/klogging/klogging"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the all-dependencies group with 40 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.5.0` | `9.5.1` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.4.0` |\n| [org.jetbrains.kotlin:kotlin-serialization](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.power-assert:org.jetbrains.kotlin.plugin.power-assert.gradle.plugin](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.4.0` |\n| [org.jetbrains.kotlin:kotlin-test](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.4.0` |\n| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.4.0` |\n| [org.jetbrains.kotlin.multiplatform](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.power-assert](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.4.0` |\n| [com.gradleup.shadow:com.gradleup.shadow.gradle.plugin](https://github.com/GradleUp/shadow) | `9.4.1` | `9.4.2` |\n| [com.gradleup.shadow](https://github.com/GradleUp/shadow) | `9.4.1` | `9.4.2` |\n| [dev.mokkery:dev.mokkery.gradle.plugin](https://github.com/lupuuss/Mokkery) | `3.3.0` | `3.4.0` |\n| [com.github.gmazzo.buildconfig:com.github.gmazzo.buildconfig.gradle.plugin](https://github.com/gmazzo/gradle-buildconfig-plugin) | `6.0.9` | `6.0.10` |\n| [com.github.gmazzo.buildconfig](https://github.com/gmazzo/gradle-buildconfig-plugin) | `6.0.9` | `6.0.10` |\n| [com.sksamuel.cohort:cohort-ktor](https://github.com/sksamuel/cohort) | `2.8.3` | `2.9.9` |\n| [io.github.smiley4:ktor-openapi](https://github.com/SMILEY4/ktor-openapi) | `5.6.0` | `5.7.0` |\n| [io.github.smiley4:ktor-swagger-ui](https://github.com/SMILEY4/ktor-swagger-ui) | `5.6.0` | `5.7.0` |\n| [io.github.smiley4:ktor-redoc](https://github.com/SMILEY4/ktor-redoc) | `5.6.0` | `5.7.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-jdk8](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| org.jetbrains.kotlinx:kotlinx-serialization-json | `1.10.1-waltid_20260309-SNAPSHOT` | `1.11.1-waltid_20260519-SNAPSHOT` |\n| org.jetbrains.kotlinx:kotlinx-serialization-cbor | `1.10.1-waltid_20260309-SNAPSHOT` | `1.11.1-waltid_20260519-SNAPSHOT` |\n| [org.jetbrains.kotlinx:kotlinx-datetime](https://github.com/Kotlin/kotlinx-datetime) | `0.7.1` | `0.8.0` |\n| [org.jetbrains.kotlinx:atomicfu](https://github.com/Kotlin/kotlinx.atomicfu) | `0.32.1` | `0.33.0` |\n| [org.bouncycastle:bcprov-lts8on](https://github.com/bcgit/bc-lts-java) | `2.73.10` | `2.73.11` |\n| [org.bouncycastle:bcpkix-lts8on](https://github.com/bcgit/bc-lts-java) | `2.73.10` | `2.73.11` |\n| [com.nimbusds:nimbus-jose-jwt](https://bitbucket.org/connect2id/nimbus-jose-jwt) | `10.9` | `10.9.1` |\n| [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\n| [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\n| [org.junit.jupiter:junit-jupiter-params](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\n| [org.junit.platform:junit-platform-launcher](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\n| [org.junit.platform:junit-platform-console](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\n| [io.github.oshai:kotlin-logging](https://github.com/oshai/kotlin-logging) | `8.0.02` | `8.0.4` |\n| org.slf4j:slf4j-simple | `2.0.17` | `2.0.18` |\n| org.slf4j:jul-to-slf4j | `2.0.17` | `2.0.18` |\n| [io.klogging:klogging](https://github.com/klogging/klogging) | `0.11.7` | `0.11.8` |\n| [io.klogging:slf4j-klogging](https://github.com/klogging/klogging) | `0.11.7` | `0.11.8` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n\nBumps the all-dependencies group with 1 update in the /build-logic directory: com.github.jk1.dependency-license-report:com.github.jk1.dependency-license-report.gradle.plugin.\nBumps the all-dependencies group with 1 update in the /waltid-applications/waltid-android directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines).\nBumps the all-dependencies group with 3 updates in the /waltid-applications/waltid-cli directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines), org.slf4j:slf4j-simple and [com.wolpl.clikt-testkit:clikt-testkit](https://github.com/wolpl/clikt-testkit).\nBumps the all-dependencies group with 1 update in the /waltid-applications/waltid-openid4vc-ios-testApp/shared directory: [io.ktor:ktor-client-darwin](https://github.com/ktorio/ktor).\nBumps the all-dependencies group with 3 updates in the /waltid-libraries/auth/waltid-ktor-authnz directory: [org.web3j:core](https://github.com/LFDT-web3j/web3j), org.apache.directory.api:apache-ldap-api and [org.apache.mina:mina-core](https://github.com/apache/mina).\nBumps the all-dependencies group with 1 update in the /waltid-libraries/auth/waltid-permissions directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines).\nBumps the all-dependencies group with 2 updates in the /waltid-libraries/credentials/waltid-dif-definitions-parser directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) and org.slf4j:slf4j-simple.\nBumps the all-dependencies group with 2 updates in the /waltid-libraries/credentials/waltid-digital-credentials directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) and org.slf4j:slf4j-simple.\nBumps the all-dependencies group with 2 updates in the /waltid-libraries/credentials/waltid-digital-credentials-examples directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) and org.slf4j:slf4j-simple.\nBumps the all-dependencies group with 2 updates in the /waltid-libraries/credentials/waltid-holder-policies directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) and org.slf4j:slf4j-simple.\nBumps the all-dependencies group with 1 update in the /waltid-libraries/credentials/waltid-mdoc-credentials directory: [io.mockk:mockk](https://github.com/mockk/mockk).\nBumps the all-dependencies group with 3 updates in the /waltid-libraries/credentials/waltid-mdoc-credentials2 directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines), org.slf4j:slf4j-simple and [org.jetbrains.kotlinx:kotlinx-serialization-core](https://github.com/Kotlin/kotlinx.serialization).\nBumps the all-dependencies group with 1 update in the /waltid-libraries/credentials/waltid-trust-registry directory: org.slf4j:slf4j-simple.\nBumps the all-dependencies group with 1 update in the /waltid-libraries/credentials/waltid-verification-policies directory: [io.mockk:mockk](https://github.com/mockk/mockk).\nBumps the all-dependencies group with 3 updates in the /waltid-libraries/credentials/waltid-verification-policies2 directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines), org.slf4j:slf4j-simple and [io.mockk:mockk](https://github.com/mockk/mockk).\nBumps the all-dependencies group with 3 updates in the /waltid-libraries/credentials/waltid-verification-policies2-vp directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines), org.slf4j:slf4j-simple and [io.mockk:mockk](https://github.com/mockk/mockk).\nBumps the all-dependencies group with 2 updates in the /waltid-libraries/credentials/waltid-vical directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) and org.slf4j:slf4j-simple.\nBumps the all-dependencies group with 2 updates in the /waltid-libraries/credentials/waltid-w3c-credentials directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) and org.slf4j:slf4j-simple.\nBumps the all-dependencies group with 2 updates in the /waltid-libraries/crypto/waltid-cose directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) and org.slf4j:slf4j-simple.\nBumps the all-dependencies group with 1 update in the /waltid-libraries/crypto/waltid-crypto-android directory: [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines).\nBumps the all-dependencies group with 2 updates in the /waltid-libraries/crypto/waltid-crypto-aws directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) and [aws.sdk.kotlin:kms-jvm](https://github.com/aws/aws-sdk-kotlin).\nBumps the all-dependencies group with 2 updates in the /waltid-libraries/crypto/waltid-crypto-azure directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) and [com.azure:azure-security-keyvault-keys](https://github.com/Azure/azure-sdk-for-java).\nBumps the all-dependencies group with 3 updates in the /waltid-libraries/crypto/waltid-crypto-oci directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines), org.slf4j:slf4j-simple and com.oracle.oci.sdk:oci-java-sdk-shaded-full.\nBumps the all-dependencies group with 2 updates in the /waltid-libraries/protocols/waltid-18013-7-verifier directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) and org.slf4j:slf4j-simple.\nBumps the all-dependencies group with 2 updates in the /waltid-libraries/protocols/waltid-openid4vc directory: [io.kotest:kotest-runner-junit5](https://github.com/kotest/kotest) and [org.jetbrains.kotlinx:kotlinx-coroutines-slf4j](https://github.com/Kotlin/kotlinx.coroutines).\nBumps the all-dependencies group with 3 updates in the /waltid-libraries/protocols/waltid-openid4vci-wallet directory: [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines), org.jetbrains.kotlinx:kotlinx-serialization-json and [org.jetbrains.kotlinx:kotlinx-datetime](https://github.com/Kotlin/kotlinx-datetime).\nBumps the all-dependencies group with 2 updates in the /waltid-libraries/protocols/waltid-openid4vp-clientidprefix directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) and org.slf4j:slf4j-simple.\nBumps the all-dependencies group with 2 updates in the /waltid-libraries/protocols/waltid-openid4vp-verifier directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) and org.slf4j:slf4j-simple.\nBumps the all-dependencies group with 1 update in the /waltid-libraries/sdjwt/waltid-sdjwt directory: [dev.whyoleg.cryptography:cryptography-random](https://github.com/whyoleg/cryptography-kotlin).\nBumps the all-dependencies group with 1 update in the /waltid-libraries/sdjwt/waltid-sdjwt-ios directory: [io.kotest:kotest-assertions-core](https://github.com/kotest/kotest).\nBumps the all-dependencies group with 2 updates in the /waltid-libraries/waltid-core-wallet directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) and org.slf4j:slf4j-simple.\nBumps the all-dependencies group with 1 update in the /waltid-libraries/waltid-library-commons directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines).\nBumps the all-dependencies group with 3 updates in the /waltid-services/waltid-e2e-tests directory: [org.bouncycastle:bcpkix-lts8on](https://github.com/bcgit/bc-lts-java), [com.nimbusds:nimbus-jose-jwt](https://bitbucket.org/connect2id/nimbus-jose-jwt) and [org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm](https://github.com/Kotlin/kotlinx.coroutines).\nBumps the all-dependencies group with 1 update in the /waltid-services/waltid-integration-tests directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm](https://github.com/Kotlin/kotlinx.coroutines).\nBumps the all-dependencies group with 1 update in the /waltid-services/waltid-openid4vp-conformance-runners directory: [io.ktor:ktor-client-encoding](https://github.com/ktorio/ktor).\nBumps the all-dependencies group with 2 updates in the /waltid-services/waltid-service-commons directory: [io.github.smiley4:ktor-openapi](https://github.com/SMILEY4/ktor-openapi) and [io.github.smiley4:schema-kenerator-core](https://github.com/SMILEY4/schema-kenerator).\nBumps the all-dependencies group with 1 update in the /waltid-services/waltid-service-commons-test directory: [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines).\nBumps the all-dependencies group with 1 update in the /waltid-services/waltid-verifier-api2 directory: [org.bouncycastle:bcprov-lts8on](https://github.com/bcgit/bc-lts-java).\nBumps the all-dependencies group with 8 updates in the /waltid-services/waltid-wallet-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.14.9` | `1.14.11` |\n| [de.mkammerer:argon2-jvm](https://github.com/phxql/argon2-jvm) | `2.11` | `2.12` |\n| [org.jetbrains.exposed:exposed-core](https://github.com/JetBrains/Exposed) | `1.0.0-rc-1` | `1.3.0` |\n| [org.jetbrains.exposed:exposed-jdbc](https://github.com/JetBrains/Exposed) | `1.0.0-rc-1` | `1.3.0` |\n| [org.jetbrains.exposed:exposed-dao](https://github.com/JetBrains/Exposed) | `1.0.0-rc-1` | `1.3.0` |\n| [org.jetbrains.exposed:exposed-java-time](https://github.com/JetBrains/Exposed) | `1.0.0-rc-1` | `1.3.0` |\n| [org.jetbrains.exposed:exposed-json](https://github.com/JetBrains/Exposed) | `1.0.0-rc-1` | `1.3.0` |\n\nBumps the all-dependencies group with 3 updates in the /waltid-services/waltid-web3login-microservice directory: [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin), io.ktor.plugin and [jvm](https://github.com/JetBrains/kotlin).\n\nUpdates `gradle-wrapper` from 9.5.0 to 9.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd78213f09782e62ca4957f9cfd3d90c6c3f1767\"\u003e\u003ccode\u003efd78213\u003c/code\u003e\u003c/a\u003e Update Documentation Infrastructure: Fix scrolling issue in user manual (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37861\"\u003e#37861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7758437128d1c52702786ad719a13ade1b860aa8\"\u003e\u003ccode\u003e7758437\u003c/code\u003e\u003c/a\u003e fix scroll\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2fd605fdcd69fea10570e9eb1343bbd7ca01c9d0\"\u003e\u003ccode\u003e2fd605f\u003c/code\u003e\u003c/a\u003e Only try to run as worker thread in DefaultBuildOperationQueue (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37845\"\u003e#37845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/af6984901238402386ae263d746380504e5f9138\"\u003e\u003ccode\u003eaf69849\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37853\"\u003e#37853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f4d9d03e9bb47d2d17b6d8314fdaa32c3d0b3c1e\"\u003e\u003ccode\u003ef4d9d03\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/01eda3adf40dbe97e81475e813705409dcfe1091\"\u003e\u003ccode\u003e01eda3a\u003c/code\u003e\u003c/a\u003e Address review feedback on worker-lease retry changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7024e15139b2db9df831dd15a8b9e9052acd9a51\"\u003e\u003ccode\u003e7024e15\u003c/code\u003e\u003c/a\u003e Revert enrich file visitor with size info on \u003ccode\u003erelease\u003c/code\u003e branch (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37848\"\u003e#37848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d51476fda21330c037a04b43ec9a93a929d05b87\"\u003e\u003ccode\u003ed51476f\u003c/code\u003e\u003c/a\u003e Fix tryRunAsWorkerThread null-return test to match contract\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/090ebabc5b6f648e01c0269a321d80372fdbfe0f\"\u003e\u003ccode\u003e090ebab\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add getLength() to FilePropertyVisitor.VisitState\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/bceab24677298144860f6919bdcb031e806dbf23\"\u003e\u003ccode\u003ebceab24\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix annotation\u0026quot;\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.5.0...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.3.20 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-serialization` from 2.3.20 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.power-assert:org.jetbrains.kotlin.plugin.power-assert.gradle.plugin` from 2.3.20 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.power-assert:org.jetbrains.kotlin.plugin.power-assert.gradle.plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.power-assert:org.jetbrains.kotlin.plugin.power-assert.gradle.plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin` from 2.3.20 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: clas...\n\n_Description has been truncated_","html_url":"https://github.com/walt-id/waltid-identity/pull/1764","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/walt-id%2Fwaltid-identity/issues/1764","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1764/packages"}},{"old_version":"0.53.0","new_version":"0.54.0","update_type":"minor","path":null,"pr_created_at":"2026-05-22T03:13:03.000Z","version_change":"0.53.0 → 0.54.0","issue":{"uuid":"4499519588","node_id":"PR_kwDORvJjTc7eL9ZE","number":30,"state":"open","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 18 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-22T03:13:03.000Z","updated_at":"2026-05-22T03:17:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":18,"packages":[{"name":"org.mariadb.jdbc:mariadb-java-client","old_version":"3.5.7","new_version":"3.5.8","repository_url":"https://github.com/mariadb-corporation/mariadb-connector-j"},{"name":"org.flywaydb:flyway-mysql","old_version":"12.0.3","new_version":"12.6.2"},{"name":"org.projectlombok:lombok","old_version":"1.18.42","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"org.apache.pdfbox:pdfbox","old_version":"3.0.6","new_version":"3.0.7"},{"name":"org.apache.pdfbox:jbig2-imageio","old_version":"3.0.4","new_version":"3.0.5"},{"name":"com.github.RouHim:jaudiotagger","old_version":"2.0.16","new_version":"2.0.21"},{"name":"com.github.junrar:junrar","old_version":"7.5.8","new_version":"7.6.0","repository_url":"https://github.com/junrar/junrar"},{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"4.0.6","new_version":"4.0.8"},{"name":"tools.jackson:jackson-bom","old_version":"3.1.0","new_version":"3.1.3","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"org.springframework.boot","old_version":"4.0.3","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.hibernate.orm","old_version":"7.2.6.Final","new_version":"7.3.5.Final"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"gradle-wrapper","old_version":"9.4.0","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 16 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) | `3.5.7` | `3.5.8` |\n| org.flywaydb:flyway-mysql | `12.0.3` | `12.6.2` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.42` | `1.18.46` |\n| org.apache.pdfbox:pdfbox | `3.0.6` | `3.0.7` |\n| org.apache.pdfbox:jbig2-imageio | `3.0.4` | `3.0.5` |\n| com.github.RouHim:jaudiotagger | `2.0.16` | `2.0.21` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.8` | `7.6.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `3.0.2` | `3.0.3` |\n| org.glassfish.jaxb:jaxb-runtime | `4.0.6` | `4.0.8` |\n| [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `3.1.0` | `3.1.3` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.2.3` | `3.2.4` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.3` | `4.0.6` |\n| org.hibernate.orm | `7.2.6.Final` | `7.3.5.Final` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.0` | `9.5.1` |\n\n\nUpdates `org.mariadb.jdbc:mariadb-java-client` from 3.5.7 to 3.5.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/releases\"\u003eorg.mariadb.jdbc:mariadb-java-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eMariaDB Connector/Java 3.5.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/blob/main/CHANGELOG.md\"\u003eorg.mariadb.jdbc:mariadb-java-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/26b34a2f060070beb73515cfd2a49fabc8728843\"\u003e\u003ccode\u003e26b34a2\u003c/code\u003e\u003c/a\u003e Merge branch 'develop'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/06d6efee7838ab8f89ef0f7f362c6b4a95754630\"\u003e\u003ccode\u003e06d6efe\u003c/code\u003e\u003c/a\u003e bump CI actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a86a83c8fd1fa84d8d4349baab3b29df8f575192\"\u003e\u003ccode\u003ea86a83c\u003c/code\u003e\u003c/a\u003e bump 3.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/975f9919232b21f40d823423eac6e32d87ea8e35\"\u003e\u003ccode\u003e975f991\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to implement Codec directly and extract shared...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/75bb509521661603e0e90dd6dd5942d1382bf499\"\u003e\u003ccode\u003e75bb509\u003c/code\u003e\u003c/a\u003e [misc] code formatting cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/4c0b6a0ddd95f42fa866ce0d08e384caa2553d43\"\u003e\u003ccode\u003e4c0b6a0\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to extend UtilDateCodec and extract common dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a5b7fb1a26277a076052dbbd1a7ee2bacd4f602f\"\u003e\u003ccode\u003ea5b7fb1\u003c/code\u003e\u003c/a\u003e [misc] convert Reader and Writer from interfaces to final class implementatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/d31eb060fc66e9e37479e18a38bb1401d53ecb63\"\u003e\u003ccode\u003ed31eb06\u003c/code\u003e\u003c/a\u003e [misc] convert ReadableByteBuf from interface to final class implementation, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/11d45a9e6ea4d942e75747132bb8982471d890b8\"\u003e\u003ccode\u003e11d45a9\u003c/code\u003e\u003c/a\u003e [misc] optimize binary row decoder null bitmap checks and simplify signed Big...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/5aad14c381cbc2c4e0383ffed275306f359bd508\"\u003e\u003ccode\u003e5aad14c\u003c/code\u003e\u003c/a\u003e [misc] optimize BigInt column decoding and improve type safety in codec inter...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb:flyway-mysql` from 12.0.3 to 12.6.2\n\nUpdates `org.projectlombok:lombok` from 1.18.42 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.44 (March 11th, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFEATURE: \u003ccode\u003e@Jacksonized\u003c/code\u003e now supports both Jackson2 and Jackson3; you'll get a warning until you configure which one (or even both!) you want lombok to generate. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3950\"\u003e#3950\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: On JDK25, \u003ccode\u003eval\u003c/code\u003e and \u003ccode\u003e@ExtensionMethod\u003c/code\u003e could sometimes cause erroneous errors (in that you see errors but compilation succeeds anyway) using javac. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3947\"\u003e#3947\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e + fields marked \u003ccode\u003etransient\u003c/code\u003e would result in those transient fields being serialised which is surprising (and thus undesired) behaviour. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3936\"\u003e#3936\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.42...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.pdfbox:pdfbox` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:pdfbox-io` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:xmpbox` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:jbig2-imageio` from 3.0.4 to 3.0.5\n\nUpdates `com.github.RouHim:jaudiotagger` from 2.0.16 to 2.0.21\n\nUpdates `com.github.junrar:junrar` from 7.5.8 to 7.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.6.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport random access for files in solid RAR4 archives (\u003ca href=\"https://github.com/junrar/junrar/commits/e0874d2\"\u003ee0874d2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🏎 Perf\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereplace RarCRC.checkCrc with java.util.zip.CRC32 (\u003ca href=\"https://github.com/junrar/junrar/commits/5270d23\"\u003e5270d23\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump gradle-wrapper to 9.5.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/cb4b7fd\"\u003ecb4b7fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/0bb56b3\"\u003e0bb56b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/ca621b2\"\u003eca621b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.23.0 to 1.24.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/90f0548\"\u003e90f0548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/83a5d08\"\u003e83a5d08\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.github.ben-manes.versions from 0.53.0 to 0.54.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d5abcdb\"\u003ed5abcdb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated action (\u003ca href=\"https://github.com/junrar/junrar/commits/338efcb\"\u003e338efcb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Gauthier Roebroeck, Robin Schimpf\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier Roebroeck\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.9\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.10...v7.6.0\"\u003e7.6.0\u003c/a\u003e (2026-05-13)\u003c/h1\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport random access for files in solid RAR4 archives (\u003ca href=\"https://github.com/junrar/junrar/commits/e0874d2\"\u003ee0874d2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🏎 Perf\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereplace RarCRC.checkCrc with java.util.zip.CRC32 (\u003ca href=\"https://github.com/junrar/junrar/commits/5270d23\"\u003e5270d23\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump gradle-wrapper to 9.5.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/cb4b7fd\"\u003ecb4b7fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/0bb56b3\"\u003e0bb56b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/ca621b2\"\u003eca621b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.23.0 to 1.24.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/90f0548\"\u003e90f0548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/83a5d08\"\u003e83a5d08\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.github.ben-manes.versions from 0.53.0 to 0.54.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d5abcdb\"\u003ed5abcdb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated action (\u003ca href=\"https://github.com/junrar/junrar/commits/338efcb\"\u003e338efcb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.9...v7.5.10\"\u003e7.5.10\u003c/a\u003e (2026-04-15)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.9\"\u003e7.5.9\u003c/a\u003e (2026-04-13)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/cb4b7fdb84269e95741fa22120e08ceb15a06152\"\u003e\u003ccode\u003ecb4b7fd\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper to 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/0bb56b3df4e3b6d14f73de92746a2eb47dd2d7a3\"\u003e\u003ccode\u003e0bb56b3\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/ca621b22421f9e846df23112b32113230610c8d9\"\u003e\u003ccode\u003eca621b2\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e0874d213832bbeaa8eb265c79479b01b5fa7392\"\u003e\u003ccode\u003ee0874d2\u003c/code\u003e\u003c/a\u003e feat: support random access for files in solid RAR4 archives\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/90f0548c728b0bf2e94f6e26f9e6396d9d0a7262\"\u003e\u003ccode\u003e90f0548\u003c/code\u003e\u003c/a\u003e build(deps): bump org.jreleaser from 1.23.0 to 1.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/83a5d085dc84991226229fef1515cc902d129241\"\u003e\u003ccode\u003e83a5d08\u003c/code\u003e\u003c/a\u003e build(deps): bump commons-io:commons-io from 2.21.0 to 2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/338efcb5472be051989fbafd7179d561c71722eb\"\u003e\u003ccode\u003e338efcb\u003c/code\u003e\u003c/a\u003e ci: replace deprecated action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/5270d235ade54d96dfc9958ab06f495fbbd169e7\"\u003e\u003ccode\u003e5270d23\u003c/code\u003e\u003c/a\u003e perf: replace RarCRC.checkCrc with java.util.zip.CRC32\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d5abcdb9af988ddfa76e98d80787e15525488332\"\u003e\u003ccode\u003ed5abcdb\u003c/code\u003e\u003c/a\u003e build(deps): bump com.github.ben-manes.versions from 0.53.0 to 0.54.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/edadb28896962fdcf754029bafd0994aaff24530\"\u003e\u003ccode\u003eedadb28\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.10 [skip ci]\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.22.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.22.1...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.glassfish.jaxb:jaxb-runtime` from 4.0.6 to 4.0.8\n\nUpdates `tools.jackson:jackson-bom` from 3.1.0 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/c2ea79e9178f0aaa5e4f381c644140357bfc307e\"\u003e\u003ccode\u003ec2ea79e\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3906b27dcdde8fc6a4fef193147109b70bf2f0dc\"\u003e\u003ccode\u003e3906b27\u003c/code\u003e\u003c/a\u003e Prep for 3.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/b17b616c7dc264cfef26f9dd28eaf54bc40b5c4c\"\u003e\u003ccode\u003eb17b616\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/36cf9995cff15aa3e69786da1d6c52f208fddf8a\"\u003e\u003ccode\u003e36cf999\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0ae1c2ae270dabe8e21700cbcee1c266b54e84f0\"\u003e\u003ccode\u003e0ae1c2a\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3c171ebd5d6c5d8f6e8d4f3614cf9b4f0a8babb9\"\u003e\u003ccode\u003e3c171eb\u003c/code\u003e\u003c/a\u003e Prep for 3.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/8046ced071e0b36747bae0f0a96fa21914de1303\"\u003e\u003ccode\u003e8046ced\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ea00ca4cc59ba656a17a071e30a68387e51d3e0d\"\u003e\u003ccode\u003eea00ca4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0628060381a5b86e3fc07854a27b7453de559b7e\"\u003e\u003ccode\u003e0628060\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/22b8aeec79b87751a41c586404850c526eed1dbe\"\u003e\u003ccode\u003e22b8aee\u003c/code\u003e\u003c/a\u003e Prep for 3.1.1 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-3.1.0...jackson-bom-3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 4.0.3 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnversRevisionRepositoriesRegistrar should reuse \u003ccode\u003e@EnableEnversRepositories\u003c/code\u003e rather than configuring the JPA counterpart \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50039\"\u003e#50039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebFlux Cloud Foundry links endpoint includes query string from received request in resolved links \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50017\"\u003e#50017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImports on a containing test class are ignored when a nested class has imports \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50012\"\u003e#50012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49951\"\u003e#49951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e500 response from env endpoint when supplied pattern is invalid \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49946\"\u003e#49946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49945\"\u003e#49945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP method is lost when configuring excludes in EndpointRequest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49943\"\u003e#49943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor HttpMethod for reactive additional endpoint paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49880\"\u003e#49880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/artemis image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49869\"\u003e#49869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/activemq image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49866\"\u003e#49866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49854\"\u003e#49854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI versioning path strategy should be applied path last as it is not meant to yield \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49800\"\u003e#49800\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs to encourage Java fundamentals for beginners that prefer to learn that way \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50146\"\u003e#50146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP Service Interface Clients still document that API versioning can be configured via properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50126\"\u003e#50126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the observability section of the Lettuce documentation is broken \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50097\"\u003e#50097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJavadoc for StaticResourceLocation.FAVICON doesn't describe icons location \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50085\"\u003e#50085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySamlRelyingPartyConfiguration is missing a Kotlin sample \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50024\"\u003e#50024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect default value for management.httpexchanges.recording.include in configuration metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50019\"\u003e#50019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the Kubernetes documentation when discussing startup probes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50015\"\u003e#50015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in JdbcSessionAutoConfiguration Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49873\"\u003e#49873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify that configuration property default values are not available through the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49851\"\u003e#49851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument the need for Liquibase and Flyway starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49839\"\u003e#49839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKafka documentation refers to deprecated JSON serializer and deserializer classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49826\"\u003e#49826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Elasticsearch Client 9.2.8 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50027\"\u003e#50027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Groovy 5.0.5 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49911\"\u003e#49911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Hibernate 7.2.12.Final \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50134\"\u003e#50134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Jackson Bom 3.1.2 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50051\"\u003e#50051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1\"\u003eJaxen 2.0.1\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50104\"\u003e#50104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5\"\u003eJaybird 6.0.5\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49914\"\u003e#49914\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/8821ad2cd381bb4b9615a61479e1de7305a8ba39\"\u003e\u003ccode\u003e8821ad2\u003c/code\u003e\u003c/a\u003e Release v4.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9e4048a03f17adfe78057a3c4d5b4693305c0ae0\"\u003e\u003ccode\u003e9e4048a\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/20bb11c3984802990572ddbeae8b66885a8f2462\"\u003e\u003ccode\u003e20bb11c\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.15-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/98daa8ea30f39a5b0ca6768b5cbc2dc8698ef4e1\"\u003e\u003ccode\u003e98daa8e\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9dc5aa2863f598a15d3dfa116f4b89249daba7e7\"\u003e\u003ccode\u003e9dc5aa2\u003c/code\u003e\u003c/a\u003e Polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/874f6294b91da18367b8b5ab7b2fad3fa23cfba6\"\u003e\u003ccode\u003e874f629\u003c/code\u003e\u003c/a\u003e Fix default security with actuator but without health\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/e41b3bf731d1134bc18ec1f68ac01e0fe1c54923\"\u003e\u003ccode\u003ee41b3bf\u003c/code\u003e\u003c/a\u003e Enable hostname verification for SSL connections to Elasticsearch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ef8527bb0ef8f564f4f9c57a7be99a7aa96c6ab0\"\u003e\u003ccode\u003eef8527b\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f533a4549c3999aac30cb5830f07dc304933e93d\"\u003e\u003ccode\u003ef533a45\u003c/code\u003e\u003c/a\u003e Do not follow symlinks when writing PID file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4a7bd332b6d19fef1aa4cf28434985f2b03a2e0f\"\u003e\u003ccode\u003e4a7bd33\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.3...v4.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.hibernate.orm` from 7.2.6.Final to 7.3.5.Final\n\nUpdates `com.github.ben-manes.versions` from 0.53.0 to 0.54.0\n\nUpdates `gradle-wrapper` from 9.4.0 to 9.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd78213f09782e62ca4957f9cfd3d90c6c3f1767\"\u003e\u003ccode\u003efd78213\u003c/code\u003e\u003c/a\u003e Update Documentation Infrastructure: Fix scrolling issue in user manual (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37861\"\u003e#37861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7758437128d1c52702786ad719a13ade1b860aa8\"\u003e\u003ccode\u003e7758437\u003c/code\u003e\u003c/a\u003e fix scroll\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2fd605fdcd69fea10570e9eb1343bbd7ca01c9d0\"\u003e\u003ccode\u003e2fd605f\u003c/code\u003e\u003c/a\u003e Only try to run as worker thread in DefaultBuildOperationQueue (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37845\"\u003e#37845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/af6984901238402386ae263d746380504e5f9138\"\u003e\u003ccode\u003eaf69849\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37853\"\u003e#37853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f4d9d03e9bb47d2d17b6d8314fdaa32c3d0b3c1e\"\u003e\u003ccode\u003ef4d9d03\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/01eda3adf40dbe97e81475e813705409dcfe1091\"\u003e\u003ccode\u003e01eda3a\u003c/code\u003e\u003c/a\u003e Address review feedback on worker-lease retry changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7024e15139b2db9df831dd15a8b9e9052acd9a51\"\u003e\u003ccode\u003e7024e15\u003c/code\u003e\u003c/a\u003e Revert enrich file visitor with size info on \u003ccode\u003erelease\u003c/code\u003e branch (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37848\"\u003e#37848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d51476fda21330c037a04b43ec9a93a929d05b87\"\u003e\u003ccode\u003ed51476f\u003c/code\u003e\u003c/a\u003e Fix tryRunAsWorkerThread null-return test to match contract\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/090ebabc5b6f648e01c0269a321d80372fdbfe0f\"\u003e\u003ccode\u003e090ebab\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add getLength() to FilePropertyVisitor.VisitState\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/bceab24677298144860f6919bdcb031e806dbf23\"\u003e\u003ccode\u003ebceab24\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix annotation\u0026quot;\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.0...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/cdome/ollumi/pull/30","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdome%2Follumi/issues/30","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/30/packages"}},{"old_version":"0.53.0","new_version":"0.54.0","update_type":"minor","path":null,"pr_created_at":"2026-05-22T03:12:52.000Z","version_change":"0.53.0 → 0.54.0","issue":{"uuid":"4499519012","node_id":"PR_kwDORqdfXc7eL9SP","number":15,"state":"open","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 23 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-22T03:12:52.000Z","updated_at":"2026-05-22T03:16:05.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":23,"packages":[{"name":"org.mariadb.jdbc:mariadb-java-client","old_version":"3.5.7","new_version":"3.5.8","repository_url":"https://github.com/mariadb-corporation/mariadb-connector-j"},{"name":"org.flywaydb:flyway-mysql","old_version":"11.19.0","new_version":"12.6.2"},{"name":"org.projectlombok:lombok","old_version":"1.18.42","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"org.apache.pdfbox:pdfbox","old_version":"3.0.6","new_version":"3.0.7"},{"name":"org.apache.pdfbox:jbig2-imageio","old_version":"3.0.4","new_version":"3.0.5"},{"name":"com.twelvemonkeys.imageio:imageio-jpeg","old_version":"3.13.0","new_version":"3.13.1"},{"name":"io.documentnode:epub4j-core","old_version":"4.2.2","new_version":"4.2.3","repository_url":"https://github.com/documentnode/epub4j"},{"name":"com.github.junrar:junrar","old_version":"7.5.7","new_version":"7.6.0","repository_url":"https://github.com/junrar/junrar"},{"name":"org.jsoup:jsoup","old_version":"1.21.2","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"2.8.14","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.tukaani:xz","old_version":"1.11","new_version":"1.12","repository_url":"https://github.com/tukaani-project/xz-java"},{"name":"tools.jackson:jackson-bom","old_version":"3.0.4","new_version":"3.1.3","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.0","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"org.assertj:assertj-core","old_version":"3.27.6","new_version":"3.27.7","repository_url":"https://github.com/assertj/assertj"},{"name":"org.springframework.boot","old_version":"4.0.2","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.hibernate.orm","old_version":"7.2.0.Final","new_version":"7.3.5.Final"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"gradle-wrapper","old_version":"9.3.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 18 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) | `3.5.7` | `3.5.8` |\n| org.flywaydb:flyway-mysql | `11.19.0` | `12.6.2` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.42` | `1.18.46` |\n| org.apache.pdfbox:pdfbox | `3.0.6` | `3.0.7` |\n| org.apache.pdfbox:jbig2-imageio | `3.0.4` | `3.0.5` |\n| com.twelvemonkeys.imageio:imageio-jpeg | `3.13.0` | `3.13.1` |\n| [io.documentnode:epub4j-core](https://github.com/documentnode/epub4j) | `4.2.2` | `4.2.3` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.7` | `7.6.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.21.2` | `1.22.2` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `2.8.14` | `3.0.3` |\n| [org.tukaani:xz](https://github.com/tukaani-project/xz-java) | `1.11` | `1.12` |\n| [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `3.0.4` | `3.1.3` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.2.0` | `3.2.4` |\n| [org.assertj:assertj-core](https://github.com/assertj/assertj) | `3.27.6` | `3.27.7` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.2` | `4.0.6` |\n| org.hibernate.orm | `7.2.0.Final` | `7.3.5.Final` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.3.1` | `9.5.1` |\n\n\nUpdates `org.mariadb.jdbc:mariadb-java-client` from 3.5.7 to 3.5.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/releases\"\u003eorg.mariadb.jdbc:mariadb-java-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eMariaDB Connector/Java 3.5.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/blob/main/CHANGELOG.md\"\u003eorg.mariadb.jdbc:mariadb-java-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/26b34a2f060070beb73515cfd2a49fabc8728843\"\u003e\u003ccode\u003e26b34a2\u003c/code\u003e\u003c/a\u003e Merge branch 'develop'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/06d6efee7838ab8f89ef0f7f362c6b4a95754630\"\u003e\u003ccode\u003e06d6efe\u003c/code\u003e\u003c/a\u003e bump CI actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a86a83c8fd1fa84d8d4349baab3b29df8f575192\"\u003e\u003ccode\u003ea86a83c\u003c/code\u003e\u003c/a\u003e bump 3.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/975f9919232b21f40d823423eac6e32d87ea8e35\"\u003e\u003ccode\u003e975f991\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to implement Codec directly and extract shared...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/75bb509521661603e0e90dd6dd5942d1382bf499\"\u003e\u003ccode\u003e75bb509\u003c/code\u003e\u003c/a\u003e [misc] code formatting cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/4c0b6a0ddd95f42fa866ce0d08e384caa2553d43\"\u003e\u003ccode\u003e4c0b6a0\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to extend UtilDateCodec and extract common dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a5b7fb1a26277a076052dbbd1a7ee2bacd4f602f\"\u003e\u003ccode\u003ea5b7fb1\u003c/code\u003e\u003c/a\u003e [misc] convert Reader and Writer from interfaces to final class implementatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/d31eb060fc66e9e37479e18a38bb1401d53ecb63\"\u003e\u003ccode\u003ed31eb06\u003c/code\u003e\u003c/a\u003e [misc] convert ReadableByteBuf from interface to final class implementation, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/11d45a9e6ea4d942e75747132bb8982471d890b8\"\u003e\u003ccode\u003e11d45a9\u003c/code\u003e\u003c/a\u003e [misc] optimize binary row decoder null bitmap checks and simplify signed Big...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/5aad14c381cbc2c4e0383ffed275306f359bd508\"\u003e\u003ccode\u003e5aad14c\u003c/code\u003e\u003c/a\u003e [misc] optimize BigInt column decoding and improve type safety in codec inter...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb:flyway-mysql` from 11.19.0 to 12.6.2\n\nUpdates `org.projectlombok:lombok` from 1.18.42 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.44 (March 11th, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFEATURE: \u003ccode\u003e@Jacksonized\u003c/code\u003e now supports both Jackson2 and Jackson3; you'll get a warning until you configure which one (or even both!) you want lombok to generate. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3950\"\u003e#3950\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: On JDK25, \u003ccode\u003eval\u003c/code\u003e and \u003ccode\u003e@ExtensionMethod\u003c/code\u003e could sometimes cause erroneous errors (in that you see errors but compilation succeeds anyway) using javac. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3947\"\u003e#3947\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e + fields marked \u003ccode\u003etransient\u003c/code\u003e would result in those transient fields being serialised which is surprising (and thus undesired) behaviour. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3936\"\u003e#3936\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.42...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.pdfbox:pdfbox` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:pdfbox-io` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:xmpbox` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:jbig2-imageio` from 3.0.4 to 3.0.5\n\nUpdates `com.twelvemonkeys.imageio:imageio-jpeg` from 3.13.0 to 3.13.1\n\nUpdates `com.twelvemonkeys.imageio:imageio-tiff` from 3.13.0 to 3.13.1\n\nUpdates `com.twelvemonkeys.imageio:imageio-webp` from 3.13.0 to 3.13.1\n\nUpdates `com.twelvemonkeys.imageio:imageio-bmp` from 3.13.0 to 3.13.1\n\nUpdates `io.documentnode:epub4j-core` from 4.2.2 to 4.2.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/documentnode/epub4j/commit/4bf55082feba0496f98b867ec03ebec5f393b649\"\u003e\u003ccode\u003e4bf5508\u003c/code\u003e\u003c/a\u003e Migrate Maven Central publishing to new Central Portal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/documentnode/epub4j/commit/b153885ef8aefbe4063a40894c048a5cc2b5a354\"\u003e\u003ccode\u003eb153885\u003c/code\u003e\u003c/a\u003e Load sdkman environment before running gradle commands\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/documentnode/epub4j/compare/v4.2.2...v4.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.junrar:junrar` from 7.5.7 to 7.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.6.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport random access for files in solid RAR4 archives (\u003ca href=\"https://github.com/junrar/junrar/commits/e0874d2\"\u003ee0874d2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🏎 Perf\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereplace RarCRC.checkCrc with java.util.zip.CRC32 (\u003ca href=\"https://github.com/junrar/junrar/commits/5270d23\"\u003e5270d23\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump gradle-wrapper to 9.5.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/cb4b7fd\"\u003ecb4b7fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/0bb56b3\"\u003e0bb56b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/ca621b2\"\u003eca621b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.23.0 to 1.24.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/90f0548\"\u003e90f0548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/83a5d08\"\u003e83a5d08\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.github.ben-manes.versions from 0.53.0 to 0.54.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d5abcdb\"\u003ed5abcdb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated action (\u003ca href=\"https://github.com/junrar/junrar/commits/338efcb\"\u003e338efcb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Gauthier Roebroeck, Robin Schimpf\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier Roebroeck\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.9\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.10...v7.6.0\"\u003e7.6.0\u003c/a\u003e (2026-05-13)\u003c/h1\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport random access for files in solid RAR4 archives (\u003ca href=\"https://github.com/junrar/junrar/commits/e0874d2\"\u003ee0874d2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🏎 Perf\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereplace RarCRC.checkCrc with java.util.zip.CRC32 (\u003ca href=\"https://github.com/junrar/junrar/commits/5270d23\"\u003e5270d23\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump gradle-wrapper to 9.5.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/cb4b7fd\"\u003ecb4b7fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/0bb56b3\"\u003e0bb56b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/ca621b2\"\u003eca621b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.23.0 to 1.24.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/90f0548\"\u003e90f0548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/83a5d08\"\u003e83a5d08\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.github.ben-manes.versions from 0.53.0 to 0.54.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d5abcdb\"\u003ed5abcdb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated action (\u003ca href=\"https://github.com/junrar/junrar/commits/338efcb\"\u003e338efcb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.9...v7.5.10\"\u003e7.5.10\u003c/a\u003e (2026-04-15)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.9\"\u003e7.5.9\u003c/a\u003e (2026-04-13)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/cb4b7fdb84269e95741fa22120e08ceb15a06152\"\u003e\u003ccode\u003ecb4b7fd\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper to 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/0bb56b3df4e3b6d14f73de92746a2eb47dd2d7a3\"\u003e\u003ccode\u003e0bb56b3\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/ca621b22421f9e846df23112b32113230610c8d9\"\u003e\u003ccode\u003eca621b2\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e0874d213832bbeaa8eb265c79479b01b5fa7392\"\u003e\u003ccode\u003ee0874d2\u003c/code\u003e\u003c/a\u003e feat: support random access for files in solid RAR4 archives\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/90f0548c728b0bf2e94f6e26f9e6396d9d0a7262\"\u003e\u003ccode\u003e90f0548\u003c/code\u003e\u003c/a\u003e build(deps): bump org.jreleaser from 1.23.0 to 1.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/83a5d085dc84991226229fef1515cc902d129241\"\u003e\u003ccode\u003e83a5d08\u003c/code\u003e\u003c/a\u003e build(deps): bump commons-io:commons-io from 2.21.0 to 2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/338efcb5472be051989fbafd7179d561c71722eb\"\u003e\u003ccode\u003e338efcb\u003c/code\u003e\u003c/a\u003e ci: replace deprecated action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/5270d235ade54d96dfc9958ab06f495fbbd169e7\"\u003e\u003ccode\u003e5270d23\u003c/code\u003e\u003c/a\u003e perf: replace RarCRC.checkCrc with java.util.zip.CRC32\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d5abcdb9af988ddfa76e98d80787e15525488332\"\u003e\u003ccode\u003ed5abcdb\u003c/code\u003e\u003c/a\u003e build(deps): bump com.github.ben-manes.versions from 0.53.0 to 0.54.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/edadb28896962fdcf754029bafd0994aaff24530\"\u003e\u003ccode\u003eedadb28\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.10 [skip ci]\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.7...v7.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.21.2 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.1\u003c/strong\u003e is out now, adding support for the \u003ccode\u003ere2j\u003c/code\u003e regular expression engine for regex-based CSS selectors, a configurable maximum parser depth, and numerous bug fixes and improvements.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jsoup.org/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for using the \u003ccode\u003ere2j\u003c/code\u003e regular expression engine for regex-based CSS selectors (e.g. \u003ccode\u003e[attr~=regex]\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e), which ensures linear-time performance for regex evaluation. This allows safer handling of arbitrary user-supplied query regexes. To enable, add the \u003ccode\u003ecom.google.re2j\u003c/code\u003e dependency to your classpath, e.g.:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"xml\"\u003e\u003ccode\u003e  \u0026lt;dependency\u0026gt;\r\n    \u0026lt;groupId\u0026gt;com.google.re2j\u0026lt;/groupId\u0026gt;\r\n    \u0026lt;artifactId\u0026gt;re2j\u0026lt;/artifactId\u0026gt;\r\n    \u0026lt;version\u0026gt;1.8\u0026lt;/version\u0026gt;\r\n  \u0026lt;/dependency\u0026gt;\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e(If you already have that dependency in your classpath, but you want to keep using the Java regex engine, you can disable re2j via \u003ccode\u003eSystem.setProperty(\u0026quot;jsoup.useRe2j\u0026quot;, \u0026quot;false\u0026quot;)\u003c/code\u003e.) You can confirm that the re2j engine has been enabled correctly by calling \u003ccode\u003eRegex.usingRe2j()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2407\"\u003e#2407\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.22.1 (2026-Jan-01)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for using the \u003ccode\u003ere2j\u003c/code\u003e regular expression engine for regex-based CSS selectors (e.g. \u003ccode\u003e[attr~=regex]\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e), which ensures linear-time performance for regex evaluation. This allows safer handling of arbitrary user-supplied query regexes. To enable, add the \u003ccode\u003ecom.google.re2j\u003c/code\u003e dependency to your classpath, e.g.:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"xml\"\u003e\u003ccode\u003e  \u0026lt;dependency\u0026gt;\n    \u0026lt;groupId\u0026gt;com.google.re2j\u0026lt;/groupId\u0026gt;\n    \u0026lt;artifactId\u0026gt;re2j\u0026lt;/artifactId\u0026gt;\n    \u0026lt;version\u0026gt;1.8\u0026lt;/version\u0026gt;\n  \u0026lt;/dependency\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e(If you already have that dependency in your classpath, but you want to keep using the Java regex engine, you can disable re2j via \u003ccode\u003eSystem.setProperty(\u0026quot;jsoup.useRe2j\u0026quot;, \u0026quot;false\u0026quot;)\u003c/code\u003e.) You can confirm that the re2j engine has been enabled correctly by calling \u003ccode\u003eorg.jsoup.helper.Regex.usingRe2j()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2407\"\u003e#2407\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an instance method \u003ccode\u003eParser#unescape(String, boolean)\u003c/code\u003e that unescapes HTML entities using the parser's configuration (e.g. to support error tracking), complementing the existing static utility \u003ccode\u003eParser.unescapeEntities(String, boolean)\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2396\"\u003e#2396\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded a configurable maximum parser depth (to limit the number of open elements on stack) to both HTML and XML parsers. The HTML parser now defaults to a depth of 512 to match browser behavior, and protect against unbounded stack growth, while the XML parser keeps unlimited depth by default, but can opt into a limit via \u003ccode\u003eorg.jsoup.parser.Parser#setMaxDepth\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2421\"\u003e#2421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild: added CI coverage for JDK 25 \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2403\"\u003e#2403\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild: added a CI fuzzer for contextual fragment parsing (in addition to existing full body HTML and XML fuzzers). [oss-fuzz \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/14041\"\u003e#14041\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/google/oss-fuzz/pull/14041\"\u003egoogle/oss-fuzz#14041\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSet a removal schedule of jsoup 1.24.1 for previously deprecated APIs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreviously cached child \u003ccode\u003eElements\u003c/code\u003e of an \u003ccode\u003eElement\u003c/code\u003e were not correctly invalidated in \u003ccode\u003eNode#replaceWith(Node)\u003c/code\u003e, which could lead to incorrect results when subsequently calling \u003ccode\u003eElement#children()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2391\"\u003e#2391\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAttribute selector values are now compared literally without trimming. Previously, jsoup trimmed whitespace from selector values and from element attribute values, which could cause mismatches with browser behavior (e.g. \u003ccode\u003e[attr=\u0026quot; foo \u0026quot;]\u003c/code\u003e). Now matches align with the CSS specification and browser engines. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2380\"\u003e#2380\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using the JDK HttpClient, any system default proxy (\u003ccode\u003eProxySelector.getDefault()\u003c/code\u003e) was ignored. Now, the system proxy is used if a per-request proxy is not set. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2388\"\u003e#2388\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2390\"\u003e#2390\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003eValidationException\u003c/code\u003e could be thrown in the adoption agency algorithm with particularly broken input. Now logged as a parse error. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2393\"\u003e#2393\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNull characters in the HTML body were not consistently removed; and in foreign content were not correctly replaced. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2395\"\u003e#2395\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAn \u003ccode\u003eIndexOutOfBoundsException\u003c/code\u003e could be thrown when parsing a body fragment with crafted input. Now logged as a parse error. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2397\"\u003e#2397\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2406\"\u003e#2406\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using StructuralEvaluators (e.g., a \u003ccode\u003eparent child\u003c/code\u003e selector) across many retained threads, their memoized results could also be retained, increasing memory use. These results are now cleared immediately after use, reducing overall memory consumption. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2411\"\u003e#2411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCloning a \u003ccode\u003eParser\u003c/code\u003e now preserves any custom \u003ccode\u003eTagSet\u003c/code\u003e applied to the parser. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2422\"\u003e#2422\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2423\"\u003e#2423\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.21.2...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 2.8.14 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003espringdoc-openapi v3.0.2 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3229\"\u003e#3229\u003c/a\u003e – Add support for Spring Framework API Versioning with Functional Endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3208\"\u003e#3208\u003c/a\u003e – Add \u003ccode\u003espringdoc.swagger-ui.document-title\u003c/code\u003e property\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.3\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.43\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Scalar to version \u003cstrong\u003e0.5.55\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3232\"\u003e#3232\u003c/a\u003e – Gracefully handle springdoc endpoint paths during API version resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3230\"\u003e#3230\u003c/a\u003e – Scalar source URLs resolve to \u003ccode\u003enull/\u0026lt;groupName\u0026gt;\u003c/code\u003e on second request when using \u003ccode\u003eGroupedOpenApi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3228\"\u003e#3228\u003c/a\u003e – springdoc-openapi-starter 3.x doesn't depend on \u003ccode\u003eorg.springframework.boot:spring-boot-starter\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.0.2] - 2026-02-27\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3229\"\u003e#3229\u003c/a\u003e – Add support for Spring Framework API Versioning with Functional Endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3208\"\u003e#3208\u003c/a\u003e – Add \u003ccode\u003espringdoc.swagger-ui.document-title\u003c/code\u003e property\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.3\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.43\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Scalar to version \u003cstrong\u003e0.5.55\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3232\"\u003e#3232\u003c/a\u003e – Gracefully handle springdoc endpoint paths during API version resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3230\"\u003e#3230\u003c/a\u003e – Scalar source URLs resolve to \u003ccode\u003enull/\u0026lt;groupName\u0026gt;\u003c/code\u003e on second request when using \u003ccode\u003eGroupedOpenApi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3228\"\u003e#3228\u003c/a\u003e – springdoc-openapi-starter 3.x doesn't depend on \u003ccode\u003eorg.springframework.boot:spring-boot-starter\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3220\"\u003e#3220\u003c/a\u003e – Reachability metadata not compatible with GraalVM 25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3195\"\u003e#3195\u003c/a\u003e – Application won't compile when OpenApi and spring-boot-data-rest is present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3193\"\u003e#3193\u003c/a\u003e – \u003ccode\u003eOpenApi\u003c/code\u003e field in \u003ccode\u003eSpringDocConfigProperties\u003c/code\u003e does not comply with camel case naming conventions\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v2.8.14...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.tukaani:xz` from 1.11 to 1.12\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tukaani-project/xz-java/blob/master/NEWS.md\"\u003eorg.tukaani:xz's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.12 (2026-03-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix ArrayIndexOutOfBoundsException in the LZMA/LZMA2 encoder on\nx86-64 and ARM64 when running on Java 9 or newer. The affected\ncode isn't used on Java 8. The bug is present in versions 1.10\nand 1.11. If one cannot upgrade, one should set the property\n\u003ccode\u003eorg.tukaani.xz.MatchLengthFinder=Basic\u003c/code\u003e to disable the affected\ncode path.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix ArrayCache usage in LZMAInputStream. If ArrayCache was enabled,\ndecompression was likely to fail quickly when the cache returns a\ncached array. ArrayCache is disabled by default.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe binaries of 1.12 in the Maven Central require Java 8 and\ncontain optimized classes for Java \u0026gt;= 9 as multi-release JAR.\nThey were built with OpenJDK 21.0.10 on GNU/Linux and can be\nreproduced using the following command:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eSOURCE_DATE_EPOCH=1772370000 TZ=UTC0 ant maven\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/107a519fac1e6789101ad9c234afe3dc407be7f5\"\u003e\u003ccode\u003e107a519\u003c/code\u003e\u003c/a\u003e Bump the version number to 1.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/3061152e66a8ea2cc6366fd5da21409b8a3d4788\"\u003e\u003ccode\u003e3061152\u003c/code\u003e\u003c/a\u003e Update NEWS.md for 1.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/0ecee25c1590dae305135317cf6e768f49093af7\"\u003e\u003ccode\u003e0ecee25\u003c/code\u003e\u003c/a\u003e Refactor EXTRA_SIZE to getExtraSize()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/ac1aeb197dd8589dc6892f13f5ef68801383ec34\"\u003e\u003ccode\u003eac1aeb1\u003c/code\u003e\u003c/a\u003e Fix ArrayIndexOutOfBoundsException in the LZMA/LZMA2 encoder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/12c75fd1d06ef7db89335d3da1ca5bb91ab6ac0b\"\u003e\u003ccode\u003e12c75fd\u003c/code\u003e\u003c/a\u003e Fix ArrayCache usage with LZMAInputStream\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/e52d9ad621afcaa422668484bad91ce7ba0506ef\"\u003e\u003ccode\u003ee52d9ad\u003c/code\u003e\u003c/a\u003e SHA256SUMS: Add 1.11 files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/9a755ec5335de00ce365b365b72e4683e591171f\"\u003e\u003ccode\u003e9a755ec\u003c/code\u003e\u003c/a\u003e CI: Add missing SPDX tags\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tukaani-project/xz-java/compare/v1.11...v1.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tools.jackson:jackson-bom` from 3.0.4 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/c2ea79e9178f0aaa5e4f381c644140357bfc307e\"\u003e\u003ccode\u003ec2ea79e\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3906b27dcdde8fc6a4fef193147109b70bf2f0dc\"\u003e\u003ccode\u003e3906b27\u003c/code\u003e\u003c/a\u003e Prep for 3.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/b17b616c7dc264cfef26f9dd28eaf54bc40b5c4c\"\u003e\u003ccode\u003eb17b616\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/36cf9995cff15aa3e69786da1d6c52f208fddf8a\"\u003e\u003ccode\u003e36cf999\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0ae1c2ae270dabe8e21700cbcee1c266b54e84f0\"\u003e\u003ccode\u003e0ae1c2a\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3c171ebd5d6c5d8f6e8d4f3614cf9b4f0a8babb9\"\u003e\u003ccode\u003e3c171eb\u003c/code\u003e\u003c/a\u003e Prep for 3.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/8046ced071e0b36747bae0f0a96fa21914de1303\"\u003e\u003ccode\u003e8046ced\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ea00ca4cc59ba656a17a071e30a68387e51d3e0d\"\u003e\u003ccode\u003eea00ca4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0628060381a5b86e3fc07854a27b7453de559b7e\"\u003e\u003ccode\u003e0628060\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/22b8aeec79b87751a41c586404850c526eed1dbe\"\u003e\u003ccode\u003e22b8aee\u003c/code\u003e\u003c/a\u003e Prep for 3.1.1 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-3.0.4...jackson-bom-3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.0 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.2.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed frequency tracking of weak keys to use the object's identity hash code (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1902\"\u003e#1902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for underscores in \u003ccode\u003eCaffeineSpec\u003c/code\u003e when using numeric literals (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1890\"\u003e#1890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved the external api to no longer lock when querying for the maximum size or weighted size (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1897\"\u003e#1897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded detection and recovery when a custom \u003ccode\u003eCompletableFuture\u003c/code\u003e is in an inconsistent state (\u003ca href=\"https://redirect.github.com/quarkusio/quarkus/issues/50513\"\u003equarkus#50513\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.2.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed characteristics returned by Spliterators (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1883\"\u003e#1883\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e for an async cache's synchronous view to retry if incomplete\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eCaffeineSpec\u003c/code\u003e when being reflectively constructed (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1839\"\u003e#1839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved the handling of negative durations with variable expiration\u003c/li\u003e\n\u003cli\u003eFixed intermittent null after replacing a weak/soft value (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1820\"\u003e#1820\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.0...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.assertj:assertj-core` from 3.27.6 to 3.27.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/assertj/assertj/releases\"\u003eorg.assertj:assertj-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.27.7\u003c/h2\u003e\n\u003ch2\u003e:lock: Security\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix XXE vulnerability in \u003ccode\u003eisXmlEqualTo\u003c/code\u003e assertion (CVE-2026-24400)\n\u003cul\u003e\n\u003cli\u003eSee GHSA-rqfh-9r24-8c9r for details; many thanks to \u003ca href=\"https://github.com/wxt201\"\u003e\u003ccode\u003e@​wxt201\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Song-Li\"\u003e\u003ccode\u003e@​Song-Li\u003c/code\u003e\u003c/a\u003e for responsibly reporting it!\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:no_entry_sign: Deprecated\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eXmlStringPrettyFormatter\u003c/code\u003e with no replacement\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:bug: Bug Fixes\u003c/h2\u003e\n\u003ch3\u003eGuava\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNavigation to \u003ccode\u003eassertj-core\u003c/code\u003e or \u003ccode\u003eguava\u003c/code\u003e types from \u003ccode\u003eassertj-guava\u003c/code\u003e Javadoc site has unnecessary header \u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3478\"\u003e#3478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Byte Buddy 1.18.3\u003c/li\u003e\n\u003cli\u003eUpgrade to JUnit BOM 5.14.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eGuava\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Guava 33.5.0-jre\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/e84071667f5f8f13084af9dfa54cee5fd9db18db\"\u003e\u003ccode\u003ee840716\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release assertj-build-3.27.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/85ca7eb6609bb179c043b85ae7d290523b1ba79a\"\u003e\u003ccode\u003e85ca7eb\u003c/code\u003e\u003c/a\u003e Deprecate \u003ccode\u003eXmlStringPrettyFormatter\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/77081dc5eb107141df80f95bd0149b468e451341\"\u003e\u003ccode\u003e77081dc\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/b68fc24a9de28f28a486fc5b887c1b8a003a5823\"\u003e\u003ccode\u003eb68fc24\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.31.9 to 4.31.10 in the github-actions group ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/0cf5bb6c50f6ead3deaa2a2ff50ef1e7d933c8a3\"\u003e\u003ccode\u003e0cf5bb6\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003ekotlin.version\u003c/code\u003e from 2.1.0 to 2.2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/d393ef1f5e48c89d47d7cf6d1eae359ceda0a126\"\u003e\u003ccode\u003ed393ef1\u003c/code\u003e\u003c/a\u003e Abort tests when symbolic links cannot be created (\u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3788\"\u003e#3788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/22124331e9922af5a43ab50f7a9a25b65be53be1\"\u003e\u003ccode\u003e2212433\u003c/code\u003e\u003c/a\u003e Add IntelliJ custom inspection for test class names\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/5717d025cfe0f4c66de20f3253c0b0ecba259aa1\"\u003e\u003ccode\u003e5717d02\u003c/code\u003e\u003c/a\u003e Update JetBrains icon\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/a8ec20bd42ed01f9cc6f654046c7dd424b0af07c\"\u003e\u003ccode\u003ea8ec20b\u003c/code\u003e\u003c/a\u003e Add icon for JetBrains products\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/c05fb3d052b415fb2d6051df939f3b7903a76afe\"\u003e\u003ccode\u003ec05fb3d\u003c/code\u003e\u003c/a\u003e Bump Maven to 3.9.12 and Wrapper to 3.3.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/assertj/assertj/compare/assertj-build-3.27.6...assertj-build-3.27.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 4.0.2 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a...\n\n_Description has been truncated_","html_url":"https://github.com/BlindMint/booklore/pull/15","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlindMint%2Fbooklore/issues/15","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/15/packages"}},{"old_version":"0.53.0","new_version":"0.54.0","update_type":"minor","path":null,"pr_created_at":"2026-05-22T03:12:50.000Z","version_change":"0.53.0 → 0.54.0","issue":{"uuid":"4499518853","node_id":"PR_kwDORprh4c7eL9QV","number":40,"state":"open","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 15 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-22T03:12:50.000Z","updated_at":"2026-05-22T03:17:36.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":15,"packages":[{"name":"org.mariadb.jdbc:mariadb-java-client","old_version":"3.5.7","new_version":"3.5.8","repository_url":"https://github.com/mariadb-corporation/mariadb-connector-j"},{"name":"org.flywaydb:flyway-mysql","old_version":"12.1.1","new_version":"12.6.2"},{"name":"org.projectlombok:lombok","old_version":"1.18.44","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"org.apache.pdfbox:jbig2-imageio","old_version":"3.0.4","new_version":"3.0.5"},{"name":"com.github.RouHim:jaudiotagger","old_version":"2.0.18","new_version":"2.0.21"},{"name":"com.github.junrar:junrar","old_version":"7.5.8","new_version":"7.6.0","repository_url":"https://github.com/junrar/junrar"},{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"4.0.7","new_version":"4.0.8"},{"name":"tools.jackson:jackson-bom","old_version":"3.1.0","new_version":"3.1.3","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"org.springframework.boot","old_version":"4.0.3","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.hibernate.orm","old_version":"7.3.0.Final","new_version":"7.3.5.Final"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"gradle-wrapper","old_version":"9.4.0","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 15 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) | `3.5.7` | `3.5.8` |\n| org.flywaydb:flyway-mysql | `12.1.1` | `12.6.2` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.44` | `1.18.46` |\n| org.apache.pdfbox:jbig2-imageio | `3.0.4` | `3.0.5` |\n| com.github.RouHim:jaudiotagger | `2.0.18` | `2.0.21` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.8` | `7.6.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `3.0.2` | `3.0.3` |\n| org.glassfish.jaxb:jaxb-runtime | `4.0.7` | `4.0.8` |\n| [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `3.1.0` | `3.1.3` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.2.3` | `3.2.4` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.3` | `4.0.6` |\n| org.hibernate.orm | `7.3.0.Final` | `7.3.5.Final` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.0` | `9.5.1` |\n\n\nUpdates `org.mariadb.jdbc:mariadb-java-client` from 3.5.7 to 3.5.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/releases\"\u003eorg.mariadb.jdbc:mariadb-java-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eMariaDB Connector/Java 3.5.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/blob/main/CHANGELOG.md\"\u003eorg.mariadb.jdbc:mariadb-java-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/26b34a2f060070beb73515cfd2a49fabc8728843\"\u003e\u003ccode\u003e26b34a2\u003c/code\u003e\u003c/a\u003e Merge branch 'develop'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/06d6efee7838ab8f89ef0f7f362c6b4a95754630\"\u003e\u003ccode\u003e06d6efe\u003c/code\u003e\u003c/a\u003e bump CI actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a86a83c8fd1fa84d8d4349baab3b29df8f575192\"\u003e\u003ccode\u003ea86a83c\u003c/code\u003e\u003c/a\u003e bump 3.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/975f9919232b21f40d823423eac6e32d87ea8e35\"\u003e\u003ccode\u003e975f991\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to implement Codec directly and extract shared...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/75bb509521661603e0e90dd6dd5942d1382bf499\"\u003e\u003ccode\u003e75bb509\u003c/code\u003e\u003c/a\u003e [misc] code formatting cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/4c0b6a0ddd95f42fa866ce0d08e384caa2553d43\"\u003e\u003ccode\u003e4c0b6a0\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to extend UtilDateCodec and extract common dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a5b7fb1a26277a076052dbbd1a7ee2bacd4f602f\"\u003e\u003ccode\u003ea5b7fb1\u003c/code\u003e\u003c/a\u003e [misc] convert Reader and Writer from interfaces to final class implementatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/d31eb060fc66e9e37479e18a38bb1401d53ecb63\"\u003e\u003ccode\u003ed31eb06\u003c/code\u003e\u003c/a\u003e [misc] convert ReadableByteBuf from interface to final class implementation, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/11d45a9e6ea4d942e75747132bb8982471d890b8\"\u003e\u003ccode\u003e11d45a9\u003c/code\u003e\u003c/a\u003e [misc] optimize binary row decoder null bitmap checks and simplify signed Big...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/5aad14c381cbc2c4e0383ffed275306f359bd508\"\u003e\u003ccode\u003e5aad14c\u003c/code\u003e\u003c/a\u003e [misc] optimize BigInt column decoding and improve type safety in codec inter...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb:flyway-mysql` from 12.1.1 to 12.6.2\n\nUpdates `org.projectlombok:lombok` from 1.18.44 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.44...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.pdfbox:jbig2-imageio` from 3.0.4 to 3.0.5\n\nUpdates `com.github.RouHim:jaudiotagger` from 2.0.18 to 2.0.21\n\nUpdates `com.github.junrar:junrar` from 7.5.8 to 7.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.6.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport random access for files in solid RAR4 archives (\u003ca href=\"https://github.com/junrar/junrar/commits/e0874d2\"\u003ee0874d2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🏎 Perf\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereplace RarCRC.checkCrc with java.util.zip.CRC32 (\u003ca href=\"https://github.com/junrar/junrar/commits/5270d23\"\u003e5270d23\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump gradle-wrapper to 9.5.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/cb4b7fd\"\u003ecb4b7fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/0bb56b3\"\u003e0bb56b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/ca621b2\"\u003eca621b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.23.0 to 1.24.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/90f0548\"\u003e90f0548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/83a5d08\"\u003e83a5d08\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.github.ben-manes.versions from 0.53.0 to 0.54.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d5abcdb\"\u003ed5abcdb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated action (\u003ca href=\"https://github.com/junrar/junrar/commits/338efcb\"\u003e338efcb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Gauthier Roebroeck, Robin Schimpf\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier Roebroeck\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.9\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.10...v7.6.0\"\u003e7.6.0\u003c/a\u003e (2026-05-13)\u003c/h1\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport random access for files in solid RAR4 archives (\u003ca href=\"https://github.com/junrar/junrar/commits/e0874d2\"\u003ee0874d2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🏎 Perf\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereplace RarCRC.checkCrc with java.util.zip.CRC32 (\u003ca href=\"https://github.com/junrar/junrar/commits/5270d23\"\u003e5270d23\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump gradle-wrapper to 9.5.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/cb4b7fd\"\u003ecb4b7fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/0bb56b3\"\u003e0bb56b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/ca621b2\"\u003eca621b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.23.0 to 1.24.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/90f0548\"\u003e90f0548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/83a5d08\"\u003e83a5d08\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.github.ben-manes.versions from 0.53.0 to 0.54.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d5abcdb\"\u003ed5abcdb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated action (\u003ca href=\"https://github.com/junrar/junrar/commits/338efcb\"\u003e338efcb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.9...v7.5.10\"\u003e7.5.10\u003c/a\u003e (2026-04-15)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.9\"\u003e7.5.9\u003c/a\u003e (2026-04-13)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/cb4b7fdb84269e95741fa22120e08ceb15a06152\"\u003e\u003ccode\u003ecb4b7fd\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper to 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/0bb56b3df4e3b6d14f73de92746a2eb47dd2d7a3\"\u003e\u003ccode\u003e0bb56b3\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/ca621b22421f9e846df23112b32113230610c8d9\"\u003e\u003ccode\u003eca621b2\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e0874d213832bbeaa8eb265c79479b01b5fa7392\"\u003e\u003ccode\u003ee0874d2\u003c/code\u003e\u003c/a\u003e feat: support random access for files in solid RAR4 archives\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/90f0548c728b0bf2e94f6e26f9e6396d9d0a7262\"\u003e\u003ccode\u003e90f0548\u003c/code\u003e\u003c/a\u003e build(deps): bump org.jreleaser from 1.23.0 to 1.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/83a5d085dc84991226229fef1515cc902d129241\"\u003e\u003ccode\u003e83a5d08\u003c/code\u003e\u003c/a\u003e build(deps): bump commons-io:commons-io from 2.21.0 to 2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/338efcb5472be051989fbafd7179d561c71722eb\"\u003e\u003ccode\u003e338efcb\u003c/code\u003e\u003c/a\u003e ci: replace deprecated action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/5270d235ade54d96dfc9958ab06f495fbbd169e7\"\u003e\u003ccode\u003e5270d23\u003c/code\u003e\u003c/a\u003e perf: replace RarCRC.checkCrc with java.util.zip.CRC32\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d5abcdb9af988ddfa76e98d80787e15525488332\"\u003e\u003ccode\u003ed5abcdb\u003c/code\u003e\u003c/a\u003e build(deps): bump com.github.ben-manes.versions from 0.53.0 to 0.54.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/edadb28896962fdcf754029bafd0994aaff24530\"\u003e\u003ccode\u003eedadb28\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.10 [skip ci]\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.22.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.22.1...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.glassfish.jaxb:jaxb-runtime` from 4.0.7 to 4.0.8\n\nUpdates `tools.jackson:jackson-bom` from 3.1.0 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/c2ea79e9178f0aaa5e4f381c644140357bfc307e\"\u003e\u003ccode\u003ec2ea79e\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3906b27dcdde8fc6a4fef193147109b70bf2f0dc\"\u003e\u003ccode\u003e3906b27\u003c/code\u003e\u003c/a\u003e Prep for 3.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/b17b616c7dc264cfef26f9dd28eaf54bc40b5c4c\"\u003e\u003ccode\u003eb17b616\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/36cf9995cff15aa3e69786da1d6c52f208fddf8a\"\u003e\u003ccode\u003e36cf999\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0ae1c2ae270dabe8e21700cbcee1c266b54e84f0\"\u003e\u003ccode\u003e0ae1c2a\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3c171ebd5d6c5d8f6e8d4f3614cf9b4f0a8babb9\"\u003e\u003ccode\u003e3c171eb\u003c/code\u003e\u003c/a\u003e Prep for 3.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/8046ced071e0b36747bae0f0a96fa21914de1303\"\u003e\u003ccode\u003e8046ced\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ea00ca4cc59ba656a17a071e30a68387e51d3e0d\"\u003e\u003ccode\u003eea00ca4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0628060381a5b86e3fc07854a27b7453de559b7e\"\u003e\u003ccode\u003e0628060\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/22b8aeec79b87751a41c586404850c526eed1dbe\"\u003e\u003ccode\u003e22b8aee\u003c/code\u003e\u003c/a\u003e Prep for 3.1.1 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-3.1.0...jackson-bom-3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 4.0.3 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnversRevisionRepositoriesRegistrar should reuse \u003ccode\u003e@EnableEnversRepositories\u003c/code\u003e rather than configuring the JPA counterpart \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50039\"\u003e#50039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebFlux Cloud Foundry links endpoint includes query string from received request in resolved links \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50017\"\u003e#50017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImports on a containing test class are ignored when a nested class has imports \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50012\"\u003e#50012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49951\"\u003e#49951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e500 response from env endpoint when supplied pattern is invalid \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49946\"\u003e#49946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49945\"\u003e#49945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP method is lost when configuring excludes in EndpointRequest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49943\"\u003e#49943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor HttpMethod for reactive additional endpoint paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49880\"\u003e#49880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/artemis image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49869\"\u003e#49869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/activemq image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49866\"\u003e#49866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49854\"\u003e#49854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI versioning path strategy should be applied path last as it is not meant to yield \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49800\"\u003e#49800\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs to encourage Java fundamentals for beginners that prefer to learn that way \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50146\"\u003e#50146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP Service Interface Clients still document that API versioning can be configured via properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50126\"\u003e#50126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the observability section of the Lettuce documentation is broken \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50097\"\u003e#50097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJavadoc for StaticResourceLocation.FAVICON doesn't describe icons location \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50085\"\u003e#50085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySamlRelyingPartyConfiguration is missing a Kotlin sample \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50024\"\u003e#50024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect default value for management.httpexchanges.recording.include in configuration metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50019\"\u003e#50019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the Kubernetes documentation when discussing startup probes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50015\"\u003e#50015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in JdbcSessionAutoConfiguration Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49873\"\u003e#49873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify that configuration property default values are not available through the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49851\"\u003e#49851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument the need for Liquibase and Flyway starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49839\"\u003e#49839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKafka documentation refers to deprecated JSON serializer and deserializer classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49826\"\u003e#49826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Elasticsearch Client 9.2.8 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50027\"\u003e#50027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Groovy 5.0.5 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49911\"\u003e#49911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Hibernate 7.2.12.Final \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50134\"\u003e#50134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Jackson Bom 3.1.2 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50051\"\u003e#50051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1\"\u003eJaxen 2.0.1\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50104\"\u003e#50104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5\"\u003eJaybird 6.0.5\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49914\"\u003e#49914\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/8821ad2cd381bb4b9615a61479e1de7305a8ba39\"\u003e\u003ccode\u003e8821ad2\u003c/code\u003e\u003c/a\u003e Release v4.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9e4048a03f17adfe78057a3c4d5b4693305c0ae0\"\u003e\u003ccode\u003e9e4048a\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/20bb11c3984802990572ddbeae8b66885a8f2462\"\u003e\u003ccode\u003e20bb11c\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.15-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/98daa8ea30f39a5b0ca6768b5cbc2dc8698ef4e1\"\u003e\u003ccode\u003e98daa8e\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9dc5aa2863f598a15d3dfa116f4b89249daba7e7\"\u003e\u003ccode\u003e9dc5aa2\u003c/code\u003e\u003c/a\u003e Polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/874f6294b91da18367b8b5ab7b2fad3fa23cfba6\"\u003e\u003ccode\u003e874f629\u003c/code\u003e\u003c/a\u003e Fix default security with actuator but without health\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/e41b3bf731d1134bc18ec1f68ac01e0fe1c54923\"\u003e\u003ccode\u003ee41b3bf\u003c/code\u003e\u003c/a\u003e Enable hostname verification for SSL connections to Elasticsearch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ef8527bb0ef8f564f4f9c57a7be99a7aa96c6ab0\"\u003e\u003ccode\u003eef8527b\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f533a4549c3999aac30cb5830f07dc304933e93d\"\u003e\u003ccode\u003ef533a45\u003c/code\u003e\u003c/a\u003e Do not follow symlinks when writing PID file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4a7bd332b6d19fef1aa4cf28434985f2b03a2e0f\"\u003e\u003ccode\u003e4a7bd33\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.3...v4.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.hibernate.orm` from 7.3.0.Final to 7.3.5.Final\n\nUpdates `com.github.ben-manes.versions` from 0.53.0 to 0.54.0\n\nUpdates `gradle-wrapper` from 9.4.0 to 9.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd78213f09782e62ca4957f9cfd3d90c6c3f1767\"\u003e\u003ccode\u003efd78213\u003c/code\u003e\u003c/a\u003e Update Documentation Infrastructure: Fix scrolling issue in user manual (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37861\"\u003e#37861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7758437128d1c52702786ad719a13ade1b860aa8\"\u003e\u003ccode\u003e7758437\u003c/code\u003e\u003c/a\u003e fix scroll\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2fd605fdcd69fea10570e9eb1343bbd7ca01c9d0\"\u003e\u003ccode\u003e2fd605f\u003c/code\u003e\u003c/a\u003e Only try to run as worker thread in DefaultBuildOperationQueue (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37845\"\u003e#37845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/af6984901238402386ae263d746380504e5f9138\"\u003e\u003ccode\u003eaf69849\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37853\"\u003e#37853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f4d9d03e9bb47d2d17b6d8314fdaa32c3d0b3c1e\"\u003e\u003ccode\u003ef4d9d03\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/01eda3adf40dbe97e81475e813705409dcfe1091\"\u003e\u003ccode\u003e01eda3a\u003c/code\u003e\u003c/a\u003e Address review feedback on worker-lease retry changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7024e15139b2db9df831dd15a8b9e9052acd9a51\"\u003e\u003ccode\u003e7024e15\u003c/code\u003e\u003c/a\u003e Revert enrich file visitor with size info on \u003ccode\u003erelease\u003c/code\u003e branch (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37848\"\u003e#37848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d51476fda21330c037a04b43ec9a93a929d05b87\"\u003e\u003ccode\u003ed51476f\u003c/code\u003e\u003c/a\u003e Fix tryRunAsWorkerThread null-return test to match contract\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/090ebabc5b6f648e01c0269a321d80372fdbfe0f\"\u003e\u003ccode\u003e090ebab\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add getLength() to FilePropertyVisitor.VisitState\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/bceab24677298144860f6919bdcb031e806dbf23\"\u003e\u003ccode\u003ebceab24\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix annotation\u0026quot;\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.0...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/Owemeone/grimmory/pull/40","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Owemeone%2Fgrimmory/issues/40","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/40/packages"}},{"old_version":"0.53.0","new_version":"0.54.0","update_type":"minor","path":null,"pr_created_at":"2026-05-21T01:10:13.000Z","version_change":"0.53.0 → 0.54.0","issue":{"uuid":"4490923096","node_id":"PR_kwDODf4ejs7dv_2n","number":60,"state":"closed","title":"build(deps): bump the gradle group across 1 directory with 32 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-23T07:07:49.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-21T01:10:13.000Z","updated_at":"2026-05-23T07:07:51.000Z","time_to_close":194256,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"gradle","update_count":32,"packages":[{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"commons-io:commons-io","old_version":"2.21.0","new_version":"2.22.0"},{"name":"com.fasterxml.jackson:jackson-bom","old_version":"2.21.2","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"org.flywaydb:flyway-core","old_version":"12.3.0","new_version":"12.6.1"},{"name":"org.flywaydb:flyway-database-hsqldb","old_version":"12.3.0","new_version":"12.6.1"},{"name":"org.xerial:sqlite-jdbc","old_version":"3.51.3.0","new_version":"3.53.1.0","repository_url":"https://github.com/xerial/sqlite-jdbc"},{"name":"org.graalvm.js:js-community","old_version":"25.0.2","new_version":"25.0.3","repository_url":"https://github.com/oracle/graal"},{"name":"org.graalvm.js:js-scriptengine","old_version":"25.0.2","new_version":"25.0.3","repository_url":"https://github.com/graalvm/graaljs"},{"name":"com.graphql-java:graphql-java","old_version":"25.0","new_version":"26.0","repository_url":"https://github.com/graphql-java/graphql-java"},{"name":"org.apache.groovy:groovy-all","old_version":"5.0.5","new_version":"5.0.6","repository_url":"https://github.com/apache/groovy"},{"name":"io.grpc:grpc-protobuf","old_version":"1.80.0","new_version":"1.81.0","repository_url":"https://github.com/grpc/grpc-java"},{"name":"com.drewnoakes:metadata-extractor","old_version":"2.19.0","new_version":"2.20.0","repository_url":"https://github.com/drewnoakes/metadata-extractor"},{"name":"dev.langchain4j:langchain4j","old_version":"1.12.2","new_version":"1.15.0","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"dev.langchain4j:langchain4j-azure-open-ai","old_version":"1.12.2","new_version":"1.15.0","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"dev.langchain4j:langchain4j-ollama","old_version":"1.12.2","new_version":"1.15.0","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"dev.langchain4j:langchain4j-open-ai","old_version":"1.12.2","new_version":"1.15.0","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"dev.langchain4j:langchain4j-google-ai-gemini","old_version":"1.12.2","new_version":"1.15.0","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"org.bouncycastle:bcmail-jdk18on","old_version":"1.83","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"org.bouncycastle:bcpkix-jdk18on","old_version":"1.83","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"org.bouncycastle:bcprov-jdk18on","old_version":"1.83","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"io.swagger:swagger-compat-spec-parser","old_version":"1.0.75","new_version":"1.0.76"},{"name":"io.swagger.parser.v3:swagger-parser","old_version":"2.1.39","new_version":"2.1.42","repository_url":"https://github.com/swagger-api/swagger-parser"},{"name":"org.thymeleaf:thymeleaf","old_version":"3.1.3.RELEASE","new_version":"3.1.5.RELEASE"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"4.0.7","new_version":"4.0.8"},{"name":"org.seleniumhq.selenium:selenium-java","old_version":"4.41.0","new_version":"4.44.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"com.sun.xml.messaging.saaj:saaj-impl","old_version":"3.0.4","new_version":"3.0.5"},{"name":"org.slf4j:jul-to-slf4j","old_version":"2.0.17","new_version":"2.0.18"},{"name":"org.junit.jupiter:junit-jupiter","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"com.github.weisj:jsvg","old_version":"2.0.0","new_version":"2.1.0","repository_url":"https://github.com/weisJ/jsvg"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"io.freefair.lombok","old_version":"9.2.0","new_version":"9.5.0","repository_url":"https://github.com/freefair/gradle-plugins"},{"name":"org.sonarqube","old_version":"7.2.3.7755","new_version":"7.3.0.8198"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle group with 32 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| commons-io:commons-io | `2.21.0` | `2.22.0` |\n| [com.fasterxml.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `2.21.2` | `2.21.3` |\n| org.flywaydb:flyway-core | `12.3.0` | `12.6.1` |\n| org.flywaydb:flyway-database-hsqldb | `12.3.0` | `12.6.1` |\n| [org.xerial:sqlite-jdbc](https://github.com/xerial/sqlite-jdbc) | `3.51.3.0` | `3.53.1.0` |\n| [org.graalvm.js:js-community](https://github.com/oracle/graal) | `25.0.2` | `25.0.3` |\n| [org.graalvm.js:js-scriptengine](https://github.com/graalvm/graaljs) | `25.0.2` | `25.0.3` |\n| [com.graphql-java:graphql-java](https://github.com/graphql-java/graphql-java) | `25.0` | `26.0` |\n| [org.apache.groovy:groovy-all](https://github.com/apache/groovy) | `5.0.5` | `5.0.6` |\n| [io.grpc:grpc-protobuf](https://github.com/grpc/grpc-java) | `1.80.0` | `1.81.0` |\n| [com.drewnoakes:metadata-extractor](https://github.com/drewnoakes/metadata-extractor) | `2.19.0` | `2.20.0` |\n| [dev.langchain4j:langchain4j](https://github.com/langchain4j/langchain4j) | `1.12.2` | `1.15.0` |\n| [dev.langchain4j:langchain4j-azure-open-ai](https://github.com/langchain4j/langchain4j) | `1.12.2` | `1.15.0` |\n| [dev.langchain4j:langchain4j-ollama](https://github.com/langchain4j/langchain4j) | `1.12.2` | `1.15.0` |\n| [dev.langchain4j:langchain4j-open-ai](https://github.com/langchain4j/langchain4j) | `1.12.2` | `1.15.0` |\n| [dev.langchain4j:langchain4j-google-ai-gemini](https://github.com/langchain4j/langchain4j) | `1.12.2` | `1.15.0` |\n| [org.bouncycastle:bcmail-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |\n| [org.bouncycastle:bcpkix-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |\n| [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |\n| io.swagger:swagger-compat-spec-parser | `1.0.75` | `1.0.76` |\n| [io.swagger.parser.v3:swagger-parser](https://github.com/swagger-api/swagger-parser) | `2.1.39` | `2.1.42` |\n| org.thymeleaf:thymeleaf | `3.1.3.RELEASE` | `3.1.5.RELEASE` |\n| org.glassfish.jaxb:jaxb-runtime | `4.0.7` | `4.0.8` |\n| [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) | `4.41.0` | `4.44.0` |\n| com.sun.xml.messaging.saaj:saaj-impl | `3.0.4` | `3.0.5` |\n| org.slf4j:jul-to-slf4j | `2.0.17` | `2.0.18` |\n| [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\n| [com.github.weisj:jsvg](https://github.com/weisJ/jsvg) | `2.0.0` | `2.1.0` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| [io.freefair.lombok](https://github.com/freefair/gradle-plugins) | `9.2.0` | `9.5.0` |\n| org.sonarqube | `7.2.3.7755` | `7.3.0.8198` |\n\n\nUpdates `org.jsoup:jsoup` from 1.22.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.22.1...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `commons-io:commons-io` from 2.21.0 to 2.22.0\n\nUpdates `com.fasterxml.jackson:jackson-bom` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/374fbd08ee91a6c91626bae1d6497df21c89b541\"\u003e\u003ccode\u003e374fbd0\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/7059df78cc36832349acad026169ff890f4c718c\"\u003e\u003ccode\u003e7059df7\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/2fd60bdab3228f6b99dce81326d9fd7eaf587401\"\u003e\u003ccode\u003e2fd60bd\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/b82a3640491f66be2e56bef377b5002cd9d1567b\"\u003e\u003ccode\u003eb82a364\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ef4e013e95fc64583b0a414711648a84fc50be46\"\u003e\u003ccode\u003eef4e013\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/536ae51c1db9dfbfc8dda697ccfd6545cf626d2b\"\u003e\u003ccode\u003e536ae51\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/536c5339035643fdca46ddd947f253afd072f764\"\u003e\u003ccode\u003e536c533\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/426b778e5ea490d164e572a63319c7cf2f362f2f\"\u003e\u003ccode\u003e426b778\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-2.18.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/a73cda9be3e57f29c53fea748f1f867eaa1457ab\"\u003e\u003ccode\u003ea73cda9\u003c/code\u003e\u003c/a\u003e Prep for 2.18.7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/76b4a05087a9e42eb1b26f59d5b7028b0496da5e\"\u003e\u003ccode\u003e76b4a05\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-2.21.2...jackson-bom-2.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb:flyway-core` from 12.3.0 to 12.6.1\n\nUpdates `org.flywaydb:flyway-database-hsqldb` from 12.3.0 to 12.6.1\n\nUpdates `org.flywaydb:flyway-database-hsqldb` from 12.3.0 to 12.6.1\n\nUpdates `org.xerial:sqlite-jdbc` from 3.51.3.0 to 3.53.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/xerial/sqlite-jdbc/releases\"\u003eorg.xerial:sqlite-jdbc's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 3.53.1.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003esqlite\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eupgrade to sqlite 3.53.1 (\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commits/8263322\"\u003e8263322\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔄️ Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003erewrite amalgamation_version.sh for POSIX shell (\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commits/52522d0\"\u003e52522d0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix android usage (\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commits/7ef8e0f\"\u003e7ef8e0f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump gummy-bears-api-24 to 0.14.0 (\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commits/a28d6ce\"\u003ea28d6ce\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gummy-bears-api-24 to 0.13.0 (\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commits/248e1e9\"\u003e248e1e9\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003edeps-dev\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump org.jreleaser:jreleaser-maven-plugin (\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commits/396fdf3\"\u003e396fdf3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.tngtech.archunit:archunit-junit5 (\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commits/458abe1\"\u003e458abe1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003econditionally bootstrap SLF4J API JAR (\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commits/bc7d223\"\u003ebc7d223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emake JAVA_CLASSPATH configurable (\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commits/5aa7426\"\u003e5aa7426\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Gauthier Roebroeck, Michael Osipov\u003c/p\u003e\n\u003ch2\u003eRelease 3.53.0.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejdbc\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eexpose wal_autocheckpoint pragma in SQLiteConfig (\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commits/dd2adcc\"\u003edd2adcc\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/xerial/sqlite-jdbc/issues/1397\"\u003e#1397\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003esqlite\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eupgrade to sqlite 3.53.0 (\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commits/baaf087\"\u003ebaaf087\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003epublish multiple classifer jars (\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commits/bdd2b64\"\u003ebdd2b64\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/xerial/sqlite-jdbc/issues/1273\"\u003e#1273\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebetter Android support (\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commits/7eb6f3f\"\u003e7eb6f3f\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/xerial/sqlite-jdbc/issues/1378\"\u003e#1378\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump org.sonatype.central:central-publishing-maven-plugin (\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commits/19259e5\"\u003e19259e5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commits/f572217\"\u003ef572217\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003edeps-dev\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commit/b01674f0bffc45b4c213dd873867e64b9194104b\"\u003e\u003ccode\u003eb01674f\u003c/code\u003e\u003c/a\u003e chore(release): 3.53.1.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commit/e6719db995a1fee385f0421cee1eaf78e3587013\"\u003e\u003ccode\u003ee6719db\u003c/code\u003e\u003c/a\u003e chore: update native libraries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commit/826332265f8f1069faeb4a61761a8651efaefb0c\"\u003e\u003ccode\u003e8263322\u003c/code\u003e\u003c/a\u003e feat(sqlite): upgrade to sqlite 3.53.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commit/396fdf30d850ca78dad59bccaafae25c1e86998a\"\u003e\u003ccode\u003e396fdf3\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump org.jreleaser:jreleaser-maven-plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commit/bc7d22394987d5c84706c844f0b95c7856e3f294\"\u003e\u003ccode\u003ebc7d223\u003c/code\u003e\u003c/a\u003e build: conditionally bootstrap SLF4J API JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commit/4cd221a72480a681f91f78f9d8a99372daf423ce\"\u003e\u003ccode\u003e4cd221a\u003c/code\u003e\u003c/a\u003e chore: remove execute bit on non-executable files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commit/5aa74267e6a01c071ec88d1882de8aeec0d8d22a\"\u003e\u003ccode\u003e5aa7426\u003c/code\u003e\u003c/a\u003e build: make JAVA_CLASSPATH configurable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commit/52522d02ee5cffa8f283054d8bf5a5165206caac\"\u003e\u003ccode\u003e52522d0\u003c/code\u003e\u003c/a\u003e refactor: rewrite amalgamation_version.sh for POSIX shell\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commit/a28d6cef66da00f8559445dfacd9f34a871509d6\"\u003e\u003ccode\u003ea28d6ce\u003c/code\u003e\u003c/a\u003e build(deps): bump gummy-bears-api-24 to 0.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xerial/sqlite-jdbc/commit/458abe135cad6e20f00504418a09946c81c8dbd7\"\u003e\u003ccode\u003e458abe1\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump com.tngtech.archunit:archunit-junit5\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/xerial/sqlite-jdbc/compare/3.51.3.0...3.53.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.graalvm.js:js-community` from 25.0.2 to 25.0.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/oracle/graal/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.graalvm.js:js-scriptengine` from 25.0.2 to 25.0.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oracle/graaljs/blob/vm-25.0.3/CHANGELOG.md\"\u003eorg.graalvm.js:js-scriptengine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 25.0.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Node.js to version 22.22.0.\u003c/li\u003e\n\u003cli\u003eLimited Chrome inspector remote debugging to localhost.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 25.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eECMAScript 2025 mode/features enabled by default.\u003c/li\u003e\n\u003cli\u003eUpdated Node.js to version 22.17.1.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-intl-duration-format\"\u003e\u003ccode\u003eIntl.DurationFormat\u003c/code\u003e\u003c/a\u003e proposal.\u003c/li\u003e\n\u003cli\u003eMade option \u003ccode\u003ejs.text-encoding\u003c/code\u003e stable and allowed in \u003ccode\u003eSandboxPolicy.CONSTRAINED\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-defer-import-eval\"\u003e\u003ccode\u003eimport defer\u003c/code\u003e\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-upsert\"\u003e\u003ccode\u003eUpsert\u003c/code\u003e\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eEnabled source phase imports from WebAssembly modules (\u003ccode\u003eimport source mod from \u0026quot;./mod.wasm\u0026quot;\u003c/code\u003e) by default if the \u003ccode\u003ejs.webassembly\u003c/code\u003e option is enabled and the \u003ccode\u003ejs.source-phase-imports\u003c/code\u003e option is not explicitly set to \u003ccode\u003efalse\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 24.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Node.js to version 22.13.1.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-is-error\"\u003e\u003ccode\u003eError.isError\u003c/code\u003e\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-math-sum\"\u003e\u003ccode\u003eMath.sumPrecise\u003c/code\u003e\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-promise-try\"\u003e\u003ccode\u003ePromise.try\u003c/code\u003e\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-atomics-microwait\"\u003e\u003ccode\u003eAtomics.pause\u003c/code\u003e\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-arraybuffer-base64\"\u003eUint8Array to/from base64 and hex\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-source-phase-imports\"\u003eSource Phase Imports\u003c/a\u003e proposal. It is available behind the experimental option (\u003ccode\u003e--js.source-phase-imports\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/WebAssembly/esm-integration\"\u003eWebAssembly/ES Module Integration\u003c/a\u003e proposal, allowing \u003ccode\u003e.wasm\u003c/code\u003e modules to be loaded via \u003ccode\u003eimport\u003c/code\u003e statements.\u003c/li\u003e\n\u003cli\u003eImplemented basic Worker API (resembling the API available in \u003ccode\u003ed8\u003c/code\u003e). It is available behind the experimental option \u003ccode\u003e--js.worker\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded option \u003ccode\u003ejs.stack-trace-api\u003c/code\u003e that enables/disables \u003ccode\u003eError.captureStackTrace\u003c/code\u003e, \u003ccode\u003eError.prepareStackTrace\u003c/code\u003e and \u003ccode\u003eError.stackTraceLimit\u003c/code\u003e. These non-standard extensions are disabled by default (unless \u003ccode\u003ejs.v8-compat\u003c/code\u003e or \u003ccode\u003ejs.nashorn-compat\u003c/code\u003e is used).\u003c/li\u003e\n\u003cli\u003eMade option \u003ccode\u003ejs.webassembly\u003c/code\u003e stable.\u003c/li\u003e\n\u003cli\u003eMade options \u003ccode\u003ejs.load\u003c/code\u003e, \u003ccode\u003ejs.print\u003c/code\u003e, and \u003ccode\u003ejs.graal-builtin\u003c/code\u003e stable and allowed in \u003ccode\u003eSandboxPolicy.UNTRUSTED\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eMade option \u003ccode\u003ejs.locale\u003c/code\u003e stable and allowed in \u003ccode\u003eSandboxPolicy.UNTRUSTED\u003c/code\u003e. Its value, if non-empty, must be a well-formed Unicode BCP 47 locale identifier and is now validated.\u003c/li\u003e\n\u003cli\u003eAdded an experimental \u003ccode\u003ejava.util.concurrent.Executor\u003c/code\u003e that can be used to post tasks into the event loop thread in \u003ccode\u003egraal-nodejs\u003c/code\u003e. It is available as \u003ccode\u003erequire('node:graal').eventLoopExecutor\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ccode\u003eTextDecoder\u003c/code\u003e and \u003ccode\u003eTextEncoder\u003c/code\u003e APIs of the \u003ca href=\"https://encoding.spec.whatwg.org/\"\u003eWHATWG Encoding Standard\u003c/a\u003e. They are available behind the experimental option (\u003ccode\u003e--js.text-encoding\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-regex-escaping\"\u003e\u003ccode\u003eRegExp.escape\u003c/code\u003e\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-regexp-modifiers\"\u003eRegular Expression Pattern Modifiers\u003c/a\u003e proposal.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-iterator-sequencing\"\u003eIterator Sequencing\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 24.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eECMAScript 2024 mode/features enabled by default.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-redeclarable-global-eval-vars\"\u003eMake eval-introduced global vars redeclarable\u003c/a\u003e proposal.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-float16array\"\u003eFloat16Array\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-array-from-async\"\u003eArray.fromAsync\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-resizablearraybuffer\"\u003eResizable and Growable ArrayBuffers\u003c/a\u003e proposal.\u003c/li\u003e\n\u003cli\u003eUpdated Node.js to version 20.13.1.\u003c/li\u003e\n\u003cli\u003eMade option \u003ccode\u003ejs.esm-eval-returns-exports\u003c/code\u003e stable and allowed in \u003ccode\u003eSandboxPolicy.UNTRUSTED\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 24.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/WebAssembly/threads\"\u003eWebAssembly threads\u003c/a\u003e proposal.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-promise-with-resolvers\"\u003ePromise.withResolvers\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplementation of \u003ca href=\"https://github.com/tc39/proposal-async-iterator-helpers\"\u003eAsync Iterator Helpers\u003c/a\u003e proposal (that was split out from Iterator Helpers proposal) was moved behind the experimental option \u003ccode\u003e--js.async-iterator-helpers\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-is-usv-string\"\u003eWell-Formed Unicode Strings\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-json-parse-with-source\"\u003eJSON.parse source text access\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eUpdated Node.js to version 18.18.2.\u003c/li\u003e\n\u003cli\u003eWebAssembly support in Node.js has been enabled by default. It can be disabled using the experimental option \u003ccode\u003e--js.webassembly=false\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/eba5be12437ddf85b56b6d50180ce93e6769f72b\"\u003e\u003ccode\u003eeba5be1\u003c/code\u003e\u003c/a\u003e release GraalVM 25.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/8df2eb01cb3db4a30762d4bf42d206048f251242\"\u003e\u003ccode\u003e8df2eb0\u003c/code\u003e\u003c/a\u003e [GR-74224] Backport to 25.0: Restrict Chrome Inspector to localhost.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/af7f1c39a9e4ec97b7566467751eac01a2052e5e\"\u003e\u003ccode\u003eaf7f1c3\u003c/code\u003e\u003c/a\u003e [GR-73523] Backport to 25.0: Fix PE bailout in eval().\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/768265bdcffb8e3f68f76fc072b286263daff706\"\u003e\u003ccode\u003e768265b\u003c/code\u003e\u003c/a\u003e Run basic smoke tests in the gate.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/3a36e8d60d2662fe0f940a5e95b100bd262225c0\"\u003e\u003ccode\u003e3a36e8d\u003c/code\u003e\u003c/a\u003e Restrict Chrome Inspector to localhost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/131723667b91e4a6d4a454775768332c4d2996d7\"\u003e\u003ccode\u003e1317236\u003c/code\u003e\u003c/a\u003e Add regression test for eval() compilation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/f4583082cb7e3214bcc348d8826f2f78e95952ba\"\u003e\u003ccode\u003ef458308\u003c/code\u003e\u003c/a\u003e ScriptNode.runEval should create function object behind a TruffleBoundary.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/45949a471dc38a93dc07db5b3ce9a3f15dc1e95a\"\u003e\u003ccode\u003e45949a4\u003c/code\u003e\u003c/a\u003e [GR-72571] Backport to 25.0: Transient aux-engine-cache test failure.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/6e789095b2500bc40245b393ff29a56b790dfc1b\"\u003e\u003ccode\u003e6e78909\u003c/code\u003e\u003c/a\u003e Work around transient aux-engine-cache test failure due to speculative optimi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/bae1c8504b284238aa1f3140abddbb2592d7b82a\"\u003e\u003ccode\u003ebae1c85\u003c/code\u003e\u003c/a\u003e [GR-72939] Backport to 25.0.3: Upgrading Node.js version used by graal-nodejs...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/graalvm/graaljs/compare/vm-25.0.2...vm-25.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.graalvm.js:js-scriptengine` from 25.0.2 to 25.0.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oracle/graaljs/blob/vm-25.0.3/CHANGELOG.md\"\u003eorg.graalvm.js:js-scriptengine's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 25.0.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Node.js to version 22.22.0.\u003c/li\u003e\n\u003cli\u003eLimited Chrome inspector remote debugging to localhost.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 25.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eECMAScript 2025 mode/features enabled by default.\u003c/li\u003e\n\u003cli\u003eUpdated Node.js to version 22.17.1.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-intl-duration-format\"\u003e\u003ccode\u003eIntl.DurationFormat\u003c/code\u003e\u003c/a\u003e proposal.\u003c/li\u003e\n\u003cli\u003eMade option \u003ccode\u003ejs.text-encoding\u003c/code\u003e stable and allowed in \u003ccode\u003eSandboxPolicy.CONSTRAINED\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-defer-import-eval\"\u003e\u003ccode\u003eimport defer\u003c/code\u003e\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-upsert\"\u003e\u003ccode\u003eUpsert\u003c/code\u003e\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eEnabled source phase imports from WebAssembly modules (\u003ccode\u003eimport source mod from \u0026quot;./mod.wasm\u0026quot;\u003c/code\u003e) by default if the \u003ccode\u003ejs.webassembly\u003c/code\u003e option is enabled and the \u003ccode\u003ejs.source-phase-imports\u003c/code\u003e option is not explicitly set to \u003ccode\u003efalse\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 24.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Node.js to version 22.13.1.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-is-error\"\u003e\u003ccode\u003eError.isError\u003c/code\u003e\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-math-sum\"\u003e\u003ccode\u003eMath.sumPrecise\u003c/code\u003e\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-promise-try\"\u003e\u003ccode\u003ePromise.try\u003c/code\u003e\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-atomics-microwait\"\u003e\u003ccode\u003eAtomics.pause\u003c/code\u003e\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-arraybuffer-base64\"\u003eUint8Array to/from base64 and hex\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-source-phase-imports\"\u003eSource Phase Imports\u003c/a\u003e proposal. It is available behind the experimental option (\u003ccode\u003e--js.source-phase-imports\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/WebAssembly/esm-integration\"\u003eWebAssembly/ES Module Integration\u003c/a\u003e proposal, allowing \u003ccode\u003e.wasm\u003c/code\u003e modules to be loaded via \u003ccode\u003eimport\u003c/code\u003e statements.\u003c/li\u003e\n\u003cli\u003eImplemented basic Worker API (resembling the API available in \u003ccode\u003ed8\u003c/code\u003e). It is available behind the experimental option \u003ccode\u003e--js.worker\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded option \u003ccode\u003ejs.stack-trace-api\u003c/code\u003e that enables/disables \u003ccode\u003eError.captureStackTrace\u003c/code\u003e, \u003ccode\u003eError.prepareStackTrace\u003c/code\u003e and \u003ccode\u003eError.stackTraceLimit\u003c/code\u003e. These non-standard extensions are disabled by default (unless \u003ccode\u003ejs.v8-compat\u003c/code\u003e or \u003ccode\u003ejs.nashorn-compat\u003c/code\u003e is used).\u003c/li\u003e\n\u003cli\u003eMade option \u003ccode\u003ejs.webassembly\u003c/code\u003e stable.\u003c/li\u003e\n\u003cli\u003eMade options \u003ccode\u003ejs.load\u003c/code\u003e, \u003ccode\u003ejs.print\u003c/code\u003e, and \u003ccode\u003ejs.graal-builtin\u003c/code\u003e stable and allowed in \u003ccode\u003eSandboxPolicy.UNTRUSTED\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eMade option \u003ccode\u003ejs.locale\u003c/code\u003e stable and allowed in \u003ccode\u003eSandboxPolicy.UNTRUSTED\u003c/code\u003e. Its value, if non-empty, must be a well-formed Unicode BCP 47 locale identifier and is now validated.\u003c/li\u003e\n\u003cli\u003eAdded an experimental \u003ccode\u003ejava.util.concurrent.Executor\u003c/code\u003e that can be used to post tasks into the event loop thread in \u003ccode\u003egraal-nodejs\u003c/code\u003e. It is available as \u003ccode\u003erequire('node:graal').eventLoopExecutor\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ccode\u003eTextDecoder\u003c/code\u003e and \u003ccode\u003eTextEncoder\u003c/code\u003e APIs of the \u003ca href=\"https://encoding.spec.whatwg.org/\"\u003eWHATWG Encoding Standard\u003c/a\u003e. They are available behind the experimental option (\u003ccode\u003e--js.text-encoding\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-regex-escaping\"\u003e\u003ccode\u003eRegExp.escape\u003c/code\u003e\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-regexp-modifiers\"\u003eRegular Expression Pattern Modifiers\u003c/a\u003e proposal.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-iterator-sequencing\"\u003eIterator Sequencing\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 24.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eECMAScript 2024 mode/features enabled by default.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-redeclarable-global-eval-vars\"\u003eMake eval-introduced global vars redeclarable\u003c/a\u003e proposal.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-float16array\"\u003eFloat16Array\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-array-from-async\"\u003eArray.fromAsync\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-resizablearraybuffer\"\u003eResizable and Growable ArrayBuffers\u003c/a\u003e proposal.\u003c/li\u003e\n\u003cli\u003eUpdated Node.js to version 20.13.1.\u003c/li\u003e\n\u003cli\u003eMade option \u003ccode\u003ejs.esm-eval-returns-exports\u003c/code\u003e stable and allowed in \u003ccode\u003eSandboxPolicy.UNTRUSTED\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 24.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/WebAssembly/threads\"\u003eWebAssembly threads\u003c/a\u003e proposal.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-promise-with-resolvers\"\u003ePromise.withResolvers\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplementation of \u003ca href=\"https://github.com/tc39/proposal-async-iterator-helpers\"\u003eAsync Iterator Helpers\u003c/a\u003e proposal (that was split out from Iterator Helpers proposal) was moved behind the experimental option \u003ccode\u003e--js.async-iterator-helpers\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-is-usv-string\"\u003eWell-Formed Unicode Strings\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eImplemented the \u003ca href=\"https://github.com/tc39/proposal-json-parse-with-source\"\u003eJSON.parse source text access\u003c/a\u003e proposal. It is available in ECMAScript staging mode (\u003ccode\u003e--js.ecmascript-version=staging\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eUpdated Node.js to version 18.18.2.\u003c/li\u003e\n\u003cli\u003eWebAssembly support in Node.js has been enabled by default. It can be disabled using the experimental option \u003ccode\u003e--js.webassembly=false\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/eba5be12437ddf85b56b6d50180ce93e6769f72b\"\u003e\u003ccode\u003eeba5be1\u003c/code\u003e\u003c/a\u003e release GraalVM 25.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/8df2eb01cb3db4a30762d4bf42d206048f251242\"\u003e\u003ccode\u003e8df2eb0\u003c/code\u003e\u003c/a\u003e [GR-74224] Backport to 25.0: Restrict Chrome Inspector to localhost.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/af7f1c39a9e4ec97b7566467751eac01a2052e5e\"\u003e\u003ccode\u003eaf7f1c3\u003c/code\u003e\u003c/a\u003e [GR-73523] Backport to 25.0: Fix PE bailout in eval().\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/768265bdcffb8e3f68f76fc072b286263daff706\"\u003e\u003ccode\u003e768265b\u003c/code\u003e\u003c/a\u003e Run basic smoke tests in the gate.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/3a36e8d60d2662fe0f940a5e95b100bd262225c0\"\u003e\u003ccode\u003e3a36e8d\u003c/code\u003e\u003c/a\u003e Restrict Chrome Inspector to localhost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/131723667b91e4a6d4a454775768332c4d2996d7\"\u003e\u003ccode\u003e1317236\u003c/code\u003e\u003c/a\u003e Add regression test for eval() compilation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/f4583082cb7e3214bcc348d8826f2f78e95952ba\"\u003e\u003ccode\u003ef458308\u003c/code\u003e\u003c/a\u003e ScriptNode.runEval should create function object behind a TruffleBoundary.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/45949a471dc38a93dc07db5b3ce9a3f15dc1e95a\"\u003e\u003ccode\u003e45949a4\u003c/code\u003e\u003c/a\u003e [GR-72571] Backport to 25.0: Transient aux-engine-cache test failure.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/6e789095b2500bc40245b393ff29a56b790dfc1b\"\u003e\u003ccode\u003e6e78909\u003c/code\u003e\u003c/a\u003e Work around transient aux-engine-cache test failure due to speculative optimi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oracle/graaljs/commit/bae1c8504b284238aa1f3140abddbb2592d7b82a\"\u003e\u003ccode\u003ebae1c85\u003c/code\u003e\u003c/a\u003e [GR-72939] Backport to 25.0.3: Upgrading Node.js version used by graal-nodejs...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/graalvm/graaljs/compare/vm-25.0.2...vm-25.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.graphql-java:graphql-java` from 25.0 to 26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/graphql-java/graphql-java/releases\"\u003ecom.graphql-java:graphql-java's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e26.0\u003c/h2\u003e\n\u003cp\u003eThis is the 26.0 release of graphql-java. Highlights are summarized below; the full list of merged PRs is at the end.\u003c/p\u003e\n\u003ch2\u003e⚠️ Breaking Changes\u003c/h2\u003e\n\u003ch3\u003eQuery complexity limits are now enforced by default\u003c/h3\u003e\n\u003cp\u003eNew \u003ccode\u003eQueryComplexityLimits\u003c/code\u003e validation checks \u003ccode\u003emaxDepth\u003c/code\u003e (default \u003cstrong\u003e100\u003c/strong\u003e) and \u003ccode\u003emaxFieldsCount\u003c/code\u003e (default \u003cstrong\u003e100,000\u003c/strong\u003e) as part of standard validation. Queries exceeding these limits will now fail with new \u003ccode\u003eMaxQueryDepthExceeded\u003c/code\u003e / \u003ccode\u003eMaxQueryFieldsExceeded\u003c/code\u003e validation errors.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSet custom limits via \u003ccode\u003eGraphQLContext\u003c/code\u003e using \u003ccode\u003eQueryComplexityLimits.KEY\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eDisable entirely with \u003ccode\u003eQueryComplexityLimits.NONE\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIntroduced in \u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4256\"\u003e#4256\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eValidation rule filtering API changed\u003c/h3\u003e\n\u003cp\u003eIn \u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4228\"\u003e#4228\u003c/a\u003e the rule-filter predicate changed from \u003ccode\u003ePredicate\u0026lt;Class\u0026lt;?\u0026gt;\u0026gt;\u003c/code\u003e to \u003ccode\u003ePredicate\u0026lt;OperationValidationRule\u0026gt;\u003c/code\u003e in \u003ccode\u003eValidator.validateDocument(...)\u003c/code\u003e and \u003ccode\u003eParseAndValidate.parseAndValidate(...)\u003c/code\u003e. Callers that filtered by class (e.g. \u003ccode\u003erule -\u0026gt; rule != NoUnusedFragments.class\u003c/code\u003e) must migrate to the enum (\u003ccode\u003erule -\u0026gt; rule != OperationValidationRule.NO_UNUSED_FRAGMENTS\u003c/code\u003e). The \u003ccode\u003e@Internal\u003c/code\u003e classes \u003ccode\u003eAbstractRule\u003c/code\u003e and \u003ccode\u003eRulesVisitor\u003c/code\u003e were removed.\u003c/p\u003e\n\u003ch3\u003eBuilt-in directive handling consolidated (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4229\"\u003e#4229\u003c/a\u003e)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDirectiveInfo\u003c/code\u003e was removed. Replace usages:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDirectiveInfo.isGraphqlSpecifiedDirective(...)\u003c/code\u003e → \u003ccode\u003eDirectives.isBuiltInDirective(...)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eDirectiveInfo.GRAPHQL_SPECIFICATION_DIRECTIVES\u003c/code\u003e → \u003ccode\u003eDirectives.BUILT_IN_DIRECTIVES\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eDirectiveInfo.GRAPHQL_SPECIFICATION_DIRECTIVE_MAP\u003c/code\u003e → \u003ccode\u003eDirectives.BUILT_IN_DIRECTIVES_MAP\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDirective ordering is now consistent: all 7 built-in directives appear first, followed by user-defined directives.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eGraphQLSchema.Builder.clearDirectives()\u003c/code\u003e was initially removed then re-added in \u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4276\"\u003e#4276\u003c/a\u003e with new semantics — it clears all \u003ccode\u003eadditionalDirectives\u003c/code\u003e, but built-in directives are always re-added automatically at build time.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOneOf inhabitability validation (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4248\"\u003e#4248\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eNew validator rejects OneOf input types that cannot be populated with a finite value (e.g. \u003ccode\u003einput A @oneOf { a: A }\u003c/code\u003e). Schemas that previously validated may now be rejected.\u003c/p\u003e\n\u003ch3\u003eNon-null field validation for code-built schemas (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4194\"\u003e#4194\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eCode-built schemas now perform the same deprecated-on-non-null field validation as SDL-built ones. Schemas relying on the gap may now fail validation.\u003c/p\u003e\n\u003ch3\u003e\u003ccode\u003eGraphQLSchema.getCodeRegistry()\u003c/code\u003e is no longer \u003ccode\u003e@Nullable\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4247\"\u003e#4247\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eThe return type was incorrectly annotated nullable. Callers may now drop redundant null checks; downstream nullness tooling will reflect the change.\u003c/p\u003e\n\u003ch3\u003eJSpecify nullability annotations rolled out broadly\u003c/h3\u003e\n\u003cp\u003eWaves 2 and 3 (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4184\"\u003e#4184\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4274\"\u003e#4274\u003c/a\u003e) plus many individual PRs annotated hundreds of classes across \u003ccode\u003egraphql.analysis\u003c/code\u003e, \u003ccode\u003egraphql.execution\u003c/code\u003e, \u003ccode\u003egraphql.language\u003c/code\u003e, \u003ccode\u003egraphql.schema\u003c/code\u003e and others with \u003ccode\u003e@NullMarked\u003c/code\u003e/\u003ccode\u003e@NullUnmarked\u003c/code\u003e/\u003ccode\u003e@Nullable\u003c/code\u003e. Kotlin and other null-aware callers will now see stricter nullability contracts; code that relied on previously-permissive signatures may need adjustment.\u003c/p\u003e\n\u003ch2\u003e✨ New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eGraphQLSchema.FastBuilder\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4197\"\u003e#4197\u003c/a\u003e) — a more restrictive but \u003cstrong\u003e~5× faster\u003c/strong\u003e schema builder that reduces both time and memory for large schemas.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eQuery complexity limits\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4256\"\u003e#4256\u003c/a\u003e) — depth/field-count guardrails baked into validation (see breaking changes above for the enforcement side).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eQueryAppliedDirective\u003c/code\u003e on operations and documents\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4297\"\u003e#4297\u003c/a\u003e) — directives applied at the operation/document level are now exposed as \u003ccode\u003eQueryAppliedDirective\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNew instrumentation hook for post-exception-handling results\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4206\"\u003e#4206\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4207\"\u003e#4207\u003c/a\u003e) — observe the \u003ccode\u003eDataFetcherResult\u003c/code\u003e after \u003ccode\u003eDataFetcherExceptionHandler\u003c/code\u003e has mapped exceptions to errors. \u003ccode\u003eChainedInstrumentation\u003c/code\u003e delegates the new hook correctly.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eGeneric \u003ccode\u003eDataFetcherResult.newBuilder(T data)\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4254\"\u003e#4254\u003c/a\u003e) — removes the need for explicit type witnesses on the common \u003ccode\u003eDataFetcherResult.\u0026lt;T\u0026gt;newResult().data(x)...\u003c/code\u003e pattern.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRe-added \u003ccode\u003eGraphQLSchema.Builder.clearDirectives()\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4276\"\u003e#4276\u003c/a\u003e) — useful with \u003ccode\u003eGraphQLSchema.transform\u003c/code\u003e to rewrite non-built-in directives; built-ins are always re-added.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003etoString()\u003c/code\u003e on AST directives holders\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4195\"\u003e#4195\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⚡ Performance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eIncremental \u003ccode\u003e@defer\u003c/code\u003e execution starts earlier\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4174\"\u003e#4174\u003c/a\u003e) — begins processing deferred payloads as soon as the first incremental call is detected instead of waiting for the initial result to complete.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eValidation consolidation\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4228\"\u003e#4228\u003c/a\u003e) — all operation validation rules run in a single \u003ccode\u003eOperationValidator\u003c/code\u003e pass, significantly cutting validation overhead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/graphql-java/graphql-java/commit/86afa76971b94b7887c1c3b0e5afa996ef46805b\"\u003e\u003ccode\u003e86afa76\u003c/code\u003e\u003c/a\u003e Update test baseline [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/graphql-java/graphql-java/commit/95f49d95945b34ca45e9e1cc23ce1368309632fc\"\u003e\u003ccode\u003e95f49d9\u003c/code\u003e\u003c/a\u003e Bump JaCoCo to 0.8.14 for Java 25 class file support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/graphql-java/graphql-java/commit/3af0c5cc61331ade2787bb3a0891e19750357345\"\u003e\u003ccode\u003e3af0c5c\u003c/code\u003e\u003c/a\u003e Update test baseline [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/graphql-java/graphql-java/commit/a6cc631e328d7d01ea261aa21d9225294adfd155\"\u003e\u003ccode\u003ea6cc631\u003c/code\u003e\u003c/a\u003e JSpecify big wave 3 (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4274\"\u003e#4274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/graphql-java/graphql-java/commit/d26e4d61dfa90f092b36e0756bfae31655d17751\"\u003e\u003ccode\u003ed26e4d6\u003c/code\u003e\u003c/a\u003e Update test baseline [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/graphql-java/graphql-java/commit/c86eb07d9d99be6f15e1caeb7958be109cdd6ef8\"\u003e\u003ccode\u003ec86eb07\u003c/code\u003e\u003c/a\u003e Add JSpecify annotations to 10 language package classes (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4219\"\u003e#4219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/graphql-java/graphql-java/commit/b1543882a65b1af4207c0a0626b04ae797c3a2bb\"\u003e\u003ccode\u003eb154388\u003c/code\u003e\u003c/a\u003e Update test baseline [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/graphql-java/graphql-java/commit/aafbbd54f0591cc1c34de9c7d8451aff09bb4b8f\"\u003e\u003ccode\u003eaafbbd5\u003c/code\u003e\u003c/a\u003e Add JSpecify annotations to 10 language package classes (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4218\"\u003e#4218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/graphql-java/graphql-java/commit/3e15aed1209b59e71bedf8ad6e3e46ba5b28a177\"\u003e\u003ccode\u003e3e15aed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4359\"\u003e#4359\u003c/a\u003e from graphql-java/dependabot/github_actions/actions/...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/graphql-java/graphql-java/commit/e0ca0613e1c15a7a6c4d012e1ebba37e091ac682\"\u003e\u003ccode\u003ee0ca061\u003c/code\u003e\u003c/a\u003e Bump org.apache.groovy:groovy from 5.0.4 to 5.0.5 (\u003ca href=\"https://redirect.github.com/graphql-java/graphql-java/issues/4363\"\u003e#4363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/graphql-java/graphql-java/compare/v25.0...v26.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.groovy:groovy-all` from 5.0.5 to 5.0.6\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/apache/groovy/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.grpc:grpc-protobuf` from 1.80.0 to 1.81.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/grpc/grpc-java/releases\"\u003eio.grpc:grpc-protobuf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eV1.81.0\u003c/h2\u003e\n\u003cp\u003eIn this release we drop support for Android API level 22 or lower (Lollipop or earlier), following Google Play Service’s \u003ca href=\"https://developers.google.com/android/guides/setup\"\u003ediscontinued updates for Lollipop (API levels 21 \u0026amp; 22)\u003c/a\u003e and now requires a minimum of API level 23 (Android 6.0 Marshmallow).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAPI Changes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eapi: Deprecate LoadBalancer.handleResolvedAddresses(). Developers maintaining custom LoadBalancer implementations should transition to using LoadBalancer.acceptResolvedAddresses(). Unlike the deprecated method, acceptResolvedAddresses() returns a Status object, allowing the load balancer to explicitly report success or reject the update if the provided addresses or configuration are invalid. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/11623\"\u003e#11623\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBehavior Changes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ecore: Enable dns \u0026quot;caching\u0026quot; on Android for 30 seconds to reduce CPU impact of a refresh loop with an LB policy (0675f70af). DnsNameResolver ignores re-resolution requests on OpenJDK-like platforms if it has been too soon since the last DNS query because InetAddress.getAllByName() has a cache with a fixed entry lifetime, but this logic was disabled for Android which does not have that style of cache. Android’s cache uses the result TTL, which will rarely be less than 30 seconds. This change would probably be most noticeable when 1) changing to a different network (e.g., from wifi to mobile), 2) the server has different addresses for different networks, and 3) the app is not using AndroidChannelBuilder with an \u003ccode\u003eandroid.context.Context\u003c/code\u003e. For reference, it seems Chrome caches for 1 minute\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug Fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eopentelemetry: Fix baggage propagation, the baggage propagation for opentelemetry introduced in \u003ca href=\"https://redirect.github.com/grpc/grpc-java/pull/12389\"\u003e#12389\u003c/a\u003e was broken. The context is decided once and used for all recording for the call, thus guaranteeing all record()s have consistent information.\u003c/li\u003e\n\u003cli\u003ecore: Address a race condition where \u003ccode\u003eManagedChannelOrphanWrapper\u003c/code\u003e could incorrectly log a \u0026quot;not shutdown properly\u0026quot; warning during garbage collection when using directExecutor(). (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12705\"\u003e#12705\u003c/a\u003e) (d459338d9)\u003c/li\u003e\n\u003cli\u003exds: Fix xDS HTTP CONNECT's transport socket name bug which is now corrected to use \u003ccode\u003etypeUrl\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12740\"\u003e#12740\u003c/a\u003e) (eac9fe961)\u003c/li\u003e\n\u003cli\u003exds: Fix an issue where subchannel metrics were dropping their association with the \u003ccode\u003ebackend_service\u003c/code\u003e. This ensures xDS load balancing metrics are reported accurately. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12735\"\u003e#12735\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eNew Features\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003enetty: Add tcp metrics, by implementing a few of the metrics defined in \u003ca href=\"https://redirect.github.com/grpc/proposal/pull/519\"\u003eA80\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eapi: Add a CallOption for a custom label on per-RPC metrics (0e39b2967). This CallOption is copied by grpc-opentelemetry to the \u003ccode\u003egrpc.client.call.custom\u003c/code\u003e label as defined by \u003ca href=\"https://github.com/grpc/proposal/blob/master/A108-otel-custom-per-call-label.md\"\u003egRFC A108\u003c/a\u003e. See also the \u003ca href=\"https://grpc.io/docs/guides/opentelemetry-metrics/\"\u003egRPC OpenTelemetry Metrics guide\u003c/a\u003e (update \u003ca href=\"https://redirect.github.com/grpc/grpc.io/pull/1505\"\u003ein-progress\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003exds: Add support for Weighted Round Robin (WRR) load balancing driven by custom backend metrics, implementing the behavior defined in gRFC A114. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12645\"\u003e#12645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eutils: Update \u003ccode\u003eAdvancedTlsX509KeyManager\u003c/code\u003e so that developers can now preserve and use key aliases when dynamically reloading TLS certificates. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12686\"\u003e#12686\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate the \u0026quot;Outgoing Flow Control\u0026quot; section in the Manual Flow Control example to say onNext() does not block, but rather queues the messages in memory and advises developers to use CallStreamObserver.isReady() to prevent this memory exhaustion (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12700\"\u003e#12700\u003c/a\u003e) (a3a9ffcbe) (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12726\"\u003e#12726\u003c/a\u003e) (65ae2efda)\u003c/li\u003e\n\u003cli\u003eexamples: Clean up Health example, and document need for grpc-services (3ed732fc0)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDependencies\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Dependencies (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12719\"\u003e#12719\u003c/a\u003e) (16e17abba). Google-auth-library: 1.42.1, animal-sniffer: 1.27, assertj-core:3.27.7, error_prone_annotations:2.48.0, proto-google-common-protos:2.64.1, google-cloud-logging:3.23.10, jetty-http2-server:12.1.7, jetty-ee10-servlet:12.1.7, lincheck:3.4, opentelemetry-api:1.60.1, opentelemetry-exporter-prometheus:1.60.1-alpha, opentelemetry-gcp-resources:1.54.0-alpha, opentelemetry-sdk-extension-autoconfigure:1.60.1, opentelemetry-sdk-testing:1.60.1, robolectric:4.16.1, tomcat-embed-core:10.1.52, tomcat-embed-core9: 9.0.115,\u003c/li\u003e\n\u003cli\u003eUpgrade Netty to 4.1.132 and netty-tcnative to 2.0.75 (1528f809c)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eThanks to\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/becomeStar\"\u003e\u003ccode\u003e@​becomeStar\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benjaminp\"\u003e\u003ccode\u003e@​benjaminp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JoeCqupt\"\u003e\u003ccode\u003e@​JoeCqupt\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kainsin\"\u003e\u003ccode\u003e@​Kainsin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/merlimat\"\u003e\u003ccode\u003e@​merlimat\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SreeramdasLavanya\"\u003e\u003ccode\u003e@​SreeramdasLavanya\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/themechbro\"\u003e\u003ccode\u003e@​themechbro\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zhangweikop\"\u003e\u003ccode\u003e@​zhangweikop\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/6951542f66c59f63cbf5348b38a2306a3964adda\"\u003e\u003ccode\u003e6951542\u003c/code\u003e\u003c/a\u003e Bump version to 1.81.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/e94188e81298c36ac9654dc76025940171abc0a4\"\u003e\u003ccode\u003ee94188e\u003c/code\u003e\u003c/a\u003e Update README etc to reference 1.81.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/4813c6d06089d49a479f7f1786297dc3d8c0e549\"\u003e\u003ccode\u003e4813c6d\u003c/code\u003e\u003c/a\u003e core,xds: Fix backend_service plumbing for subchannel metrics (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12735\"\u003e#12735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/6737eb583a273dd13bf9e7b82cc1d9df75e551bd\"\u003e\u003ccode\u003e6737eb5\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Replace javax ThreadSafe annotation with errorprone ThreadSafe (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/1274\"\u003e#1274\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/ef3531325ba98fa043f6f7f16fa0715e9296d7a3\"\u003e\u003ccode\u003eef35313\u003c/code\u003e\u003c/a\u003e Replace javax ThreadSafe annotation with errorprone ThreadSafe (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12742\"\u003e#12742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/3ed732fc09c41b185cd03fdd6864c4ebb82f3a80\"\u003e\u003ccode\u003e3ed732f\u003c/code\u003e\u003c/a\u003e examples: Clean up Health, and document need for grpc-services\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/eac9fe9612881d54d51ddc5496599ba9a8201021\"\u003e\u003ccode\u003eeac9fe9\u003c/code\u003e\u003c/a\u003e xds: fix xDS HTTP CONNECT's transport socket name bug (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12740\"\u003e#12740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/1528f809c9e506cf2e7052e3f41fd8b75636d3d3\"\u003e\u003ccode\u003e1528f80\u003c/code\u003e\u003c/a\u003e Upgrade Netty to 4.1.132 and netty-tcnative to 2.0.75\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/d057a7ebee2945fc0a9ca58b36afdb5b37a99680\"\u003e\u003ccode\u003ed057a7e\u003c/code\u003e\u003c/a\u003e [xds] Implement A114: WRR support for custom backend metrics (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12645\"\u003e#12645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/842636f88452c30769a5561f7659db6e4f9fc2a0\"\u003e\u003ccode\u003e842636f\u003c/code\u003e\u003c/a\u003e xds: Add configuration objects for ExtAuthz, GrpcService and Bootstrap change...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/grpc/grpc-java/compare/v1.80.0...v1.81.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.drewnoakes:metadata-extractor` from 2.19.0 to 2.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/drewnoakes/metadata-extractor/releases\"\u003ecom.drewnoakes:metadata-extractor's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSimplify string creation by \u003ca href=\"https://github.com/drewnoakes\"\u003e\u003ccode\u003e@​drewnoakes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/637\"\u003edrewnoakes/metadata-extractor#637\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCopy paste error fixed by \u003ca href=\"https://github.com/GRuppert\"\u003e\u003ccode\u003e@​GRuppert\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/641\"\u003edrewnoakes/metadata-extractor#641\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded code to parse OM System II makernote (uses Olympus II makernote) by \u003ca href=\"https://github.com/AndyDragon\"\u003e\u003ccode\u003e@​AndyDragon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/642\"\u003edrewnoakes/metadata-extractor#642\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd HEIC/HEIF to README by \u003ca href=\"https://github.com/drewnoakes\"\u003e\u003ccode\u003e@​drewnoakes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/645\"\u003edrewnoakes/metadata-extractor#645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTrim trailing null bytes from some string values by \u003ca href=\"https://github.com/drewnoakes\"\u003e\u003ccode\u003e@​drewnoakes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/647\"\u003edrewnoakes/metadata-extractor#647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed parsing of illegal dates + handle known null value by \u003ca href=\"https://github.com/StefanOltmann\"\u003e\u003ccode\u003e@​StefanOltmann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/650\"\u003edrewnoakes/metadata-extractor#650\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport AVIF / AV1 images by \u003ca href=\"https://github.com/StefanOltmann\"\u003e\u003ccode\u003e@​StefanOltmann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/649\"\u003edrewnoakes/metadata-extractor#649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emaven.yml fixed after branch rename by \u003ca href=\"https://github.com/StefanOltmann\"\u003e\u003ccode\u003e@​StefanOltmann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/652\"\u003edrewnoakes/metadata-extractor#652\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed wrong date/time when timezone is null by \u003ca href=\"https://github.com/StefanOltmann\"\u003e\u003ccode\u003e@​StefanOltmann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/651\"\u003edrewnoakes/metadata-extractor#651\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eValidate lengths before parsing JPEG data by \u003ca href=\"https://github.com/drewnoakes\"\u003e\u003ccode\u003e@​drewnoakes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/653\"\u003edrewnoakes/metadata-extractor#653\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Automatic-Module-Name by \u003ca href=\"https://github.com/tsmock\"\u003e\u003ccode\u003e@​tsmock\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/621\"\u003edrewnoakes/metadata-extractor#621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd PDF support to detectFileType by \u003ca href=\"https://github.com/max-peroch\"\u003e\u003ccode\u003e@​max-peroch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/665\"\u003edrewnoakes/metadata-extractor#665\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix of \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/issues/676\"\u003e#676\u003c/a\u003e by \u003ca href=\"https://github.com/ogawaffm\"\u003e\u003ccode\u003e@​ogawaffm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/677\"\u003edrewnoakes/metadata-extractor#677\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/issues/685\"\u003e#685\u003c/a\u003e | Fix StringIndexOutOfBoundsException in ICC DESC tag processing by \u003ca href=\"https://github.com/DAN-MU-ZI\"\u003e\u003ccode\u003e@​DAN-MU-ZI\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/687\"\u003edrewnoakes/metadata-extractor#687\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump Java version to 1.8 by \u003ca href=\"https://github.com/drewnoakes\"\u003e\u003ccode\u003e@​drewnoakes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/696\"\u003edrewnoakes/metadata-extractor#696\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix rounding error in shutter speed description by \u003ca href=\"https://github.com/drewnoakes\"\u003e\u003ccode\u003e@​drewnoakes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/695\"\u003edrewnoakes/metadata-extractor#695\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExtend file type detection by \u003ca href=\"https://github.com/drewnoakes\"\u003e\u003ccode\u003e@​drewnoakes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/drewnoakes/metadata-extractor/pull/697\"\u003edrewnoakes/metadata-extractor#697\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca h...\n\n_Description has been truncated_","html_url":"https://github.com/ricekot/zap-extensions/pull/60","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricekot%2Fzap-extensions/issues/60","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/60/packages"}},{"old_version":"0.53.0","new_version":"0.54.0","update_type":"minor","path":null,"pr_created_at":"2026-05-08T03:12:00.000Z","version_change":"0.53.0 → 0.54.0","issue":{"uuid":"4403511891","node_id":"PR_kwDORvJjTc7ZYe1x","number":26,"state":"closed","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 17 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-05-22T03:12:36.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-08T03:12:00.000Z","updated_at":"2026-05-22T03:12:38.000Z","time_to_close":1209636,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":17,"packages":[{"name":"org.mariadb.jdbc:mariadb-java-client","old_version":"3.5.7","new_version":"3.5.8","repository_url":"https://github.com/mariadb-corporation/mariadb-connector-j"},{"name":"org.flywaydb:flyway-mysql","old_version":"12.0.3","new_version":"12.5.0"},{"name":"org.projectlombok:lombok","old_version":"1.18.42","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"org.apache.pdfbox:pdfbox","old_version":"3.0.6","new_version":"3.0.7"},{"name":"com.github.RouHim:jaudiotagger","old_version":"2.0.16","new_version":"2.0.19"},{"name":"com.github.junrar:junrar","old_version":"7.5.8","new_version":"7.5.10","repository_url":"https://github.com/junrar/junrar"},{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"4.0.6","new_version":"4.0.8"},{"name":"tools.jackson:jackson-bom","old_version":"3.1.0","new_version":"3.1.3","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"org.springframework.boot","old_version":"4.0.3","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.hibernate.orm","old_version":"7.2.6.Final","new_version":"7.3.3.Final"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"gradle-wrapper","old_version":"9.4.0","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 15 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) | `3.5.7` | `3.5.8` |\n| org.flywaydb:flyway-mysql | `12.0.3` | `12.5.0` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.42` | `1.18.46` |\n| org.apache.pdfbox:pdfbox | `3.0.6` | `3.0.7` |\n| com.github.RouHim:jaudiotagger | `2.0.16` | `2.0.19` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.8` | `7.5.10` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `3.0.2` | `3.0.3` |\n| org.glassfish.jaxb:jaxb-runtime | `4.0.6` | `4.0.8` |\n| [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `3.1.0` | `3.1.3` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.2.3` | `3.2.4` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.3` | `4.0.6` |\n| org.hibernate.orm | `7.2.6.Final` | `7.3.3.Final` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.0` | `9.5.0` |\n\n\nUpdates `org.mariadb.jdbc:mariadb-java-client` from 3.5.7 to 3.5.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/releases\"\u003eorg.mariadb.jdbc:mariadb-java-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eMariaDB Connector/Java 3.5.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/blob/main/CHANGELOG.md\"\u003eorg.mariadb.jdbc:mariadb-java-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/26b34a2f060070beb73515cfd2a49fabc8728843\"\u003e\u003ccode\u003e26b34a2\u003c/code\u003e\u003c/a\u003e Merge branch 'develop'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/06d6efee7838ab8f89ef0f7f362c6b4a95754630\"\u003e\u003ccode\u003e06d6efe\u003c/code\u003e\u003c/a\u003e bump CI actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a86a83c8fd1fa84d8d4349baab3b29df8f575192\"\u003e\u003ccode\u003ea86a83c\u003c/code\u003e\u003c/a\u003e bump 3.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/975f9919232b21f40d823423eac6e32d87ea8e35\"\u003e\u003ccode\u003e975f991\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to implement Codec directly and extract shared...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/75bb509521661603e0e90dd6dd5942d1382bf499\"\u003e\u003ccode\u003e75bb509\u003c/code\u003e\u003c/a\u003e [misc] code formatting cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/4c0b6a0ddd95f42fa866ce0d08e384caa2553d43\"\u003e\u003ccode\u003e4c0b6a0\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to extend UtilDateCodec and extract common dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a5b7fb1a26277a076052dbbd1a7ee2bacd4f602f\"\u003e\u003ccode\u003ea5b7fb1\u003c/code\u003e\u003c/a\u003e [misc] convert Reader and Writer from interfaces to final class implementatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/d31eb060fc66e9e37479e18a38bb1401d53ecb63\"\u003e\u003ccode\u003ed31eb06\u003c/code\u003e\u003c/a\u003e [misc] convert ReadableByteBuf from interface to final class implementation, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/11d45a9e6ea4d942e75747132bb8982471d890b8\"\u003e\u003ccode\u003e11d45a9\u003c/code\u003e\u003c/a\u003e [misc] optimize binary row decoder null bitmap checks and simplify signed Big...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/5aad14c381cbc2c4e0383ffed275306f359bd508\"\u003e\u003ccode\u003e5aad14c\u003c/code\u003e\u003c/a\u003e [misc] optimize BigInt column decoding and improve type safety in codec inter...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb:flyway-mysql` from 12.0.3 to 12.5.0\n\nUpdates `org.projectlombok:lombok` from 1.18.42 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.44 (March 11th, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFEATURE: \u003ccode\u003e@Jacksonized\u003c/code\u003e now supports both Jackson2 and Jackson3; you'll get a warning until you configure which one (or even both!) you want lombok to generate. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3950\"\u003e#3950\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: On JDK25, \u003ccode\u003eval\u003c/code\u003e and \u003ccode\u003e@ExtensionMethod\u003c/code\u003e could sometimes cause erroneous errors (in that you see errors but compilation succeeds anyway) using javac. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3947\"\u003e#3947\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e + fields marked \u003ccode\u003etransient\u003c/code\u003e would result in those transient fields being serialised which is surprising (and thus undesired) behaviour. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3936\"\u003e#3936\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.42...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.pdfbox:pdfbox` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:pdfbox-io` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:xmpbox` from 3.0.6 to 3.0.7\n\nUpdates `com.github.RouHim:jaudiotagger` from 2.0.16 to 2.0.19\n\nUpdates `com.github.junrar:junrar` from 7.5.8 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.5.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier Roebroeck\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.9\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Ryan Campbell\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.9...v7.5.10\"\u003e7.5.10\u003c/a\u003e (2026-04-15)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.9\"\u003e7.5.9\u003c/a\u003e (2026-04-13)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e36ee091ad7311a021e1c928ada103a3eab2d890\"\u003e\u003ccode\u003ee36ee09\u003c/code\u003e\u003c/a\u003e ci: publish test results\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/154e3bf7b05bb6dcad5437a8fd8e99a8da916373\"\u003e\u003ccode\u003e154e3bf\u003c/code\u003e\u003c/a\u003e test: disable test on windows due to path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d77e9a83eb721cd51f9c23d7869d0e6ad7f952d7\"\u003e\u003ccode\u003ed77e9a8\u003c/code\u003e\u003c/a\u003e fix: better handling of files outside directory when extracting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/a60857b35c17dbd5354a37816421d7b051a8ba03\"\u003e\u003ccode\u003ea60857b\u003c/code\u003e\u003c/a\u003e ci: update homebrew action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/72cd364f47bd396e208cd82ca7aa98759ab84f01\"\u003e\u003ccode\u003e72cd364\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.9 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/7e1b5581f9d622b96e9e2a8574188027e7642634\"\u003e\u003ccode\u003e7e1b558\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/f800f10fa46f803f1220f508a40f59af29eb5118\"\u003e\u003ccode\u003ef800f10\u003c/code\u003e\u003c/a\u003e build(deps): bump org.mockito:mockito-core from 5.22.0 to 5.23.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/1886aecf253467ff8f98fc1187237605cf59fbb0\"\u003e\u003ccode\u003e1886aec\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/832f6857128bcd678d76bf263f8ee1533a1e8a86\"\u003e\u003ccode\u003e832f685\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper from 9.4.0 to 9.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/9b69c6b708dd88b925ba91fde563869cc0f8f586\"\u003e\u003ccode\u003e9b69c6b\u003c/code\u003e\u003c/a\u003e fix: ArrayIndexOutOfBoundsException in solid RAR v20 archive extraction\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.22.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.22.1...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.glassfish.jaxb:jaxb-runtime` from 4.0.6 to 4.0.8\n\nUpdates `tools.jackson:jackson-bom` from 3.1.0 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/c2ea79e9178f0aaa5e4f381c644140357bfc307e\"\u003e\u003ccode\u003ec2ea79e\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3906b27dcdde8fc6a4fef193147109b70bf2f0dc\"\u003e\u003ccode\u003e3906b27\u003c/code\u003e\u003c/a\u003e Prep for 3.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/b17b616c7dc264cfef26f9dd28eaf54bc40b5c4c\"\u003e\u003ccode\u003eb17b616\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/36cf9995cff15aa3e69786da1d6c52f208fddf8a\"\u003e\u003ccode\u003e36cf999\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0ae1c2ae270dabe8e21700cbcee1c266b54e84f0\"\u003e\u003ccode\u003e0ae1c2a\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3c171ebd5d6c5d8f6e8d4f3614cf9b4f0a8babb9\"\u003e\u003ccode\u003e3c171eb\u003c/code\u003e\u003c/a\u003e Prep for 3.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/8046ced071e0b36747bae0f0a96fa21914de1303\"\u003e\u003ccode\u003e8046ced\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ea00ca4cc59ba656a17a071e30a68387e51d3e0d\"\u003e\u003ccode\u003eea00ca4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0628060381a5b86e3fc07854a27b7453de559b7e\"\u003e\u003ccode\u003e0628060\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/22b8aeec79b87751a41c586404850c526eed1dbe\"\u003e\u003ccode\u003e22b8aee\u003c/code\u003e\u003c/a\u003e Prep for 3.1.1 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-3.1.0...jackson-bom-3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 4.0.3 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnversRevisionRepositoriesRegistrar should reuse \u003ccode\u003e@EnableEnversRepositories\u003c/code\u003e rather than configuring the JPA counterpart \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50039\"\u003e#50039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebFlux Cloud Foundry links endpoint includes query string from received request in resolved links \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50017\"\u003e#50017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImports on a containing test class are ignored when a nested class has imports \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50012\"\u003e#50012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49951\"\u003e#49951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e500 response from env endpoint when supplied pattern is invalid \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49946\"\u003e#49946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49945\"\u003e#49945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP method is lost when configuring excludes in EndpointRequest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49943\"\u003e#49943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor HttpMethod for reactive additional endpoint paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49880\"\u003e#49880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/artemis image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49869\"\u003e#49869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/activemq image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49866\"\u003e#49866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49854\"\u003e#49854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI versioning path strategy should be applied path last as it is not meant to yield \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49800\"\u003e#49800\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs to encourage Java fundamentals for beginners that prefer to learn that way \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50146\"\u003e#50146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP Service Interface Clients still document that API versioning can be configured via properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50126\"\u003e#50126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the observability section of the Lettuce documentation is broken \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50097\"\u003e#50097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJavadoc for StaticResourceLocation.FAVICON doesn't describe icons location \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50085\"\u003e#50085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySamlRelyingPartyConfiguration is missing a Kotlin sample \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50024\"\u003e#50024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect default value for management.httpexchanges.recording.include in configuration metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50019\"\u003e#50019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the Kubernetes documentation when discussing startup probes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50015\"\u003e#50015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in JdbcSessionAutoConfiguration Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49873\"\u003e#49873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify that configuration property default values are not available through the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49851\"\u003e#49851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument the need for Liquibase and Flyway starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49839\"\u003e#49839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKafka documentation refers to deprecated JSON serializer and deserializer classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49826\"\u003e#49826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Elasticsearch Client 9.2.8 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50027\"\u003e#50027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Groovy 5.0.5 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49911\"\u003e#49911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Hibernate 7.2.12.Final \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50134\"\u003e#50134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Jackson Bom 3.1.2 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50051\"\u003e#50051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1\"\u003eJaxen 2.0.1\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50104\"\u003e#50104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5\"\u003eJaybird 6.0.5\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49914\"\u003e#49914\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/8821ad2cd381bb4b9615a61479e1de7305a8ba39\"\u003e\u003ccode\u003e8821ad2\u003c/code\u003e\u003c/a\u003e Release v4.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9e4048a03f17adfe78057a3c4d5b4693305c0ae0\"\u003e\u003ccode\u003e9e4048a\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/20bb11c3984802990572ddbeae8b66885a8f2462\"\u003e\u003ccode\u003e20bb11c\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.15-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/98daa8ea30f39a5b0ca6768b5cbc2dc8698ef4e1\"\u003e\u003ccode\u003e98daa8e\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9dc5aa2863f598a15d3dfa116f4b89249daba7e7\"\u003e\u003ccode\u003e9dc5aa2\u003c/code\u003e\u003c/a\u003e Polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/874f6294b91da18367b8b5ab7b2fad3fa23cfba6\"\u003e\u003ccode\u003e874f629\u003c/code\u003e\u003c/a\u003e Fix default security with actuator but without health\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/e41b3bf731d1134bc18ec1f68ac01e0fe1c54923\"\u003e\u003ccode\u003ee41b3bf\u003c/code\u003e\u003c/a\u003e Enable hostname verification for SSL connections to Elasticsearch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ef8527bb0ef8f564f4f9c57a7be99a7aa96c6ab0\"\u003e\u003ccode\u003eef8527b\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f533a4549c3999aac30cb5830f07dc304933e93d\"\u003e\u003ccode\u003ef533a45\u003c/code\u003e\u003c/a\u003e Do not follow symlinks when writing PID file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4a7bd332b6d19fef1aa4cf28434985f2b03a2e0f\"\u003e\u003ccode\u003e4a7bd33\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.3...v4.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.hibernate.orm` from 7.2.6.Final to 7.3.3.Final\n\nUpdates `com.github.ben-manes.versions` from 0.53.0 to 0.54.0\n\nUpdates `gradle-wrapper` from 9.4.0 to 9.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.0/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.0 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0 RC4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/3fe117d68f3907790f3809f121aa36303a9151f8\"\u003e\u003ccode\u003e3fe117d\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37703\"\u003e#37703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/33d145af6fbe7cf7c9d84646b6d7f32fea91d5e2\"\u003e\u003ccode\u003e33d145a\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7a05d1ed48442eb5da4d6e2b6593da55cdec1da\"\u003e\u003ccode\u003ef7a05d1\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37654\"\u003e#37654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/266facdcbcb0b4c60120cc118eaf0f652bfcdfe5\"\u003e\u003ccode\u003e266facd\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0ad6dd8e143455707e444aa7e3d38327a3366513\"\u003e\u003ccode\u003e0ad6dd8\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37646\"\u003e#37646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/966025d5850d46c9158a2f25e4096222277ecf57\"\u003e\u003ccode\u003e966025d\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e7455734449e422accebf44cf7b31bf93e3a770c\"\u003e\u003ccode\u003ee745573\u003c/code\u003e\u003c/a\u003e Polish IP docs (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37642\"\u003e#37642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d5cfd079acd2c8f1182edd6ec23dbab571132d0a\"\u003e\u003ccode\u003ed5cfd07\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37629\"\u003e#37629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/acdf0c36fa13ba09a7ff5b51f79b9af4b1a097ee\"\u003e\u003ccode\u003eacdf0c3\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7d0e4f6f7896426a8b24091388e4c252b62faef\"\u003e\u003ccode\u003ef7d0e4f\u003c/code\u003e\u003c/a\u003e Rename anchor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.0...v9.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/cdome/ollumi/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdome%2Follumi/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"}},{"old_version":"0.53.0","new_version":"0.54.0","update_type":"minor","path":null,"pr_created_at":"2026-05-01T06:22:51.000Z","version_change":"0.53.0 → 0.54.0","issue":{"uuid":"4363150180","node_id":"PR_kwDOBZpuic7XW03s","number":195,"state":"open","title":"Bump the all group with 8 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-01T06:22:51.000Z","updated_at":"2026-05-01T06:24:19.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"all","update_count":8,"packages":[{"name":"org.sonarqube","old_version":"7.2.3.7755","new_version":"7.3.0.8198"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"jaxen:jaxen","old_version":"2.0.0","new_version":"2.0.1","repository_url":"https://github.com/jaxen-xpath/jaxen"},{"name":"com.google.code.gson:gson","old_version":"2.13.2","new_version":"2.14.0","repository_url":"https://github.com/google/gson"},{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.3.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.3.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.10.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"}],"path":null,"ecosystem":"maven"},"body":"Bumps the all group with 8 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| org.sonarqube | `7.2.3.7755` | `7.3.0.8198` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| [jaxen:jaxen](https://github.com/jaxen-xpath/jaxen) | `2.0.0` | `2.0.1` |\n| [com.google.code.gson:gson](https://github.com/google/gson) | `2.13.2` | `2.14.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.0` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.3.21` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.3.21` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.10.0` | `1.11.0` |\n\nUpdates `org.sonarqube` from 7.2.3.7755 to 7.3.0.8198\n\nUpdates `com.github.ben-manes.versions` from 0.53.0 to 0.54.0\n\nUpdates `jaxen:jaxen` from 2.0.0 to 2.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases\"\u003ejaxen:jaxen's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe build is now fully byte-per-byte reproducible. If you use the same JDK on the same platform to compile, you'll get the same bytes out every time. This is a prerequisite for hash-based defenses against supply chain and MITM attacks.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe release has been mostly automated. It's not quite a one-click deploy but it's close.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSeveral bugs in XPath conformance detected by Claude Sonnet 4.6 were fixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003eround()\u003c/code\u003e function returns negative zero for values between -0.5 and -0.0.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003enumber()\u003c/code\u003e function rejects some strings Java recognizes as a number but XPath does not.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eanyMatchingNode()\u003c/code\u003e and \u003ccode\u003eevaluateAsBoolean()\u003c/code\u003e no longer throw \u003ccode\u003eNoSuchElementException\u003c/code\u003e when evaluating an XPath expression with multiple predicates and more nodes than predicates.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eDefaultCommentNodeStep.getText()\u003c/code\u003e includes predicates. (This one's very unlikely to have any effect on XPath queries or evaluation.)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe DOMNavigator can now search inside entity reference and document fragment nodes.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epunctuation and whitespace by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/157\"\u003ejaxen-xpath/jaxen#157\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremove duplicated condition from PatternParser convertStep by \u003ca href=\"https://github.com/hduelme\"\u003e\u003ccode\u003e@​hduelme\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/159\"\u003ejaxen-xpath/jaxen#159\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParameterize translate function.evaluate by \u003ca href=\"https://github.com/hduelme\"\u003e\u003ccode\u003e@​hduelme\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/161\"\u003ejaxen-xpath/jaxen#161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate compiler plugin to 3.10.1 by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/165\"\u003ejaxen-xpath/jaxen#165\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse StringBuilder instead of StringBuffer by \u003ca href=\"https://github.com/hduelme\"\u003e\u003ccode\u003e@​hduelme\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/160\"\u003ejaxen-xpath/jaxen#160\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSimplify assertions by \u003ca href=\"https://github.com/hduelme\"\u003e\u003ccode\u003e@​hduelme\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/162\"\u003ejaxen-xpath/jaxen#162\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emaven-project-info-reports-plugin 3.4.2 by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/166\"\u003ejaxen-xpath/jaxen#166\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emaven-javadoc-plugin 3.5.0 by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/167\"\u003ejaxen-xpath/jaxen#167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeprecate own implementation of SingletonList by \u003ca href=\"https://github.com/hduelme\"\u003e\u003ccode\u003e@​hduelme\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/169\"\u003ejaxen-xpath/jaxen#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emaven-source-plugin 3.2.1 by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/171\"\u003ejaxen-xpath/jaxen#171\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eclarify a few comments by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/175\"\u003ejaxen-xpath/jaxen#175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emaven-compiler-plugin 3.11.0 by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/176\"\u003ejaxen-xpath/jaxen#176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate source and assembly plugins by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/177\"\u003ejaxen-xpath/jaxen#177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebetter test code namespaces by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/178\"\u003ejaxen-xpath/jaxen#178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003equiet javadoc by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/179\"\u003ejaxen-xpath/jaxen#179\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove defunct mailing list archives by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/183\"\u003ejaxen-xpath/jaxen#183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate build plugins by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/184\"\u003ejaxen-xpath/jaxen#184\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMore plugin updates by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/185\"\u003ejaxen-xpath/jaxen#185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Maven plugins by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/187\"\u003ejaxen-xpath/jaxen#187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove maxPermSize by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/189\"\u003ejaxen-xpath/jaxen#189\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd devcontainer by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/192\"\u003ejaxen-xpath/jaxen#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCodespaces by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/193\"\u003ejaxen-xpath/jaxen#193\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse more defaults by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/194\"\u003ejaxen-xpath/jaxen#194\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse https in pom.xml by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/196\"\u003ejaxen-xpath/jaxen#196\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Java 1.3 javadoc references to current project requirements by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/200\"\u003ejaxen-xpath/jaxen#200\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd explicit versions for Maven core lifecycle plugins by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/198\"\u003ejaxen-xpath/jaxen#198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd comprehensive GitHub Copilot instructions for Jaxen development workflow by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/202\"\u003ejaxen-xpath/jaxen#202\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix all javadoc to conform to Oracle Javadoc guidelines by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/206\"\u003ejaxen-xpath/jaxen#206\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement comprehensive API compatibility checking with Animal Sniffer and Japicmp plugins by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/204\"\u003ejaxen-xpath/jaxen#204\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd SECURITY.md file with security reporting instructions by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/208\"\u003ejaxen-xpath/jaxen#208\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Maven wrapper to project by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/210\"\u003ejaxen-xpath/jaxen#210\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove optimize flag by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/215\"\u003ejaxen-xpath/jaxen#215\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ca href=\"https://github.com/see\"\u003e\u003ccode\u003e@​see\u003c/code\u003e\u003c/a\u003e references to Javadoc-excluded packages by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/218\"\u003ejaxen-xpath/jaxen#218\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd GitHub Actions CI for Java 8 by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/220\"\u003ejaxen-xpath/jaxen#220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e2.0 no longer beta by \u003ca href=\"https://github.com/elharo\"\u003e\u003ccode\u003e@​elharo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/222\"\u003ejaxen-xpath/jaxen#222\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace CircleCI with GitHub Actions CI (Java 8) by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/pull/221\"\u003ejaxen-xpath/jaxen#221\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaxen-xpath/jaxen/commit/21b6f5f4a85c61964e79eabadbf32451fa2a14ec\"\u003e\u003ccode\u003e21b6f5f\u003c/code\u003e\u003c/a\u003e Release 2.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaxen-xpath/jaxen/commit/861b412b552dd397ea086fe28246ed33ccff6d0e\"\u003e\u003ccode\u003e861b412\u003c/code\u003e\u003c/a\u003e docs: fix GitHub fine-grained PAT setup instructions to match current UI (\u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/issues/307\"\u003e#307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaxen-xpath/jaxen/commit/c0fb3052e46cdfa8e1bfa64f0d39ddbbc8984441\"\u003e\u003ccode\u003ec0fb305\u003c/code\u003e\u003c/a\u003e Move GPG private key export step to point of use in RELEASING.md (\u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/issues/305\"\u003e#305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaxen-xpath/jaxen/commit/b57f131ccc66efd95318bb1da7cb8ed044de47e8\"\u003e\u003ccode\u003eb57f131\u003c/code\u003e\u003c/a\u003e doc: add GitHub PAT creation instructions to RELEASING.md (\u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/issues/304\"\u003e#304\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaxen-xpath/jaxen/commit/1cc4f79f81a86d6d10b1e6bcddf10f873f0fc7d2\"\u003e\u003ccode\u003e1cc4f79\u003c/code\u003e\u003c/a\u003e docs: clarify release secrets are repository-scoped (\u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/issues/302\"\u003e#302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaxen-xpath/jaxen/commit/efbe4bfb1fb082d20c1d3d0833df0bfa94267064\"\u003e\u003ccode\u003eefbe4bf\u003c/code\u003e\u003c/a\u003e Change CI/CD integration from CircleCI to GitHub Actions (\u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/issues/301\"\u003e#301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaxen-xpath/jaxen/commit/becec3a6f8ae76f20189e6c298b5c3902577abcd\"\u003e\u003ccode\u003ebecec3a\u003c/code\u003e\u003c/a\u003e Add hyperlinks to GitHub pages referenced in RELEASING.md (\u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/issues/298\"\u003e#298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaxen-xpath/jaxen/commit/b54daecb3712c34e2cbf80dfe0d2df9c11e86131\"\u003e\u003ccode\u003eb54daec\u003c/code\u003e\u003c/a\u003e Migrate release process from OSSRH to Central Publishing Portal (\u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/issues/295\"\u003e#295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaxen-xpath/jaxen/commit/6800fd2294c872aed2039d2f8fd6b253e3c028c3\"\u003e\u003ccode\u003e6800fd2\u003c/code\u003e\u003c/a\u003e Clarify GPG key creation instructions in RELEASING.md (\u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/issues/291\"\u003e#291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaxen-xpath/jaxen/commit/6731f5712f67ada1948e9a9eb82d58e16fdb43eb\"\u003e\u003ccode\u003e6731f57\u003c/code\u003e\u003c/a\u003e Update Maven distribution URL to version 3.9.15 (\u003ca href=\"https://redirect.github.com/jaxen-xpath/jaxen/issues/289\"\u003e#289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jaxen-xpath/jaxen/compare/v2.0.0...v2.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.code.gson:gson` from 2.13.2 to 2.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/gson/releases\"\u003ecom.google.code.gson:gson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGson 2.14.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd type adapters for \u003ccode\u003ejava.time\u003c/code\u003e classes by \u003ca href=\"https://github.com/eamonnmcmanus\"\u003e\u003ccode\u003e@​eamonnmcmanus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2948\"\u003egoogle/gson#2948\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWhen the \u003ccode\u003ejava.time\u003c/code\u003e API is available, Gson automatically can read and write instances of classes like \u003ccode\u003eInstant\u003c/code\u003e and \u003ccode\u003eDuration\u003c/code\u003e. The format it uses essentially freezes the JSON representation that \u003ccode\u003eReflectiveTypeAdapterFactory\u003c/code\u003e established by default, based on the private fields of \u003ccode\u003ejava.time\u003c/code\u003e classes. That's not a great representation, but it is understandable. Changing it to anything else would break compatibility with systems that are expecting the current format.\u003c/p\u003e\n\u003cp\u003eWith this change, Gson no longer tries to access private fields of these classes using reflection. So it is no longer necessary to run with \u003ccode\u003e--add-opens\u003c/code\u003e for these classes on recent JDKs.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003ecom.google.gson.graph\u003c/code\u003e by \u003ca href=\"https://github.com/eamonnmcmanus\"\u003e\u003ccode\u003e@​eamonnmcmanus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2990\"\u003egoogle/gson#2990\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis package was not part of any released artifact and depended on Gson internals in potentially problematic ways.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eValidate that strings being parsed as integers consist of ASCII characters by \u003ca href=\"https://github.com/eamonnmcmanus\"\u003e\u003ccode\u003e@​eamonnmcmanus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2995\"\u003egoogle/gson#2995\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePreviously, strings could contain non-ASCII Unicode digits and still be parsed as integers. That's inconsistent with how JSON numbers are treated.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix duplicate key detection when first value is null by \u003ca href=\"https://github.com/andrewstellman\"\u003e\u003ccode\u003e@​andrewstellman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/3006\"\u003egoogle/gson#3006\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis could potentially break code that was relying on the incorrect behaviour. For example, this JSON string was previously accepted but will no longer be: \u003ccode\u003e{\u0026quot;foo\u0026quot;: null, \u0026quot;foo\u0026quot;: bar}\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003eSerializable\u003c/code\u003e from internal \u003ccode\u003eType\u003c/code\u003e implementation classes. by \u003ca href=\"https://github.com/eamonnmcmanus\"\u003e\u003ccode\u003e@​eamonnmcmanus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/3011\"\u003egoogle/gson#3011\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe nested classes \u003ccode\u003eParameterizedTypeImpl\u003c/code\u003e, \u003ccode\u003eGenericArrayTypeImpl\u003c/code\u003e, and \u003ccode\u003eWildcardTypeImpl\u003c/code\u003e in \u003ccode\u003eGsonTypes\u003c/code\u003e are implementations of the corresponding types (without \u003ccode\u003eImpl\u003c/code\u003e) in \u003ccode\u003ejava.lang.reflect\u003c/code\u003e. For some reason, they were serializable, even though the \u003ccode\u003ejava.lang.reflect\u003c/code\u003e implementations are not. Having unnecessarily serializable classes could \u003cem\u003econceivably\u003c/em\u003e have been a security problem if they were part of a larger exploit using serialization. (We do not consider this a likely scenario and do not suggest that you need to update Gson just to get this change.)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003eLegacyProtoTypeAdapterFactory\u003c/code\u003e. by \u003ca href=\"https://github.com/eamonnmcmanus\"\u003e\u003ccode\u003e@​eamonnmcmanus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/3014\"\u003egoogle/gson#3014\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis is not part of any released artifact, but may be of use when trying to fix code that is currently accessing the internals of protobuf classes via reflection.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake AppendableWriter do flush and close if delegation object supports by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2925\"\u003egoogle/gson#2925\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther less visible changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd default capacity to EnumTypeAdapter maps by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2959\"\u003egoogle/gson#2959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: move derived adapters from Gson to TypeAdapters by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2951\"\u003egoogle/gson#2951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003enew Gson()\u003c/code\u003e by \u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2864\"\u003egoogle/gson#2864\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ThirdGoddess\"\u003e\u003ccode\u003e@​ThirdGoddess\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2944\"\u003egoogle/gson#2944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lmj798\"\u003e\u003ccode\u003e@​lmj798\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2988\"\u003egoogle/gson#2988\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Eng-YasminKotb\"\u003e\u003ccode\u003e@​Eng-YasminKotb\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/3005\"\u003egoogle/gson#3005\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andrewstellman\"\u003e\u003ccode\u003e@​andrewstellman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/3006\"\u003egoogle/gson#3006\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/gson/compare/gson-parent-2.13.2...gson-parent-2.14.0\"\u003ehttps://github.com/google/gson/compare/gson-parent-2.13.2...gson-parent-2.14.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/3ff35d6269894901ab8006258395aafc4b9765cd\"\u003e\u003ccode\u003e3ff35d6\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release gson-parent-2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/a3024fde2a5c12b9a9a0b6b914ae4899aa574d81\"\u003e\u003ccode\u003ea3024fd\u003c/code\u003e\u003c/a\u003e Bump the maven group with 13 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/3002\"\u003e#3002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/5689ffe44952ca6ed44c595886b9043286311b23\"\u003e\u003ccode\u003e5689ffe\u003c/code\u003e\u003c/a\u003e Bump the github-actions group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/3018\"\u003e#3018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/48db33cbf93af6b2f5b117dfdfd826de47f7229c\"\u003e\u003ccode\u003e48db33c\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eLegacyProtoTypeAdapterFactory\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/google/gson/issues/3014\"\u003e#3014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/53d703ee76ca3e951fa4a727307c1f28dbcaf3aa\"\u003e\u003ccode\u003e53d703e\u003c/code\u003e\u003c/a\u003e Update outdated comment regarding serializable types (\u003ca href=\"https://redirect.github.com/google/gson/issues/3012\"\u003e#3012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/0189b727761f31596d1a27b7c60b42478dc9f331\"\u003e\u003ccode\u003e0189b72\u003c/code\u003e\u003c/a\u003e Remove \u003ccode\u003eSerializable\u003c/code\u003e from internal \u003ccode\u003eType\u003c/code\u003e implementation classes. (\u003ca href=\"https://redirect.github.com/google/gson/issues/3011\"\u003e#3011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/f4d371d29c04066dbe7fdb31f642831f9c7f40cd\"\u003e\u003ccode\u003ef4d371d\u003c/code\u003e\u003c/a\u003e Fix duplicate key detection when first value is null (\u003ca href=\"https://redirect.github.com/google/gson/issues/3006\"\u003e#3006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/27d9ba1eeeeb156540cf5397504a4f9f256e911f\"\u003e\u003ccode\u003e27d9ba1\u003c/code\u003e\u003c/a\u003e Fix typo in README (JPMS dependencies section) (\u003ca href=\"https://redirect.github.com/google/gson/issues/3005\"\u003e#3005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/1fa9b7a0a994b006b3be00e2df9de778e71e6807\"\u003e\u003ccode\u003e1fa9b7a\u003c/code\u003e\u003c/a\u003e Validate that strings being parsed as integers consist of ASCII characters (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/b7d59549188867deb42e46073fb38735a5beda1c\"\u003e\u003ccode\u003eb7d5954\u003c/code\u003e\u003c/a\u003e Add iterator fail-fast tests for LinkedTreeMap.clear() (\u003ca href=\"https://redirect.github.com/google/gson/issues/2992\"\u003e#2992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/gson/compare/gson-parent-2.13.2...gson-parent-2.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gradle-wrapper` from 9.4.1 to 9.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.0/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.0 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0 RC4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/3fe117d68f3907790f3809f121aa36303a9151f8\"\u003e\u003ccode\u003e3fe117d\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37703\"\u003e#37703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/33d145af6fbe7cf7c9d84646b6d7f32fea91d5e2\"\u003e\u003ccode\u003e33d145a\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7a05d1ed48442eb5da4d6e2b6593da55cdec1da\"\u003e\u003ccode\u003ef7a05d1\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37654\"\u003e#37654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/266facdcbcb0b4c60120cc118eaf0f652bfcdfe5\"\u003e\u003ccode\u003e266facd\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0ad6dd8e143455707e444aa7e3d38327a3366513\"\u003e\u003ccode\u003e0ad6dd8\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37646\"\u003e#37646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/966025d5850d46c9158a2f25e4096222277ecf57\"\u003e\u003ccode\u003e966025d\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e7455734449e422accebf44cf7b31bf93e3a770c\"\u003e\u003ccode\u003ee745573\u003c/code\u003e\u003c/a\u003e Polish IP docs (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37642\"\u003e#37642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d5cfd079acd2c8f1182edd6ec23dbab571132d0a\"\u003e\u003ccode\u003ed5cfd07\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37629\"\u003e#37629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/acdf0c36fa13ba09a7ff5b51f79b9af4b1a097ee\"\u003e\u003ccode\u003eacdf0c3\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7d0e4f6f7896426a8b24091388e4c252b62faef\"\u003e\u003ccode\u003ef7d0e4f\u003c/code\u003e\u003c/a\u003e Rename anchor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.1...v9.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-serialization-json` from 1.10.0 to 1.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-serialization-json's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003cp\u003eThis release is based on Kotlin 2.3.20 and provides a new Json exceptions API and some bugfixes and improvements.\u003c/p\u003e\n\u003ch2\u003eExpose Json exceptions structure\u003c/h2\u003e\n\u003cp\u003eTo make working with exceptions easier and providing proper error codes in e.g., REST APIs,\nclasses \u003ccode\u003eJsonException\u003c/code\u003e, \u003ccode\u003eJsonDecodingException\u003c/code\u003e, and \u003ccode\u003eJsonEncodingException\u003c/code\u003e are now public.\nThey have relevant public properties, such as \u003ccode\u003eshortMessage\u003c/code\u003e, \u003ccode\u003epath\u003c/code\u003e, \u003ccode\u003eoffset\u003c/code\u003e, and others.\nThis API is currently experimental, and we're going to improve it further in the subsequent releases.\nSee the linked issues for the details: \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1930\"\u003e#1930\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1877\"\u003e#1877\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eAbility to hide user input from exception messages for security/privacy reasons.\u003c/h2\u003e\n\u003cp\u003eHistorically, exception messages in kotlinx.serialization often included the input Json itself for debuggability reason.\nSuch behavior may pose additional challenges for logging, analytics, and other systems, since\na system is not always allowed to store user data due to privacy/security reasons, which imposes additional sanitation logic.\nTo address this issue, a new property \u003ccode\u003eexceptionsWithDebugInfo\u003c/code\u003e is added to \u003ccode\u003eJsonConfiguration\u003c/code\u003e.\nDisable it to hide user input from exception messages.\nIMPORTANT: This behavior will be enabled by default when this property becomes stable.\nSee \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2590\"\u003e#2590\u003c/a\u003e for more details.\u003c/p\u003e\n\u003ch2\u003eBugfixes and improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCBOR: Relax value range check when decoding numbers (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3167\"\u003e#3167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse a specialized writeDecimalLong method for IO stream integrations in Json (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3152\"\u003e#3152\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md\"\u003eorg.jetbrains.kotlinx:kotlinx-serialization-json's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.11.0 / 2026-04-10\u003c/h1\u003e\n\u003cp\u003eThis release is based on Kotlin 2.3.20 and provides new Json exceptions API and some bugfixes and improvements.\u003c/p\u003e\n\u003ch2\u003eExpose Json exceptions structure\u003c/h2\u003e\n\u003cp\u003eTo make working with exceptions easier and providing proper error codes in e.g., REST APIs,\nclasses \u003ccode\u003eJsonException\u003c/code\u003e, \u003ccode\u003eJsonDecodingException\u003c/code\u003e, and \u003ccode\u003eJsonEncodingException\u003c/code\u003e are now public.\nThey have relevant public properties, such as \u003ccode\u003eshortMessage\u003c/code\u003e, \u003ccode\u003epath\u003c/code\u003e, \u003ccode\u003eoffset\u003c/code\u003e, and others.\nThis API is currently experimental, and we're going to improve it further in the subsequent releases.\nSee the linked issues for the details: \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1930\"\u003e#1930\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/1877\"\u003e#1877\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eAbility to hide user input from exception messages for security/privacy reasons.\u003c/h2\u003e\n\u003cp\u003eHistorically, exception messages in kotlinx.serialization often included the input Json itself for debuggability reason.\nSuch behavior may pose additional challenges for logging, analytics, and other systems, since\na system is not always allowed to store user data due to privacy/security reasons, which imposes additional sanitation logic.\nTo address this issue, a new property \u003ccode\u003eexceptionsWithDebugInfo\u003c/code\u003e is added to \u003ccode\u003eJsonConfiguration\u003c/code\u003e.\nDisable it to hide user input from exception messages.\nIMPORTANT: This behavior will be enabled by default when this property becomes stable.\nSee \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2590\"\u003e#2590\u003c/a\u003e for more details.\u003c/p\u003e\n\u003ch2\u003eBugfixes and improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCBOR: Relax value range check when decoding numbers (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3167\"\u003e#3167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse a specialized writeDecimalLong method for IO stream integrations in Json (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3152\"\u003e#3152\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/6956af2e6073347c7832c3c5b374fa3b5a345956\"\u003e\u003ccode\u003e6956af2\u003c/code\u003e\u003c/a\u003e Prepare 1.11 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/390d84c68a19cbf7fa453dec22a333648bde49b4\"\u003e\u003ccode\u003e390d84c\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/431fe2dc0a144300b33038820d24fc30302c8abc\"\u003e\u003ccode\u003e431fe2d\u003c/code\u003e\u003c/a\u003e Use local repo for publishing (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3171\"\u003e#3171\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/05c12b60a6717b99053fb82e1f94d2f859727374\"\u003e\u003ccode\u003e05c12b6\u003c/code\u003e\u003c/a\u003e Add usage attribute to \u0026quot;testRepositories\u0026quot; configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/a4e1f082ef2e72caa139b474c05657de6015da20\"\u003e\u003ccode\u003ea4e1f08\u003c/code\u003e\u003c/a\u003e Bump Kover version to 0.9.8 release (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3174\"\u003e#3174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/304e858ccc7066854637d86ab80056f5f2bcc094\"\u003e\u003ccode\u003e304e858\u003c/code\u003e\u003c/a\u003e Expose Json exceptions structure (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3145\"\u003e#3145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/4a0338ef5093d765138151bc30282e909ca459e4\"\u003e\u003ccode\u003e4a0338e\u003c/code\u003e\u003c/a\u003e Included G Play SDK verification file for core-jvm (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3169\"\u003e#3169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/421f64c74f0ea6d4a3cdc8dd483505366e3f6c8f\"\u003e\u003ccode\u003e421f64c\u003c/code\u003e\u003c/a\u003e CBOR: Relax value range check when decoding numbers (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.serialization/issues/3167\"\u003e#3167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/85a4f126ec491c77e2b3686cc22c1bae27a20783\"\u003e\u003ccode\u003e85a4f12\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/commit/bd38b0e49bce38d1a55576e89856bc63990167ed\"\u003e\u003ccode\u003ebd38b0e\u003c/code\u003e\u003c/a\u003e Remove dead code\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.serialization/compare/v1.10.0...v1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003c...\n\n_Description has been truncated_","html_url":"https://github.com/VerifAPS/verifaps-lib/pull/195","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/VerifAPS%2Fverifaps-lib/issues/195","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/195/packages"}},{"old_version":"0.53.0","new_version":"0.54.0","update_type":"minor","path":null,"pr_created_at":"2026-05-01T03:22:20.000Z","version_change":"0.53.0 → 0.54.0","issue":{"uuid":"4362615619","node_id":"PR_kwDOR0sr5c7XVHRl","number":16,"state":"closed","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 11 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-05-08T03:11:37.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-01T03:22:20.000Z","updated_at":"2026-05-08T03:11:38.000Z","time_to_close":604157,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":11,"packages":[{"name":"org.mariadb.jdbc:mariadb-java-client","old_version":"3.5.7","new_version":"3.5.8","repository_url":"https://github.com/mariadb-corporation/mariadb-connector-j"},{"name":"org.flywaydb:flyway-mysql","old_version":"12.2.0","new_version":"12.5.0"},{"name":"org.projectlombok:lombok","old_version":"1.18.44","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"com.github.junrar:junrar","old_version":"7.5.8","new_version":"7.5.10","repository_url":"https://github.com/junrar/junrar"},{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"tools.jackson:jackson-bom","old_version":"3.1.1","new_version":"3.1.2","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"org.springframework.boot","old_version":"4.0.5","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.hibernate.orm","old_version":"7.3.0.Final","new_version":"7.3.2.Final"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 11 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) | `3.5.7` | `3.5.8` |\n| org.flywaydb:flyway-mysql | `12.2.0` | `12.5.0` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.44` | `1.18.46` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.8` | `7.5.10` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `3.0.2` | `3.0.3` |\n| [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `3.1.1` | `3.1.2` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.5` | `4.0.6` |\n| org.hibernate.orm | `7.3.0.Final` | `7.3.2.Final` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.0` |\n\n\nUpdates `org.mariadb.jdbc:mariadb-java-client` from 3.5.7 to 3.5.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/releases\"\u003eorg.mariadb.jdbc:mariadb-java-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eMariaDB Connector/Java 3.5.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/blob/main/CHANGELOG.md\"\u003eorg.mariadb.jdbc:mariadb-java-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/26b34a2f060070beb73515cfd2a49fabc8728843\"\u003e\u003ccode\u003e26b34a2\u003c/code\u003e\u003c/a\u003e Merge branch 'develop'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/06d6efee7838ab8f89ef0f7f362c6b4a95754630\"\u003e\u003ccode\u003e06d6efe\u003c/code\u003e\u003c/a\u003e bump CI actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a86a83c8fd1fa84d8d4349baab3b29df8f575192\"\u003e\u003ccode\u003ea86a83c\u003c/code\u003e\u003c/a\u003e bump 3.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/975f9919232b21f40d823423eac6e32d87ea8e35\"\u003e\u003ccode\u003e975f991\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to implement Codec directly and extract shared...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/75bb509521661603e0e90dd6dd5942d1382bf499\"\u003e\u003ccode\u003e75bb509\u003c/code\u003e\u003c/a\u003e [misc] code formatting cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/4c0b6a0ddd95f42fa866ce0d08e384caa2553d43\"\u003e\u003ccode\u003e4c0b6a0\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to extend UtilDateCodec and extract common dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a5b7fb1a26277a076052dbbd1a7ee2bacd4f602f\"\u003e\u003ccode\u003ea5b7fb1\u003c/code\u003e\u003c/a\u003e [misc] convert Reader and Writer from interfaces to final class implementatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/d31eb060fc66e9e37479e18a38bb1401d53ecb63\"\u003e\u003ccode\u003ed31eb06\u003c/code\u003e\u003c/a\u003e [misc] convert ReadableByteBuf from interface to final class implementation, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/11d45a9e6ea4d942e75747132bb8982471d890b8\"\u003e\u003ccode\u003e11d45a9\u003c/code\u003e\u003c/a\u003e [misc] optimize binary row decoder null bitmap checks and simplify signed Big...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/5aad14c381cbc2c4e0383ffed275306f359bd508\"\u003e\u003ccode\u003e5aad14c\u003c/code\u003e\u003c/a\u003e [misc] optimize BigInt column decoding and improve type safety in codec inter...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb:flyway-mysql` from 12.2.0 to 12.5.0\n\nUpdates `org.projectlombok:lombok` from 1.18.44 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.44...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.junrar:junrar` from 7.5.8 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.5.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier Roebroeck\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.9\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Ryan Campbell\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.9...v7.5.10\"\u003e7.5.10\u003c/a\u003e (2026-04-15)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.9\"\u003e7.5.9\u003c/a\u003e (2026-04-13)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e36ee091ad7311a021e1c928ada103a3eab2d890\"\u003e\u003ccode\u003ee36ee09\u003c/code\u003e\u003c/a\u003e ci: publish test results\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/154e3bf7b05bb6dcad5437a8fd8e99a8da916373\"\u003e\u003ccode\u003e154e3bf\u003c/code\u003e\u003c/a\u003e test: disable test on windows due to path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d77e9a83eb721cd51f9c23d7869d0e6ad7f952d7\"\u003e\u003ccode\u003ed77e9a8\u003c/code\u003e\u003c/a\u003e fix: better handling of files outside directory when extracting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/a60857b35c17dbd5354a37816421d7b051a8ba03\"\u003e\u003ccode\u003ea60857b\u003c/code\u003e\u003c/a\u003e ci: update homebrew action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/72cd364f47bd396e208cd82ca7aa98759ab84f01\"\u003e\u003ccode\u003e72cd364\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.9 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/7e1b5581f9d622b96e9e2a8574188027e7642634\"\u003e\u003ccode\u003e7e1b558\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/f800f10fa46f803f1220f508a40f59af29eb5118\"\u003e\u003ccode\u003ef800f10\u003c/code\u003e\u003c/a\u003e build(deps): bump org.mockito:mockito-core from 5.22.0 to 5.23.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/1886aecf253467ff8f98fc1187237605cf59fbb0\"\u003e\u003ccode\u003e1886aec\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/832f6857128bcd678d76bf263f8ee1533a1e8a86\"\u003e\u003ccode\u003e832f685\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper from 9.4.0 to 9.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/9b69c6b708dd88b925ba91fde563869cc0f8f586\"\u003e\u003ccode\u003e9b69c6b\u003c/code\u003e\u003c/a\u003e fix: ArrayIndexOutOfBoundsException in solid RAR v20 archive extraction\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.22.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.22.1...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tools.jackson:jackson-bom` from 3.1.1 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0ae1c2ae270dabe8e21700cbcee1c266b54e84f0\"\u003e\u003ccode\u003e0ae1c2a\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3c171ebd5d6c5d8f6e8d4f3614cf9b4f0a8babb9\"\u003e\u003ccode\u003e3c171eb\u003c/code\u003e\u003c/a\u003e Prep for 3.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/8046ced071e0b36747bae0f0a96fa21914de1303\"\u003e\u003ccode\u003e8046ced\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ea00ca4cc59ba656a17a071e30a68387e51d3e0d\"\u003e\u003ccode\u003eea00ca4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-3.1.1...jackson-bom-3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 4.0.5 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnversRevisionRepositoriesRegistrar should reuse \u003ccode\u003e@EnableEnversRepositories\u003c/code\u003e rather than configuring the JPA counterpart \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50039\"\u003e#50039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebFlux Cloud Foundry links endpoint includes query string from received request in resolved links \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50017\"\u003e#50017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImports on a containing test class are ignored when a nested class has imports \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50012\"\u003e#50012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49951\"\u003e#49951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e500 response from env endpoint when supplied pattern is invalid \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49946\"\u003e#49946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49945\"\u003e#49945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP method is lost when configuring excludes in EndpointRequest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49943\"\u003e#49943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor HttpMethod for reactive additional endpoint paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49880\"\u003e#49880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/artemis image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49869\"\u003e#49869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/activemq image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49866\"\u003e#49866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49854\"\u003e#49854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI versioning path strategy should be applied path last as it is not meant to yield \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49800\"\u003e#49800\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs to encourage Java fundamentals for beginners that prefer to learn that way \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50146\"\u003e#50146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP Service Interface Clients still document that API versioning can be configured via properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50126\"\u003e#50126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the observability section of the Lettuce documentation is broken \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50097\"\u003e#50097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJavadoc for StaticResourceLocation.FAVICON doesn't describe icons location \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50085\"\u003e#50085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySamlRelyingPartyConfiguration is missing a Kotlin sample \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50024\"\u003e#50024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect default value for management.httpexchanges.recording.include in configuration metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50019\"\u003e#50019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the Kubernetes documentation when discussing startup probes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50015\"\u003e#50015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in JdbcSessionAutoConfiguration Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49873\"\u003e#49873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify that configuration property default values are not available through the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49851\"\u003e#49851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument the need for Liquibase and Flyway starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49839\"\u003e#49839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKafka documentation refers to deprecated JSON serializer and deserializer classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49826\"\u003e#49826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Elasticsearch Client 9.2.8 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50027\"\u003e#50027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Groovy 5.0.5 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49911\"\u003e#49911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Hibernate 7.2.12.Final \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50134\"\u003e#50134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Jackson Bom 3.1.2 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50051\"\u003e#50051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1\"\u003eJaxen 2.0.1\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50104\"\u003e#50104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5\"\u003eJaybird 6.0.5\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49914\"\u003e#49914\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/8821ad2cd381bb4b9615a61479e1de7305a8ba39\"\u003e\u003ccode\u003e8821ad2\u003c/code\u003e\u003c/a\u003e Release v4.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9e4048a03f17adfe78057a3c4d5b4693305c0ae0\"\u003e\u003ccode\u003e9e4048a\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/20bb11c3984802990572ddbeae8b66885a8f2462\"\u003e\u003ccode\u003e20bb11c\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.15-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/98daa8ea30f39a5b0ca6768b5cbc2dc8698ef4e1\"\u003e\u003ccode\u003e98daa8e\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9dc5aa2863f598a15d3dfa116f4b89249daba7e7\"\u003e\u003ccode\u003e9dc5aa2\u003c/code\u003e\u003c/a\u003e Polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/874f6294b91da18367b8b5ab7b2fad3fa23cfba6\"\u003e\u003ccode\u003e874f629\u003c/code\u003e\u003c/a\u003e Fix default security with actuator but without health\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/e41b3bf731d1134bc18ec1f68ac01e0fe1c54923\"\u003e\u003ccode\u003ee41b3bf\u003c/code\u003e\u003c/a\u003e Enable hostname verification for SSL connections to Elasticsearch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ef8527bb0ef8f564f4f9c57a7be99a7aa96c6ab0\"\u003e\u003ccode\u003eef8527b\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f533a4549c3999aac30cb5830f07dc304933e93d\"\u003e\u003ccode\u003ef533a45\u003c/code\u003e\u003c/a\u003e Do not follow symlinks when writing PID file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4a7bd332b6d19fef1aa4cf28434985f2b03a2e0f\"\u003e\u003ccode\u003e4a7bd33\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.5...v4.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.hibernate.orm` from 7.3.0.Final to 7.3.2.Final\n\nUpdates `com.github.ben-manes.versions` from 0.53.0 to 0.54.0\n\nUpdates `gradle-wrapper` from 9.4.1 to 9.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.0/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.0 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0 RC4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/3fe117d68f3907790f3809f121aa36303a9151f8\"\u003e\u003ccode\u003e3fe117d\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37703\"\u003e#37703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/33d145af6fbe7cf7c9d84646b6d7f32fea91d5e2\"\u003e\u003ccode\u003e33d145a\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7a05d1ed48442eb5da4d6e2b6593da55cdec1da\"\u003e\u003ccode\u003ef7a05d1\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37654\"\u003e#37654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/266facdcbcb0b4c60120cc118eaf0f652bfcdfe5\"\u003e\u003ccode\u003e266facd\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0ad6dd8e143455707e444aa7e3d38327a3366513\"\u003e\u003ccode\u003e0ad6dd8\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37646\"\u003e#37646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/966025d5850d46c9158a2f25e4096222277ecf57\"\u003e\u003ccode\u003e966025d\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e7455734449e422accebf44cf7b31bf93e3a770c\"\u003e\u003ccode\u003ee745573\u003c/code\u003e\u003c/a\u003e Polish IP docs (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37642\"\u003e#37642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d5cfd079acd2c8f1182edd6ec23dbab571132d0a\"\u003e\u003ccode\u003ed5cfd07\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37629\"\u003e#37629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/acdf0c36fa13ba09a7ff5b51f79b9af4b1a097ee\"\u003e\u003ccode\u003eacdf0c3\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7d0e4f6f7896426a8b24091388e4c252b62faef\"\u003e\u003ccode\u003ef7d0e4f\u003c/code\u003e\u003c/a\u003e Rename anchor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.1...v9.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/willianpaixao/booklore/pull/16","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/willianpaixao%2Fbooklore/issues/16","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/16/packages"}},{"old_version":"0.53.0","new_version":"0.54.0","update_type":"minor","path":null,"pr_created_at":"2026-04-24T03:10:28.000Z","version_change":"0.53.0 → 0.54.0","issue":{"uuid":"4320244201","node_id":"PR_kwDORprh4c7VMZt8","number":27,"state":"open","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 12 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-24T03:10:28.000Z","updated_at":"2026-04-24T03:15:13.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":12,"packages":[{"name":"org.mariadb.jdbc:mariadb-java-client","old_version":"3.5.7","new_version":"3.5.8","repository_url":"https://github.com/mariadb-corporation/mariadb-connector-j"},{"name":"org.flywaydb:flyway-mysql","old_version":"12.1.1","new_version":"12.4.0"},{"name":"org.projectlombok:lombok","old_version":"1.18.44","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"com.github.RouHim:jaudiotagger","old_version":"2.0.18","new_version":"2.0.19"},{"name":"com.github.junrar:junrar","old_version":"7.5.8","new_version":"7.5.10","repository_url":"https://github.com/junrar/junrar"},{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"tools.jackson:jackson-bom","old_version":"3.1.0","new_version":"3.1.2","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"org.springframework.boot","old_version":"4.0.3","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.hibernate.orm","old_version":"7.3.0.Final","new_version":"7.3.2.Final"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"gradle-wrapper","old_version":"9.4.0","new_version":"9.4.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 12 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) | `3.5.7` | `3.5.8` |\n| org.flywaydb:flyway-mysql | `12.1.1` | `12.4.0` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.44` | `1.18.46` |\n| com.github.RouHim:jaudiotagger | `2.0.18` | `2.0.19` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.8` | `7.5.10` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `3.0.2` | `3.0.3` |\n| [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `3.1.0` | `3.1.2` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.3` | `4.0.6` |\n| org.hibernate.orm | `7.3.0.Final` | `7.3.2.Final` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.0` | `9.4.1` |\n\n\nUpdates `org.mariadb.jdbc:mariadb-java-client` from 3.5.7 to 3.5.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/releases\"\u003eorg.mariadb.jdbc:mariadb-java-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eMariaDB Connector/Java 3.5.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/blob/main/CHANGELOG.md\"\u003eorg.mariadb.jdbc:mariadb-java-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/26b34a2f060070beb73515cfd2a49fabc8728843\"\u003e\u003ccode\u003e26b34a2\u003c/code\u003e\u003c/a\u003e Merge branch 'develop'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/06d6efee7838ab8f89ef0f7f362c6b4a95754630\"\u003e\u003ccode\u003e06d6efe\u003c/code\u003e\u003c/a\u003e bump CI actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a86a83c8fd1fa84d8d4349baab3b29df8f575192\"\u003e\u003ccode\u003ea86a83c\u003c/code\u003e\u003c/a\u003e bump 3.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/975f9919232b21f40d823423eac6e32d87ea8e35\"\u003e\u003ccode\u003e975f991\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to implement Codec directly and extract shared...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/75bb509521661603e0e90dd6dd5942d1382bf499\"\u003e\u003ccode\u003e75bb509\u003c/code\u003e\u003c/a\u003e [misc] code formatting cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/4c0b6a0ddd95f42fa866ce0d08e384caa2553d43\"\u003e\u003ccode\u003e4c0b6a0\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to extend UtilDateCodec and extract common dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a5b7fb1a26277a076052dbbd1a7ee2bacd4f602f\"\u003e\u003ccode\u003ea5b7fb1\u003c/code\u003e\u003c/a\u003e [misc] convert Reader and Writer from interfaces to final class implementatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/d31eb060fc66e9e37479e18a38bb1401d53ecb63\"\u003e\u003ccode\u003ed31eb06\u003c/code\u003e\u003c/a\u003e [misc] convert ReadableByteBuf from interface to final class implementation, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/11d45a9e6ea4d942e75747132bb8982471d890b8\"\u003e\u003ccode\u003e11d45a9\u003c/code\u003e\u003c/a\u003e [misc] optimize binary row decoder null bitmap checks and simplify signed Big...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/5aad14c381cbc2c4e0383ffed275306f359bd508\"\u003e\u003ccode\u003e5aad14c\u003c/code\u003e\u003c/a\u003e [misc] optimize BigInt column decoding and improve type safety in codec inter...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb:flyway-mysql` from 12.1.1 to 12.4.0\n\nUpdates `org.projectlombok:lombok` from 1.18.44 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.44...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.RouHim:jaudiotagger` from 2.0.18 to 2.0.19\n\nUpdates `com.github.junrar:junrar` from 7.5.8 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.5.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier Roebroeck\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.9\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Ryan Campbell\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.9...v7.5.10\"\u003e7.5.10\u003c/a\u003e (2026-04-15)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.9\"\u003e7.5.9\u003c/a\u003e (2026-04-13)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e36ee091ad7311a021e1c928ada103a3eab2d890\"\u003e\u003ccode\u003ee36ee09\u003c/code\u003e\u003c/a\u003e ci: publish test results\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/154e3bf7b05bb6dcad5437a8fd8e99a8da916373\"\u003e\u003ccode\u003e154e3bf\u003c/code\u003e\u003c/a\u003e test: disable test on windows due to path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d77e9a83eb721cd51f9c23d7869d0e6ad7f952d7\"\u003e\u003ccode\u003ed77e9a8\u003c/code\u003e\u003c/a\u003e fix: better handling of files outside directory when extracting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/a60857b35c17dbd5354a37816421d7b051a8ba03\"\u003e\u003ccode\u003ea60857b\u003c/code\u003e\u003c/a\u003e ci: update homebrew action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/72cd364f47bd396e208cd82ca7aa98759ab84f01\"\u003e\u003ccode\u003e72cd364\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.9 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/7e1b5581f9d622b96e9e2a8574188027e7642634\"\u003e\u003ccode\u003e7e1b558\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/f800f10fa46f803f1220f508a40f59af29eb5118\"\u003e\u003ccode\u003ef800f10\u003c/code\u003e\u003c/a\u003e build(deps): bump org.mockito:mockito-core from 5.22.0 to 5.23.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/1886aecf253467ff8f98fc1187237605cf59fbb0\"\u003e\u003ccode\u003e1886aec\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/832f6857128bcd678d76bf263f8ee1533a1e8a86\"\u003e\u003ccode\u003e832f685\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper from 9.4.0 to 9.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/9b69c6b708dd88b925ba91fde563869cc0f8f586\"\u003e\u003ccode\u003e9b69c6b\u003c/code\u003e\u003c/a\u003e fix: ArrayIndexOutOfBoundsException in solid RAR v20 archive extraction\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.22.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.22.1...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tools.jackson:jackson-bom` from 3.1.0 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0ae1c2ae270dabe8e21700cbcee1c266b54e84f0\"\u003e\u003ccode\u003e0ae1c2a\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3c171ebd5d6c5d8f6e8d4f3614cf9b4f0a8babb9\"\u003e\u003ccode\u003e3c171eb\u003c/code\u003e\u003c/a\u003e Prep for 3.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/8046ced071e0b36747bae0f0a96fa21914de1303\"\u003e\u003ccode\u003e8046ced\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ea00ca4cc59ba656a17a071e30a68387e51d3e0d\"\u003e\u003ccode\u003eea00ca4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0628060381a5b86e3fc07854a27b7453de559b7e\"\u003e\u003ccode\u003e0628060\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/22b8aeec79b87751a41c586404850c526eed1dbe\"\u003e\u003ccode\u003e22b8aee\u003c/code\u003e\u003c/a\u003e Prep for 3.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/2d305e6af8b61c6c30f5658cd8c794419e233a53\"\u003e\u003ccode\u003e2d305e6\u003c/code\u003e\u003c/a\u003e Add JDK 25 in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/da85336a6e5749354bc65536f493a712401eea4f\"\u003e\u003ccode\u003eda85336\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/FasterXML/jackson-bom/issues/123\"\u003e#123\u003c/a\u003e from FasterXML/tatu/3.1/122-switch-to-junit6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/7ec5e0ec5ad5e53e12e775537e4717478841d459\"\u003e\u003ccode\u003e7ec5e0e\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/FasterXML/jackson-bom/issues/122\"\u003e#122\u003c/a\u003e: switch 3.x (starting with 3.1.1) to use JUnit 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ef0977031036f6fcc6d54eaeb93ccd35a2ab2c96\"\u003e\u003ccode\u003eef09770\u003c/code\u003e\u003c/a\u003e Update oss-parent dep\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-3.1.0...jackson-bom-3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 4.0.3 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnversRevisionRepositoriesRegistrar should reuse \u003ccode\u003e@EnableEnversRepositories\u003c/code\u003e rather than configuring the JPA counterpart \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50039\"\u003e#50039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebFlux Cloud Foundry links endpoint includes query string from received request in resolved links \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50017\"\u003e#50017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImports on a containing test class are ignored when a nested class has imports \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50012\"\u003e#50012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49951\"\u003e#49951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e500 response from env endpoint when supplied pattern is invalid \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49946\"\u003e#49946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49945\"\u003e#49945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP method is lost when configuring excludes in EndpointRequest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49943\"\u003e#49943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor HttpMethod for reactive additional endpoint paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49880\"\u003e#49880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/artemis image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49869\"\u003e#49869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/activemq image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49866\"\u003e#49866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49854\"\u003e#49854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI versioning path strategy should be applied path last as it is not meant to yield \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49800\"\u003e#49800\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs to encourage Java fundamentals for beginners that prefer to learn that way \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50146\"\u003e#50146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP Service Interface Clients still document that API versioning can be configured via properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50126\"\u003e#50126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the observability section of the Lettuce documentation is broken \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50097\"\u003e#50097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJavadoc for StaticResourceLocation.FAVICON doesn't describe icons location \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50085\"\u003e#50085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySamlRelyingPartyConfiguration is missing a Kotlin sample \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50024\"\u003e#50024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect default value for management.httpexchanges.recording.include in configuration metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50019\"\u003e#50019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the Kubernetes documentation when discussing startup probes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50015\"\u003e#50015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in JdbcSessionAutoConfiguration Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49873\"\u003e#49873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify that configuration property default values are not available through the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49851\"\u003e#49851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument the need for Liquibase and Flyway starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49839\"\u003e#49839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKafka documentation refers to deprecated JSON serializer and deserializer classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49826\"\u003e#49826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Elasticsearch Client 9.2.8 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50027\"\u003e#50027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Groovy 5.0.5 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49911\"\u003e#49911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Hibernate 7.2.12.Final \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50134\"\u003e#50134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Jackson Bom 3.1.2 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50051\"\u003e#50051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1\"\u003eJaxen 2.0.1\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50104\"\u003e#50104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5\"\u003eJaybird 6.0.5\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49914\"\u003e#49914\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/8821ad2cd381bb4b9615a61479e1de7305a8ba39\"\u003e\u003ccode\u003e8821ad2\u003c/code\u003e\u003c/a\u003e Release v4.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9e4048a03f17adfe78057a3c4d5b4693305c0ae0\"\u003e\u003ccode\u003e9e4048a\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/20bb11c3984802990572ddbeae8b66885a8f2462\"\u003e\u003ccode\u003e20bb11c\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.15-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/98daa8ea30f39a5b0ca6768b5cbc2dc8698ef4e1\"\u003e\u003ccode\u003e98daa8e\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9dc5aa2863f598a15d3dfa116f4b89249daba7e7\"\u003e\u003ccode\u003e9dc5aa2\u003c/code\u003e\u003c/a\u003e Polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/874f6294b91da18367b8b5ab7b2fad3fa23cfba6\"\u003e\u003ccode\u003e874f629\u003c/code\u003e\u003c/a\u003e Fix default security with actuator but without health\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/e41b3bf731d1134bc18ec1f68ac01e0fe1c54923\"\u003e\u003ccode\u003ee41b3bf\u003c/code\u003e\u003c/a\u003e Enable hostname verification for SSL connections to Elasticsearch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ef8527bb0ef8f564f4f9c57a7be99a7aa96c6ab0\"\u003e\u003ccode\u003eef8527b\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f533a4549c3999aac30cb5830f07dc304933e93d\"\u003e\u003ccode\u003ef533a45\u003c/code\u003e\u003c/a\u003e Do not follow symlinks when writing PID file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4a7bd332b6d19fef1aa4cf28434985f2b03a2e0f\"\u003e\u003ccode\u003e4a7bd33\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.3...v4.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.hibernate.orm` from 7.3.0.Final to 7.3.2.Final\n\nUpdates `com.github.ben-manes.versions` from 0.53.0 to 0.54.0\n\nUpdates `gradle-wrapper` from 9.4.0 to 9.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.4.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.4.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava 26 support\u003c/li\u003e\n\u003cli\u003eNon-class-based JVM tests\u003c/li\u003e\n\u003cli\u003eEnhanced console progress bar\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.4.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/akankshaa-00\"\u003eakankshaa-00\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/dblood\"\u003edblood\u003c/a\u003e,\n\u003ca href=\"https://github.com/drieks\"\u003eDennis Rieks\u003c/a\u003e,\n\u003ca href=\"https://github.com/duvvuvenkataramana\"\u003eduvvuvenkataramana\u003c/a\u003e,\n\u003ca href=\"https://github.com/wakingrufus\"\u003eJohn Burns\u003c/a\u003e,\n\u003ca href=\"https://github.com/Julianw03\"\u003eJulian\u003c/a\u003e,\n\u003ca href=\"https://github.com/kevinstembridge\"\u003ekevinstembridge\u003c/a\u003e,\n\u003ca href=\"https://github.com/NielsDoucet\"\u003eNiels Doucet\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rhernandez35\"\u003eRichard Hernandez\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/slovdahl\"\u003eSebastian Lövdahl\u003c/a\u003e,\n\u003ca href=\"https://github.com/stephan2405\"\u003estephan2405\u003c/a\u003e,\n\u003ca href=\"https://github.com/slandelle\"\u003eStephane Landelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Pankraz76\"\u003eVincent Potuček\u003c/a\u003e,\n\u003ca href=\"https://github.com/vlsi\"\u003eVladimir Sitnikov\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.4.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.4.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2d6327017519d23b96af35865dc997fcb544fb40\"\u003e\u003ccode\u003e2d63270\u003c/code\u003e\u003c/a\u003e Ignore test (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37180\"\u003e#37180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4c15906d6a20acc61f2f7b9272c8cb7a6f708239\"\u003e\u003ccode\u003e4c15906\u003c/code\u003e\u003c/a\u003e Ignore test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9759ac1dec4b3742012397b5f0127a777947b73f\"\u003e\u003ccode\u003e9759ac1\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37178\"\u003e#37178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/aaf6ed46ed8d4c3b9b7a7a751cda5893668b2a42\"\u003e\u003ccode\u003eaaf6ed4\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/47cb78328a6ddc6c1509003ab3264017ed5d9a0a\"\u003e\u003ccode\u003e47cb783\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 progress bar not cleared on SIGINT (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37038\"\u003e#37038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ef03f1d41b0a65f6aae0931d4746f7359647a7e4\"\u003e\u003ccode\u003eef03f1d\u003c/code\u003e\u003c/a\u003e Fix order-dependent assertion in CrossBuildScriptCachingIntegrationSpec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd26fd36d693337dbf033143a9ac0e71f78a4209\"\u003e\u003ccode\u003efd26fd3\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 taskbar progress bar not cleared on build end or SIGINT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0a84d6751921709fbc7d552a50d9e3b34eb1930d\"\u003e\u003ccode\u003e0a84d67\u003c/code\u003e\u003c/a\u003e Release notes for 9.4.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37148\"\u003e#37148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e569c31320ae6c7be490def60d36de17881f9957\"\u003e\u003ccode\u003ee569c31\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9f227defc2e02a991f05fba50f7de2fbe13b7c5b\"\u003e\u003ccode\u003e9f227de\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.0...v9.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/Owemeone/grimmory/pull/27","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Owemeone%2Fgrimmory/issues/27","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/27/packages"}},{"old_version":"0.53.0","new_version":"0.54.0","update_type":"minor","path":null,"pr_created_at":"2026-04-24T03:10:26.000Z","version_change":"0.53.0 → 0.54.0","issue":{"uuid":"4320244125","node_id":"PR_kwDORvJjTc7VMZtC","number":23,"state":"open","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 16 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-24T03:10:26.000Z","updated_at":"2026-04-24T03:15:15.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":16,"packages":[{"name":"org.mariadb.jdbc:mariadb-java-client","old_version":"3.5.7","new_version":"3.5.8","repository_url":"https://github.com/mariadb-corporation/mariadb-connector-j"},{"name":"org.flywaydb:flyway-mysql","old_version":"12.0.3","new_version":"12.4.0"},{"name":"org.projectlombok:lombok","old_version":"1.18.42","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"org.apache.pdfbox:pdfbox","old_version":"3.0.6","new_version":"3.0.7"},{"name":"com.github.RouHim:jaudiotagger","old_version":"2.0.16","new_version":"2.0.19"},{"name":"com.github.junrar:junrar","old_version":"7.5.8","new_version":"7.5.10","repository_url":"https://github.com/junrar/junrar"},{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"4.0.6","new_version":"4.0.7"},{"name":"tools.jackson:jackson-bom","old_version":"3.1.0","new_version":"3.1.2","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"org.springframework.boot","old_version":"4.0.3","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.hibernate.orm","old_version":"7.2.6.Final","new_version":"7.3.2.Final"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"gradle-wrapper","old_version":"9.4.0","new_version":"9.4.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 14 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) | `3.5.7` | `3.5.8` |\n| org.flywaydb:flyway-mysql | `12.0.3` | `12.4.0` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.42` | `1.18.46` |\n| org.apache.pdfbox:pdfbox | `3.0.6` | `3.0.7` |\n| com.github.RouHim:jaudiotagger | `2.0.16` | `2.0.19` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.8` | `7.5.10` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `3.0.2` | `3.0.3` |\n| org.glassfish.jaxb:jaxb-runtime | `4.0.6` | `4.0.7` |\n| [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `3.1.0` | `3.1.2` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.3` | `4.0.6` |\n| org.hibernate.orm | `7.2.6.Final` | `7.3.2.Final` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.0` | `9.4.1` |\n\n\nUpdates `org.mariadb.jdbc:mariadb-java-client` from 3.5.7 to 3.5.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/releases\"\u003eorg.mariadb.jdbc:mariadb-java-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eMariaDB Connector/Java 3.5.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/blob/main/CHANGELOG.md\"\u003eorg.mariadb.jdbc:mariadb-java-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/26b34a2f060070beb73515cfd2a49fabc8728843\"\u003e\u003ccode\u003e26b34a2\u003c/code\u003e\u003c/a\u003e Merge branch 'develop'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/06d6efee7838ab8f89ef0f7f362c6b4a95754630\"\u003e\u003ccode\u003e06d6efe\u003c/code\u003e\u003c/a\u003e bump CI actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a86a83c8fd1fa84d8d4349baab3b29df8f575192\"\u003e\u003ccode\u003ea86a83c\u003c/code\u003e\u003c/a\u003e bump 3.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/975f9919232b21f40d823423eac6e32d87ea8e35\"\u003e\u003ccode\u003e975f991\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to implement Codec directly and extract shared...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/75bb509521661603e0e90dd6dd5942d1382bf499\"\u003e\u003ccode\u003e75bb509\u003c/code\u003e\u003c/a\u003e [misc] code formatting cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/4c0b6a0ddd95f42fa866ce0d08e384caa2553d43\"\u003e\u003ccode\u003e4c0b6a0\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to extend UtilDateCodec and extract common dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a5b7fb1a26277a076052dbbd1a7ee2bacd4f602f\"\u003e\u003ccode\u003ea5b7fb1\u003c/code\u003e\u003c/a\u003e [misc] convert Reader and Writer from interfaces to final class implementatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/d31eb060fc66e9e37479e18a38bb1401d53ecb63\"\u003e\u003ccode\u003ed31eb06\u003c/code\u003e\u003c/a\u003e [misc] convert ReadableByteBuf from interface to final class implementation, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/11d45a9e6ea4d942e75747132bb8982471d890b8\"\u003e\u003ccode\u003e11d45a9\u003c/code\u003e\u003c/a\u003e [misc] optimize binary row decoder null bitmap checks and simplify signed Big...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/5aad14c381cbc2c4e0383ffed275306f359bd508\"\u003e\u003ccode\u003e5aad14c\u003c/code\u003e\u003c/a\u003e [misc] optimize BigInt column decoding and improve type safety in codec inter...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb:flyway-mysql` from 12.0.3 to 12.4.0\n\nUpdates `org.projectlombok:lombok` from 1.18.42 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.44 (March 11th, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFEATURE: \u003ccode\u003e@Jacksonized\u003c/code\u003e now supports both Jackson2 and Jackson3; you'll get a warning until you configure which one (or even both!) you want lombok to generate. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3950\"\u003e#3950\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: On JDK25, \u003ccode\u003eval\u003c/code\u003e and \u003ccode\u003e@ExtensionMethod\u003c/code\u003e could sometimes cause erroneous errors (in that you see errors but compilation succeeds anyway) using javac. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3947\"\u003e#3947\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e + fields marked \u003ccode\u003etransient\u003c/code\u003e would result in those transient fields being serialised which is surprising (and thus undesired) behaviour. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3936\"\u003e#3936\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.42...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.pdfbox:pdfbox` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:pdfbox-io` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:xmpbox` from 3.0.6 to 3.0.7\n\nUpdates `com.github.RouHim:jaudiotagger` from 2.0.16 to 2.0.19\n\nUpdates `com.github.junrar:junrar` from 7.5.8 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.5.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier Roebroeck\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.9\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Ryan Campbell\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.9...v7.5.10\"\u003e7.5.10\u003c/a\u003e (2026-04-15)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.9\"\u003e7.5.9\u003c/a\u003e (2026-04-13)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e36ee091ad7311a021e1c928ada103a3eab2d890\"\u003e\u003ccode\u003ee36ee09\u003c/code\u003e\u003c/a\u003e ci: publish test results\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/154e3bf7b05bb6dcad5437a8fd8e99a8da916373\"\u003e\u003ccode\u003e154e3bf\u003c/code\u003e\u003c/a\u003e test: disable test on windows due to path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d77e9a83eb721cd51f9c23d7869d0e6ad7f952d7\"\u003e\u003ccode\u003ed77e9a8\u003c/code\u003e\u003c/a\u003e fix: better handling of files outside directory when extracting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/a60857b35c17dbd5354a37816421d7b051a8ba03\"\u003e\u003ccode\u003ea60857b\u003c/code\u003e\u003c/a\u003e ci: update homebrew action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/72cd364f47bd396e208cd82ca7aa98759ab84f01\"\u003e\u003ccode\u003e72cd364\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.9 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/7e1b5581f9d622b96e9e2a8574188027e7642634\"\u003e\u003ccode\u003e7e1b558\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/f800f10fa46f803f1220f508a40f59af29eb5118\"\u003e\u003ccode\u003ef800f10\u003c/code\u003e\u003c/a\u003e build(deps): bump org.mockito:mockito-core from 5.22.0 to 5.23.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/1886aecf253467ff8f98fc1187237605cf59fbb0\"\u003e\u003ccode\u003e1886aec\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/832f6857128bcd678d76bf263f8ee1533a1e8a86\"\u003e\u003ccode\u003e832f685\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper from 9.4.0 to 9.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/9b69c6b708dd88b925ba91fde563869cc0f8f586\"\u003e\u003ccode\u003e9b69c6b\u003c/code\u003e\u003c/a\u003e fix: ArrayIndexOutOfBoundsException in solid RAR v20 archive extraction\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.22.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.22.1...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.glassfish.jaxb:jaxb-runtime` from 4.0.6 to 4.0.7\n\nUpdates `tools.jackson:jackson-bom` from 3.1.0 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0ae1c2ae270dabe8e21700cbcee1c266b54e84f0\"\u003e\u003ccode\u003e0ae1c2a\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3c171ebd5d6c5d8f6e8d4f3614cf9b4f0a8babb9\"\u003e\u003ccode\u003e3c171eb\u003c/code\u003e\u003c/a\u003e Prep for 3.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/8046ced071e0b36747bae0f0a96fa21914de1303\"\u003e\u003ccode\u003e8046ced\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ea00ca4cc59ba656a17a071e30a68387e51d3e0d\"\u003e\u003ccode\u003eea00ca4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0628060381a5b86e3fc07854a27b7453de559b7e\"\u003e\u003ccode\u003e0628060\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/22b8aeec79b87751a41c586404850c526eed1dbe\"\u003e\u003ccode\u003e22b8aee\u003c/code\u003e\u003c/a\u003e Prep for 3.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/2d305e6af8b61c6c30f5658cd8c794419e233a53\"\u003e\u003ccode\u003e2d305e6\u003c/code\u003e\u003c/a\u003e Add JDK 25 in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/da85336a6e5749354bc65536f493a712401eea4f\"\u003e\u003ccode\u003eda85336\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/FasterXML/jackson-bom/issues/123\"\u003e#123\u003c/a\u003e from FasterXML/tatu/3.1/122-switch-to-junit6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/7ec5e0ec5ad5e53e12e775537e4717478841d459\"\u003e\u003ccode\u003e7ec5e0e\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/FasterXML/jackson-bom/issues/122\"\u003e#122\u003c/a\u003e: switch 3.x (starting with 3.1.1) to use JUnit 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ef0977031036f6fcc6d54eaeb93ccd35a2ab2c96\"\u003e\u003ccode\u003eef09770\u003c/code\u003e\u003c/a\u003e Update oss-parent dep\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-3.1.0...jackson-bom-3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 4.0.3 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnversRevisionRepositoriesRegistrar should reuse \u003ccode\u003e@EnableEnversRepositories\u003c/code\u003e rather than configuring the JPA counterpart \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50039\"\u003e#50039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebFlux Cloud Foundry links endpoint includes query string from received request in resolved links \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50017\"\u003e#50017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImports on a containing test class are ignored when a nested class has imports \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50012\"\u003e#50012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49951\"\u003e#49951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e500 response from env endpoint when supplied pattern is invalid \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49946\"\u003e#49946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49945\"\u003e#49945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP method is lost when configuring excludes in EndpointRequest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49943\"\u003e#49943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor HttpMethod for reactive additional endpoint paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49880\"\u003e#49880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/artemis image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49869\"\u003e#49869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/activemq image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49866\"\u003e#49866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49854\"\u003e#49854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI versioning path strategy should be applied path last as it is not meant to yield \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49800\"\u003e#49800\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs to encourage Java fundamentals for beginners that prefer to learn that way \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50146\"\u003e#50146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP Service Interface Clients still document that API versioning can be configured via properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50126\"\u003e#50126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the observability section of the Lettuce documentation is broken \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50097\"\u003e#50097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJavadoc for StaticResourceLocation.FAVICON doesn't describe icons location \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50085\"\u003e#50085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySamlRelyingPartyConfiguration is missing a Kotlin sample \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50024\"\u003e#50024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect default value for management.httpexchanges.recording.include in configuration metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50019\"\u003e#50019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the Kubernetes documentation when discussing startup probes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50015\"\u003e#50015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in JdbcSessionAutoConfiguration Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49873\"\u003e#49873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify that configuration property default values are not available through the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49851\"\u003e#49851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument the need for Liquibase and Flyway starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49839\"\u003e#49839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKafka documentation refers to deprecated JSON serializer and deserializer classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49826\"\u003e#49826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Elasticsearch Client 9.2.8 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50027\"\u003e#50027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Groovy 5.0.5 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49911\"\u003e#49911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Hibernate 7.2.12.Final \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50134\"\u003e#50134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Jackson Bom 3.1.2 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50051\"\u003e#50051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1\"\u003eJaxen 2.0.1\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50104\"\u003e#50104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5\"\u003eJaybird 6.0.5\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49914\"\u003e#49914\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/8821ad2cd381bb4b9615a61479e1de7305a8ba39\"\u003e\u003ccode\u003e8821ad2\u003c/code\u003e\u003c/a\u003e Release v4.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9e4048a03f17adfe78057a3c4d5b4693305c0ae0\"\u003e\u003ccode\u003e9e4048a\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/20bb11c3984802990572ddbeae8b66885a8f2462\"\u003e\u003ccode\u003e20bb11c\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.15-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/98daa8ea30f39a5b0ca6768b5cbc2dc8698ef4e1\"\u003e\u003ccode\u003e98daa8e\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9dc5aa2863f598a15d3dfa116f4b89249daba7e7\"\u003e\u003ccode\u003e9dc5aa2\u003c/code\u003e\u003c/a\u003e Polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/874f6294b91da18367b8b5ab7b2fad3fa23cfba6\"\u003e\u003ccode\u003e874f629\u003c/code\u003e\u003c/a\u003e Fix default security with actuator but without health\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/e41b3bf731d1134bc18ec1f68ac01e0fe1c54923\"\u003e\u003ccode\u003ee41b3bf\u003c/code\u003e\u003c/a\u003e Enable hostname verification for SSL connections to Elasticsearch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ef8527bb0ef8f564f4f9c57a7be99a7aa96c6ab0\"\u003e\u003ccode\u003eef8527b\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f533a4549c3999aac30cb5830f07dc304933e93d\"\u003e\u003ccode\u003ef533a45\u003c/code\u003e\u003c/a\u003e Do not follow symlinks when writing PID file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4a7bd332b6d19fef1aa4cf28434985f2b03a2e0f\"\u003e\u003ccode\u003e4a7bd33\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.3...v4.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.hibernate.orm` from 7.2.6.Final to 7.3.2.Final\n\nUpdates `com.github.ben-manes.versions` from 0.53.0 to 0.54.0\n\nUpdates `gradle-wrapper` from 9.4.0 to 9.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.4.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.4.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava 26 support\u003c/li\u003e\n\u003cli\u003eNon-class-based JVM tests\u003c/li\u003e\n\u003cli\u003eEnhanced console progress bar\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.4.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/akankshaa-00\"\u003eakankshaa-00\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/dblood\"\u003edblood\u003c/a\u003e,\n\u003ca href=\"https://github.com/drieks\"\u003eDennis Rieks\u003c/a\u003e,\n\u003ca href=\"https://github.com/duvvuvenkataramana\"\u003eduvvuvenkataramana\u003c/a\u003e,\n\u003ca href=\"https://github.com/wakingrufus\"\u003eJohn Burns\u003c/a\u003e,\n\u003ca href=\"https://github.com/Julianw03\"\u003eJulian\u003c/a\u003e,\n\u003ca href=\"https://github.com/kevinstembridge\"\u003ekevinstembridge\u003c/a\u003e,\n\u003ca href=\"https://github.com/NielsDoucet\"\u003eNiels Doucet\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rhernandez35\"\u003eRichard Hernandez\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/slovdahl\"\u003eSebastian Lövdahl\u003c/a\u003e,\n\u003ca href=\"https://github.com/stephan2405\"\u003estephan2405\u003c/a\u003e,\n\u003ca href=\"https://github.com/slandelle\"\u003eStephane Landelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Pankraz76\"\u003eVincent Potuček\u003c/a\u003e,\n\u003ca href=\"https://github.com/vlsi\"\u003eVladimir Sitnikov\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.4.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.4.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2d6327017519d23b96af35865dc997fcb544fb40\"\u003e\u003ccode\u003e2d63270\u003c/code\u003e\u003c/a\u003e Ignore test (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37180\"\u003e#37180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4c15906d6a20acc61f2f7b9272c8cb7a6f708239\"\u003e\u003ccode\u003e4c15906\u003c/code\u003e\u003c/a\u003e Ignore test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9759ac1dec4b3742012397b5f0127a777947b73f\"\u003e\u003ccode\u003e9759ac1\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37178\"\u003e#37178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/aaf6ed46ed8d4c3b9b7a7a751cda5893668b2a42\"\u003e\u003ccode\u003eaaf6ed4\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/47cb78328a6ddc6c1509003ab3264017ed5d9a0a\"\u003e\u003ccode\u003e47cb783\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 progress bar not cleared on SIGINT (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37038\"\u003e#37038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ef03f1d41b0a65f6aae0931d4746f7359647a7e4\"\u003e\u003ccode\u003eef03f1d\u003c/code\u003e\u003c/a\u003e Fix order-dependent assertion in CrossBuildScriptCachingIntegrationSpec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd26fd36d693337dbf033143a9ac0e71f78a4209\"\u003e\u003ccode\u003efd26fd3\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 taskbar progress bar not cleared on build end or SIGINT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0a84d6751921709fbc7d552a50d9e3b34eb1930d\"\u003e\u003ccode\u003e0a84d67\u003c/code\u003e\u003c/a\u003e Release notes for 9.4.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37148\"\u003e#37148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e569c31320ae6c7be490def60d36de17881f9957\"\u003e\u003ccode\u003ee569c31\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9f227defc2e02a991f05fba50f7de2fbe13b7c5b\"\u003e\u003ccode\u003e9f227de\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.0...v9.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/cdome/ollumi/pull/23","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdome%2Follumi/issues/23","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/23/packages"}},{"old_version":"0.53.0","new_version":"0.54.0","update_type":"minor","path":null,"pr_created_at":"2026-04-24T03:10:02.000Z","version_change":"0.53.0 → 0.54.0","issue":{"uuid":"4320242955","node_id":"PR_kwDORpKt9s7VMZd6","number":14,"state":"open","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 15 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-24T03:10:02.000Z","updated_at":"2026-05-08T05:01:03.831Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":15,"packages":[{"name":"org.mariadb.jdbc:mariadb-java-client","old_version":"3.5.7","new_version":"3.5.8","repository_url":"https://github.com/mariadb-corporation/mariadb-connector-j"},{"name":"org.flywaydb:flyway-mysql","old_version":"12.0.3","new_version":"12.4.0"},{"name":"org.projectlombok:lombok","old_version":"1.18.42","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"org.apache.pdfbox:pdfbox","old_version":"3.0.6","new_version":"3.0.7"},{"name":"com.github.junrar:junrar","old_version":"7.5.8","new_version":"7.5.10","repository_url":"https://github.com/junrar/junrar"},{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"4.0.6","new_version":"4.0.7"},{"name":"tools.jackson:jackson-bom","old_version":"3.1.0","new_version":"3.1.2","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"org.springframework.boot","old_version":"4.0.3","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.hibernate.orm","old_version":"7.2.6.Final","new_version":"7.3.2.Final"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"gradle-wrapper","old_version":"9.4.0","new_version":"9.4.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 13 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) | `3.5.7` | `3.5.8` |\n| org.flywaydb:flyway-mysql | `12.0.3` | `12.4.0` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.42` | `1.18.46` |\n| org.apache.pdfbox:pdfbox | `3.0.6` | `3.0.7` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.8` | `7.5.10` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `3.0.2` | `3.0.3` |\n| org.glassfish.jaxb:jaxb-runtime | `4.0.6` | `4.0.7` |\n| [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `3.1.0` | `3.1.2` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.3` | `4.0.6` |\n| org.hibernate.orm | `7.2.6.Final` | `7.3.2.Final` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.0` | `9.4.1` |\n\n\nUpdates `org.mariadb.jdbc:mariadb-java-client` from 3.5.7 to 3.5.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/releases\"\u003eorg.mariadb.jdbc:mariadb-java-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eMariaDB Connector/Java 3.5.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/blob/main/CHANGELOG.md\"\u003eorg.mariadb.jdbc:mariadb-java-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/26b34a2f060070beb73515cfd2a49fabc8728843\"\u003e\u003ccode\u003e26b34a2\u003c/code\u003e\u003c/a\u003e Merge branch 'develop'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/06d6efee7838ab8f89ef0f7f362c6b4a95754630\"\u003e\u003ccode\u003e06d6efe\u003c/code\u003e\u003c/a\u003e bump CI actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a86a83c8fd1fa84d8d4349baab3b29df8f575192\"\u003e\u003ccode\u003ea86a83c\u003c/code\u003e\u003c/a\u003e bump 3.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/975f9919232b21f40d823423eac6e32d87ea8e35\"\u003e\u003ccode\u003e975f991\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to implement Codec directly and extract shared...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/75bb509521661603e0e90dd6dd5942d1382bf499\"\u003e\u003ccode\u003e75bb509\u003c/code\u003e\u003c/a\u003e [misc] code formatting cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/4c0b6a0ddd95f42fa866ce0d08e384caa2553d43\"\u003e\u003ccode\u003e4c0b6a0\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to extend UtilDateCodec and extract common dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a5b7fb1a26277a076052dbbd1a7ee2bacd4f602f\"\u003e\u003ccode\u003ea5b7fb1\u003c/code\u003e\u003c/a\u003e [misc] convert Reader and Writer from interfaces to final class implementatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/d31eb060fc66e9e37479e18a38bb1401d53ecb63\"\u003e\u003ccode\u003ed31eb06\u003c/code\u003e\u003c/a\u003e [misc] convert ReadableByteBuf from interface to final class implementation, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/11d45a9e6ea4d942e75747132bb8982471d890b8\"\u003e\u003ccode\u003e11d45a9\u003c/code\u003e\u003c/a\u003e [misc] optimize binary row decoder null bitmap checks and simplify signed Big...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/5aad14c381cbc2c4e0383ffed275306f359bd508\"\u003e\u003ccode\u003e5aad14c\u003c/code\u003e\u003c/a\u003e [misc] optimize BigInt column decoding and improve type safety in codec inter...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb:flyway-mysql` from 12.0.3 to 12.4.0\n\nUpdates `org.projectlombok:lombok` from 1.18.42 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.44 (March 11th, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFEATURE: \u003ccode\u003e@Jacksonized\u003c/code\u003e now supports both Jackson2 and Jackson3; you'll get a warning until you configure which one (or even both!) you want lombok to generate. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3950\"\u003e#3950\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: On JDK25, \u003ccode\u003eval\u003c/code\u003e and \u003ccode\u003e@ExtensionMethod\u003c/code\u003e could sometimes cause erroneous errors (in that you see errors but compilation succeeds anyway) using javac. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3947\"\u003e#3947\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e + fields marked \u003ccode\u003etransient\u003c/code\u003e would result in those transient fields being serialised which is surprising (and thus undesired) behaviour. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3936\"\u003e#3936\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.42...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.pdfbox:pdfbox` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:pdfbox-io` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:xmpbox` from 3.0.6 to 3.0.7\n\nUpdates `com.github.junrar:junrar` from 7.5.8 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.5.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier Roebroeck\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.9\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Ryan Campbell\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.9...v7.5.10\"\u003e7.5.10\u003c/a\u003e (2026-04-15)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.9\"\u003e7.5.9\u003c/a\u003e (2026-04-13)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e36ee091ad7311a021e1c928ada103a3eab2d890\"\u003e\u003ccode\u003ee36ee09\u003c/code\u003e\u003c/a\u003e ci: publish test results\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/154e3bf7b05bb6dcad5437a8fd8e99a8da916373\"\u003e\u003ccode\u003e154e3bf\u003c/code\u003e\u003c/a\u003e test: disable test on windows due to path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d77e9a83eb721cd51f9c23d7869d0e6ad7f952d7\"\u003e\u003ccode\u003ed77e9a8\u003c/code\u003e\u003c/a\u003e fix: better handling of files outside directory when extracting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/a60857b35c17dbd5354a37816421d7b051a8ba03\"\u003e\u003ccode\u003ea60857b\u003c/code\u003e\u003c/a\u003e ci: update homebrew action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/72cd364f47bd396e208cd82ca7aa98759ab84f01\"\u003e\u003ccode\u003e72cd364\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.9 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/7e1b5581f9d622b96e9e2a8574188027e7642634\"\u003e\u003ccode\u003e7e1b558\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/f800f10fa46f803f1220f508a40f59af29eb5118\"\u003e\u003ccode\u003ef800f10\u003c/code\u003e\u003c/a\u003e build(deps): bump org.mockito:mockito-core from 5.22.0 to 5.23.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/1886aecf253467ff8f98fc1187237605cf59fbb0\"\u003e\u003ccode\u003e1886aec\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/832f6857128bcd678d76bf263f8ee1533a1e8a86\"\u003e\u003ccode\u003e832f685\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper from 9.4.0 to 9.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/9b69c6b708dd88b925ba91fde563869cc0f8f586\"\u003e\u003ccode\u003e9b69c6b\u003c/code\u003e\u003c/a\u003e fix: ArrayIndexOutOfBoundsException in solid RAR v20 archive extraction\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.22.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.22.1...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.glassfish.jaxb:jaxb-runtime` from 4.0.6 to 4.0.7\n\nUpdates `tools.jackson:jackson-bom` from 3.1.0 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0ae1c2ae270dabe8e21700cbcee1c266b54e84f0\"\u003e\u003ccode\u003e0ae1c2a\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3c171ebd5d6c5d8f6e8d4f3614cf9b4f0a8babb9\"\u003e\u003ccode\u003e3c171eb\u003c/code\u003e\u003c/a\u003e Prep for 3.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/8046ced071e0b36747bae0f0a96fa21914de1303\"\u003e\u003ccode\u003e8046ced\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ea00ca4cc59ba656a17a071e30a68387e51d3e0d\"\u003e\u003ccode\u003eea00ca4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0628060381a5b86e3fc07854a27b7453de559b7e\"\u003e\u003ccode\u003e0628060\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/22b8aeec79b87751a41c586404850c526eed1dbe\"\u003e\u003ccode\u003e22b8aee\u003c/code\u003e\u003c/a\u003e Prep for 3.1.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/2d305e6af8b61c6c30f5658cd8c794419e233a53\"\u003e\u003ccode\u003e2d305e6\u003c/code\u003e\u003c/a\u003e Add JDK 25 in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/da85336a6e5749354bc65536f493a712401eea4f\"\u003e\u003ccode\u003eda85336\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/FasterXML/jackson-bom/issues/123\"\u003e#123\u003c/a\u003e from FasterXML/tatu/3.1/122-switch-to-junit6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/7ec5e0ec5ad5e53e12e775537e4717478841d459\"\u003e\u003ccode\u003e7ec5e0e\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/FasterXML/jackson-bom/issues/122\"\u003e#122\u003c/a\u003e: switch 3.x (starting with 3.1.1) to use JUnit 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ef0977031036f6fcc6d54eaeb93ccd35a2ab2c96\"\u003e\u003ccode\u003eef09770\u003c/code\u003e\u003c/a\u003e Update oss-parent dep\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-3.1.0...jackson-bom-3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 4.0.3 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnversRevisionRepositoriesRegistrar should reuse \u003ccode\u003e@EnableEnversRepositories\u003c/code\u003e rather than configuring the JPA counterpart \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50039\"\u003e#50039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebFlux Cloud Foundry links endpoint includes query string from received request in resolved links \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50017\"\u003e#50017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImports on a containing test class are ignored when a nested class has imports \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50012\"\u003e#50012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49951\"\u003e#49951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e500 response from env endpoint when supplied pattern is invalid \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49946\"\u003e#49946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49945\"\u003e#49945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP method is lost when configuring excludes in EndpointRequest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49943\"\u003e#49943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor HttpMethod for reactive additional endpoint paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49880\"\u003e#49880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/artemis image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49869\"\u003e#49869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/activemq image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49866\"\u003e#49866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49854\"\u003e#49854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI versioning path strategy should be applied path last as it is not meant to yield \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49800\"\u003e#49800\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs to encourage Java fundamentals for beginners that prefer to learn that way \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50146\"\u003e#50146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP Service Interface Clients still document that API versioning can be configured via properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50126\"\u003e#50126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the observability section of the Lettuce documentation is broken \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50097\"\u003e#50097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJavadoc for StaticResourceLocation.FAVICON doesn't describe icons location \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50085\"\u003e#50085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySamlRelyingPartyConfiguration is missing a Kotlin sample \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50024\"\u003e#50024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect default value for management.httpexchanges.recording.include in configuration metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50019\"\u003e#50019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the Kubernetes documentation when discussing startup probes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50015\"\u003e#50015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in JdbcSessionAutoConfiguration Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49873\"\u003e#49873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify that configuration property default values are not available through the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49851\"\u003e#49851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument the need for Liquibase and Flyway starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49839\"\u003e#49839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKafka documentation refers to deprecated JSON serializer and deserializer classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49826\"\u003e#49826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Elasticsearch Client 9.2.8 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50027\"\u003e#50027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Groovy 5.0.5 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49911\"\u003e#49911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Hibernate 7.2.12.Final \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50134\"\u003e#50134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Jackson Bom 3.1.2 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50051\"\u003e#50051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1\"\u003eJaxen 2.0.1\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50104\"\u003e#50104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5\"\u003eJaybird 6.0.5\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49914\"\u003e#49914\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/8821ad2cd381bb4b9615a61479e1de7305a8ba39\"\u003e\u003ccode\u003e8821ad2\u003c/code\u003e\u003c/a\u003e Release v4.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9e4048a03f17adfe78057a3c4d5b4693305c0ae0\"\u003e\u003ccode\u003e9e4048a\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/20bb11c3984802990572ddbeae8b66885a8f2462\"\u003e\u003ccode\u003e20bb11c\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.15-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/98daa8ea30f39a5b0ca6768b5cbc2dc8698ef4e1\"\u003e\u003ccode\u003e98daa8e\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9dc5aa2863f598a15d3dfa116f4b89249daba7e7\"\u003e\u003ccode\u003e9dc5aa2\u003c/code\u003e\u003c/a\u003e Polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/874f6294b91da18367b8b5ab7b2fad3fa23cfba6\"\u003e\u003ccode\u003e874f629\u003c/code\u003e\u003c/a\u003e Fix default security with actuator but without health\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/e41b3bf731d1134bc18ec1f68ac01e0fe1c54923\"\u003e\u003ccode\u003ee41b3bf\u003c/code\u003e\u003c/a\u003e Enable hostname verification for SSL connections to Elasticsearch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ef8527bb0ef8f564f4f9c57a7be99a7aa96c6ab0\"\u003e\u003ccode\u003eef8527b\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f533a4549c3999aac30cb5830f07dc304933e93d\"\u003e\u003ccode\u003ef533a45\u003c/code\u003e\u003c/a\u003e Do not follow symlinks when writing PID file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4a7bd332b6d19fef1aa4cf28434985f2b03a2e0f\"\u003e\u003ccode\u003e4a7bd33\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.3...v4.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.hibernate.orm` from 7.2.6.Final to 7.3.2.Final\n\nUpdates `com.github.ben-manes.versions` from 0.53.0 to 0.54.0\n\nUpdates `gradle-wrapper` from 9.4.0 to 9.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.4.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.4.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava 26 support\u003c/li\u003e\n\u003cli\u003eNon-class-based JVM tests\u003c/li\u003e\n\u003cli\u003eEnhanced console progress bar\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.4.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/akankshaa-00\"\u003eakankshaa-00\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/dblood\"\u003edblood\u003c/a\u003e,\n\u003ca href=\"https://github.com/drieks\"\u003eDennis Rieks\u003c/a\u003e,\n\u003ca href=\"https://github.com/duvvuvenkataramana\"\u003eduvvuvenkataramana\u003c/a\u003e,\n\u003ca href=\"https://github.com/wakingrufus\"\u003eJohn Burns\u003c/a\u003e,\n\u003ca href=\"https://github.com/Julianw03\"\u003eJulian\u003c/a\u003e,\n\u003ca href=\"https://github.com/kevinstembridge\"\u003ekevinstembridge\u003c/a\u003e,\n\u003ca href=\"https://github.com/NielsDoucet\"\u003eNiels Doucet\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rhernandez35\"\u003eRichard Hernandez\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/slovdahl\"\u003eSebastian Lövdahl\u003c/a\u003e,\n\u003ca href=\"https://github.com/stephan2405\"\u003estephan2405\u003c/a\u003e,\n\u003ca href=\"https://github.com/slandelle\"\u003eStephane Landelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Pankraz76\"\u003eVincent Potuček\u003c/a\u003e,\n\u003ca href=\"https://github.com/vlsi\"\u003eVladimir Sitnikov\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.4.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.4.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2d6327017519d23b96af35865dc997fcb544fb40\"\u003e\u003ccode\u003e2d63270\u003c/code\u003e\u003c/a\u003e Ignore test (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37180\"\u003e#37180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4c15906d6a20acc61f2f7b9272c8cb7a6f708239\"\u003e\u003ccode\u003e4c15906\u003c/code\u003e\u003c/a\u003e Ignore test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9759ac1dec4b3742012397b5f0127a777947b73f\"\u003e\u003ccode\u003e9759ac1\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37178\"\u003e#37178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/aaf6ed46ed8d4c3b9b7a7a751cda5893668b2a42\"\u003e\u003ccode\u003eaaf6ed4\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/47cb78328a6ddc6c1509003ab3264017ed5d9a0a\"\u003e\u003ccode\u003e47cb783\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 progress bar not cleared on SIGINT (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37038\"\u003e#37038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ef03f1d41b0a65f6aae0931d4746f7359647a7e4\"\u003e\u003ccode\u003eef03f1d\u003c/code\u003e\u003c/a\u003e Fix order-dependent assertion in CrossBuildScriptCachingIntegrationSpec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd26fd36d693337dbf033143a9ac0e71f78a4209\"\u003e\u003ccode\u003efd26fd3\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 taskbar progress bar not cleared on build end or SIGINT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0a84d6751921709fbc7d552a50d9e3b34eb1930d\"\u003e\u003ccode\u003e0a84d67\u003c/code\u003e\u003c/a\u003e Release notes for 9.4.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37148\"\u003e#37148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e569c31320ae6c7be490def60d36de17881f9957\"\u003e\u003ccode\u003ee569c31\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9f227defc2e02a991f05fba50f7de2fbe13b7c5b\"\u003e\u003ccode\u003e9f227de\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.0...v9.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/erblore/erblore/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/erblore%2Ferblore/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"}},{"old_version":"0.53.0","new_version":"0.54.0","update_type":"minor","path":null,"pr_created_at":"2026-04-24T03:09:53.000Z","version_change":"0.53.0 → 0.54.0","issue":{"uuid":"4320242584","node_id":"PR_kwDORp5DU87VMZY_","number":46,"state":"open","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 10 updates","user":"dependabot[bot]","labels":["backend","dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-24T03:09:53.000Z","updated_at":"2026-04-24T03:14:40.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":10,"packages":[{"name":"org.flywaydb:flyway-mysql","old_version":"12.3.0","new_version":"12.4.0"},{"name":"org.projectlombok:lombok","old_version":"1.18.44","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"com.github.junrar:junrar","old_version":"7.5.8","new_version":"7.5.10","repository_url":"https://github.com/junrar/junrar"},{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"tools.jackson:jackson-bom","old_version":"3.1.1","new_version":"3.1.2","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"org.springframework.boot","old_version":"4.0.5","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.hibernate.orm","old_version":"7.3.0.Final","new_version":"7.3.2.Final"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"org.owasp.dependencycheck","old_version":"12.2.0","new_version":"12.2.1"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 10 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| org.flywaydb:flyway-mysql | `12.3.0` | `12.4.0` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.44` | `1.18.46` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.8` | `7.5.10` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `3.0.2` | `3.0.3` |\n| [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `3.1.1` | `3.1.2` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.5` | `4.0.6` |\n| org.hibernate.orm | `7.3.0.Final` | `7.3.2.Final` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| org.owasp.dependencycheck | `12.2.0` | `12.2.1` |\n\n\nUpdates `org.flywaydb:flyway-mysql` from 12.3.0 to 12.4.0\n\nUpdates `org.projectlombok:lombok` from 1.18.44 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.44...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.junrar:junrar` from 7.5.8 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.5.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier Roebroeck\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.9\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Ryan Campbell\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.9...v7.5.10\"\u003e7.5.10\u003c/a\u003e (2026-04-15)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.9\"\u003e7.5.9\u003c/a\u003e (2026-04-13)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e36ee091ad7311a021e1c928ada103a3eab2d890\"\u003e\u003ccode\u003ee36ee09\u003c/code\u003e\u003c/a\u003e ci: publish test results\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/154e3bf7b05bb6dcad5437a8fd8e99a8da916373\"\u003e\u003ccode\u003e154e3bf\u003c/code\u003e\u003c/a\u003e test: disable test on windows due to path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d77e9a83eb721cd51f9c23d7869d0e6ad7f952d7\"\u003e\u003ccode\u003ed77e9a8\u003c/code\u003e\u003c/a\u003e fix: better handling of files outside directory when extracting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/a60857b35c17dbd5354a37816421d7b051a8ba03\"\u003e\u003ccode\u003ea60857b\u003c/code\u003e\u003c/a\u003e ci: update homebrew action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/72cd364f47bd396e208cd82ca7aa98759ab84f01\"\u003e\u003ccode\u003e72cd364\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.9 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/7e1b5581f9d622b96e9e2a8574188027e7642634\"\u003e\u003ccode\u003e7e1b558\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/f800f10fa46f803f1220f508a40f59af29eb5118\"\u003e\u003ccode\u003ef800f10\u003c/code\u003e\u003c/a\u003e build(deps): bump org.mockito:mockito-core from 5.22.0 to 5.23.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/1886aecf253467ff8f98fc1187237605cf59fbb0\"\u003e\u003ccode\u003e1886aec\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/832f6857128bcd678d76bf263f8ee1533a1e8a86\"\u003e\u003ccode\u003e832f685\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper from 9.4.0 to 9.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/9b69c6b708dd88b925ba91fde563869cc0f8f586\"\u003e\u003ccode\u003e9b69c6b\u003c/code\u003e\u003c/a\u003e fix: ArrayIndexOutOfBoundsException in solid RAR v20 archive extraction\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.22.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.22.1...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tools.jackson:jackson-bom` from 3.1.1 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0ae1c2ae270dabe8e21700cbcee1c266b54e84f0\"\u003e\u003ccode\u003e0ae1c2a\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3c171ebd5d6c5d8f6e8d4f3614cf9b4f0a8babb9\"\u003e\u003ccode\u003e3c171eb\u003c/code\u003e\u003c/a\u003e Prep for 3.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/8046ced071e0b36747bae0f0a96fa21914de1303\"\u003e\u003ccode\u003e8046ced\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ea00ca4cc59ba656a17a071e30a68387e51d3e0d\"\u003e\u003ccode\u003eea00ca4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-3.1.1...jackson-bom-3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 4.0.5 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnversRevisionRepositoriesRegistrar should reuse \u003ccode\u003e@EnableEnversRepositories\u003c/code\u003e rather than configuring the JPA counterpart \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50039\"\u003e#50039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebFlux Cloud Foundry links endpoint includes query string from received request in resolved links \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50017\"\u003e#50017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImports on a containing test class are ignored when a nested class has imports \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50012\"\u003e#50012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49951\"\u003e#49951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e500 response from env endpoint when supplied pattern is invalid \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49946\"\u003e#49946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49945\"\u003e#49945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP method is lost when configuring excludes in EndpointRequest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49943\"\u003e#49943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor HttpMethod for reactive additional endpoint paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49880\"\u003e#49880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/artemis image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49869\"\u003e#49869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/activemq image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49866\"\u003e#49866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49854\"\u003e#49854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI versioning path strategy should be applied path last as it is not meant to yield \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49800\"\u003e#49800\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs to encourage Java fundamentals for beginners that prefer to learn that way \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50146\"\u003e#50146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP Service Interface Clients still document that API versioning can be configured via properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50126\"\u003e#50126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the observability section of the Lettuce documentation is broken \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50097\"\u003e#50097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJavadoc for StaticResourceLocation.FAVICON doesn't describe icons location \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50085\"\u003e#50085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySamlRelyingPartyConfiguration is missing a Kotlin sample \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50024\"\u003e#50024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect default value for management.httpexchanges.recording.include in configuration metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50019\"\u003e#50019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the Kubernetes documentation when discussing startup probes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50015\"\u003e#50015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in JdbcSessionAutoConfiguration Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49873\"\u003e#49873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify that configuration property default values are not available through the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49851\"\u003e#49851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument the need for Liquibase and Flyway starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49839\"\u003e#49839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKafka documentation refers to deprecated JSON serializer and deserializer classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49826\"\u003e#49826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Elasticsearch Client 9.2.8 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50027\"\u003e#50027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Groovy 5.0.5 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49911\"\u003e#49911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Hibernate 7.2.12.Final \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50134\"\u003e#50134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Jackson Bom 3.1.2 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50051\"\u003e#50051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1\"\u003eJaxen 2.0.1\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50104\"\u003e#50104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5\"\u003eJaybird 6.0.5\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49914\"\u003e#49914\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/8821ad2cd381bb4b9615a61479e1de7305a8ba39\"\u003e\u003ccode\u003e8821ad2\u003c/code\u003e\u003c/a\u003e Release v4.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9e4048a03f17adfe78057a3c4d5b4693305c0ae0\"\u003e\u003ccode\u003e9e4048a\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/20bb11c3984802990572ddbeae8b66885a8f2462\"\u003e\u003ccode\u003e20bb11c\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.15-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/98daa8ea30f39a5b0ca6768b5cbc2dc8698ef4e1\"\u003e\u003ccode\u003e98daa8e\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9dc5aa2863f598a15d3dfa116f4b89249daba7e7\"\u003e\u003ccode\u003e9dc5aa2\u003c/code\u003e\u003c/a\u003e Polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/874f6294b91da18367b8b5ab7b2fad3fa23cfba6\"\u003e\u003ccode\u003e874f629\u003c/code\u003e\u003c/a\u003e Fix default security with actuator but without health\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/e41b3bf731d1134bc18ec1f68ac01e0fe1c54923\"\u003e\u003ccode\u003ee41b3bf\u003c/code\u003e\u003c/a\u003e Enable hostname verification for SSL connections to Elasticsearch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ef8527bb0ef8f564f4f9c57a7be99a7aa96c6ab0\"\u003e\u003ccode\u003eef8527b\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f533a4549c3999aac30cb5830f07dc304933e93d\"\u003e\u003ccode\u003ef533a45\u003c/code\u003e\u003c/a\u003e Do not follow symlinks when writing PID file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4a7bd332b6d19fef1aa4cf28434985f2b03a2e0f\"\u003e\u003ccode\u003e4a7bd33\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.5...v4.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.hibernate.orm` from 7.3.0.Final to 7.3.2.Final\n\nUpdates `com.github.ben-manes.versions` from 0.53.0 to 0.54.0\n\nUpdates `org.owasp.dependencycheck` from 12.2.0 to 12.2.1\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/opensourcefan/Booklore3.0/pull/46","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensourcefan%2FBooklore3.0/issues/46","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/46/packages"}},{"old_version":"0.53.0","new_version":"0.54.0","update_type":"minor","path":null,"pr_created_at":"2026-04-24T03:09:48.000Z","version_change":"0.53.0 → 0.54.0","issue":{"uuid":"4320242349","node_id":"PR_kwDOR0sr5c7VMZWB","number":14,"state":"open","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 10 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-24T03:09:48.000Z","updated_at":"2026-04-24T03:13:26.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":10,"packages":[{"name":"org.mariadb.jdbc:mariadb-java-client","old_version":"3.5.7","new_version":"3.5.8","repository_url":"https://github.com/mariadb-corporation/mariadb-connector-j"},{"name":"org.flywaydb:flyway-mysql","old_version":"12.2.0","new_version":"12.4.0"},{"name":"org.projectlombok:lombok","old_version":"1.18.44","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"com.github.junrar:junrar","old_version":"7.5.8","new_version":"7.5.10","repository_url":"https://github.com/junrar/junrar"},{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"tools.jackson:jackson-bom","old_version":"3.1.1","new_version":"3.1.2","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"org.springframework.boot","old_version":"4.0.5","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.hibernate.orm","old_version":"7.3.0.Final","new_version":"7.3.2.Final"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 10 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) | `3.5.7` | `3.5.8` |\n| org.flywaydb:flyway-mysql | `12.2.0` | `12.4.0` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.44` | `1.18.46` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.8` | `7.5.10` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `3.0.2` | `3.0.3` |\n| [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `3.1.1` | `3.1.2` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.5` | `4.0.6` |\n| org.hibernate.orm | `7.3.0.Final` | `7.3.2.Final` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n\n\nUpdates `org.mariadb.jdbc:mariadb-java-client` from 3.5.7 to 3.5.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/releases\"\u003eorg.mariadb.jdbc:mariadb-java-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eMariaDB Connector/Java 3.5.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/blob/main/CHANGELOG.md\"\u003eorg.mariadb.jdbc:mariadb-java-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/26b34a2f060070beb73515cfd2a49fabc8728843\"\u003e\u003ccode\u003e26b34a2\u003c/code\u003e\u003c/a\u003e Merge branch 'develop'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/06d6efee7838ab8f89ef0f7f362c6b4a95754630\"\u003e\u003ccode\u003e06d6efe\u003c/code\u003e\u003c/a\u003e bump CI actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a86a83c8fd1fa84d8d4349baab3b29df8f575192\"\u003e\u003ccode\u003ea86a83c\u003c/code\u003e\u003c/a\u003e bump 3.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/975f9919232b21f40d823423eac6e32d87ea8e35\"\u003e\u003ccode\u003e975f991\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to implement Codec directly and extract shared...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/75bb509521661603e0e90dd6dd5942d1382bf499\"\u003e\u003ccode\u003e75bb509\u003c/code\u003e\u003c/a\u003e [misc] code formatting cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/4c0b6a0ddd95f42fa866ce0d08e384caa2553d43\"\u003e\u003ccode\u003e4c0b6a0\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to extend UtilDateCodec and extract common dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a5b7fb1a26277a076052dbbd1a7ee2bacd4f602f\"\u003e\u003ccode\u003ea5b7fb1\u003c/code\u003e\u003c/a\u003e [misc] convert Reader and Writer from interfaces to final class implementatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/d31eb060fc66e9e37479e18a38bb1401d53ecb63\"\u003e\u003ccode\u003ed31eb06\u003c/code\u003e\u003c/a\u003e [misc] convert ReadableByteBuf from interface to final class implementation, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/11d45a9e6ea4d942e75747132bb8982471d890b8\"\u003e\u003ccode\u003e11d45a9\u003c/code\u003e\u003c/a\u003e [misc] optimize binary row decoder null bitmap checks and simplify signed Big...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/5aad14c381cbc2c4e0383ffed275306f359bd508\"\u003e\u003ccode\u003e5aad14c\u003c/code\u003e\u003c/a\u003e [misc] optimize BigInt column decoding and improve type safety in codec inter...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb:flyway-mysql` from 12.2.0 to 12.4.0\n\nUpdates `org.projectlombok:lombok` from 1.18.44 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.44...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.junrar:junrar` from 7.5.8 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.5.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier Roebroeck\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.9\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Ryan Campbell\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.9...v7.5.10\"\u003e7.5.10\u003c/a\u003e (2026-04-15)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.9\"\u003e7.5.9\u003c/a\u003e (2026-04-13)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e36ee091ad7311a021e1c928ada103a3eab2d890\"\u003e\u003ccode\u003ee36ee09\u003c/code\u003e\u003c/a\u003e ci: publish test results\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/154e3bf7b05bb6dcad5437a8fd8e99a8da916373\"\u003e\u003ccode\u003e154e3bf\u003c/code\u003e\u003c/a\u003e test: disable test on windows due to path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d77e9a83eb721cd51f9c23d7869d0e6ad7f952d7\"\u003e\u003ccode\u003ed77e9a8\u003c/code\u003e\u003c/a\u003e fix: better handling of files outside directory when extracting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/a60857b35c17dbd5354a37816421d7b051a8ba03\"\u003e\u003ccode\u003ea60857b\u003c/code\u003e\u003c/a\u003e ci: update homebrew action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/72cd364f47bd396e208cd82ca7aa98759ab84f01\"\u003e\u003ccode\u003e72cd364\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.9 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/7e1b5581f9d622b96e9e2a8574188027e7642634\"\u003e\u003ccode\u003e7e1b558\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/f800f10fa46f803f1220f508a40f59af29eb5118\"\u003e\u003ccode\u003ef800f10\u003c/code\u003e\u003c/a\u003e build(deps): bump org.mockito:mockito-core from 5.22.0 to 5.23.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/1886aecf253467ff8f98fc1187237605cf59fbb0\"\u003e\u003ccode\u003e1886aec\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/832f6857128bcd678d76bf263f8ee1533a1e8a86\"\u003e\u003ccode\u003e832f685\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper from 9.4.0 to 9.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/9b69c6b708dd88b925ba91fde563869cc0f8f586\"\u003e\u003ccode\u003e9b69c6b\u003c/code\u003e\u003c/a\u003e fix: ArrayIndexOutOfBoundsException in solid RAR v20 archive extraction\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.22.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.22.1...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tools.jackson:jackson-bom` from 3.1.1 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0ae1c2ae270dabe8e21700cbcee1c266b54e84f0\"\u003e\u003ccode\u003e0ae1c2a\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3c171ebd5d6c5d8f6e8d4f3614cf9b4f0a8babb9\"\u003e\u003ccode\u003e3c171eb\u003c/code\u003e\u003c/a\u003e Prep for 3.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/8046ced071e0b36747bae0f0a96fa21914de1303\"\u003e\u003ccode\u003e8046ced\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ea00ca4cc59ba656a17a071e30a68387e51d3e0d\"\u003e\u003ccode\u003eea00ca4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-3.1.1...jackson-bom-3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 4.0.5 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnversRevisionRepositoriesRegistrar should reuse \u003ccode\u003e@EnableEnversRepositories\u003c/code\u003e rather than configuring the JPA counterpart \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50039\"\u003e#50039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebFlux Cloud Foundry links endpoint includes query string from received request in resolved links \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50017\"\u003e#50017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImports on a containing test class are ignored when a nested class has imports \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50012\"\u003e#50012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49951\"\u003e#49951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e500 response from env endpoint when supplied pattern is invalid \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49946\"\u003e#49946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49945\"\u003e#49945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP method is lost when configuring excludes in EndpointRequest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49943\"\u003e#49943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor HttpMethod for reactive additional endpoint paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49880\"\u003e#49880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/artemis image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49869\"\u003e#49869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/activemq image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49866\"\u003e#49866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49854\"\u003e#49854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI versioning path strategy should be applied path last as it is not meant to yield \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49800\"\u003e#49800\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs to encourage Java fundamentals for beginners that prefer to learn that way \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50146\"\u003e#50146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP Service Interface Clients still document that API versioning can be configured via properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50126\"\u003e#50126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the observability section of the Lettuce documentation is broken \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50097\"\u003e#50097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJavadoc for StaticResourceLocation.FAVICON doesn't describe icons location \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50085\"\u003e#50085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySamlRelyingPartyConfiguration is missing a Kotlin sample \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50024\"\u003e#50024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect default value for management.httpexchanges.recording.include in configuration metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50019\"\u003e#50019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the Kubernetes documentation when discussing startup probes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50015\"\u003e#50015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in JdbcSessionAutoConfiguration Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49873\"\u003e#49873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify that configuration property default values are not available through the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49851\"\u003e#49851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument the need for Liquibase and Flyway starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49839\"\u003e#49839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKafka documentation refers to deprecated JSON serializer and deserializer classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49826\"\u003e#49826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Elasticsearch Client 9.2.8 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50027\"\u003e#50027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Groovy 5.0.5 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49911\"\u003e#49911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Hibernate 7.2.12.Final \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50134\"\u003e#50134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Jackson Bom 3.1.2 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50051\"\u003e#50051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1\"\u003eJaxen 2.0.1\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50104\"\u003e#50104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5\"\u003eJaybird 6.0.5\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49914\"\u003e#49914\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/8821ad2cd381bb4b9615a61479e1de7305a8ba39\"\u003e\u003ccode\u003e8821ad2\u003c/code\u003e\u003c/a\u003e Release v4.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9e4048a03f17adfe78057a3c4d5b4693305c0ae0\"\u003e\u003ccode\u003e9e4048a\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/20bb11c3984802990572ddbeae8b66885a8f2462\"\u003e\u003ccode\u003e20bb11c\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.15-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/98daa8ea30f39a5b0ca6768b5cbc2dc8698ef4e1\"\u003e\u003ccode\u003e98daa8e\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9dc5aa2863f598a15d3dfa116f4b89249daba7e7\"\u003e\u003ccode\u003e9dc5aa2\u003c/code\u003e\u003c/a\u003e Polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/874f6294b91da18367b8b5ab7b2fad3fa23cfba6\"\u003e\u003ccode\u003e874f629\u003c/code\u003e\u003c/a\u003e Fix default security with actuator but without health\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/e41b3bf731d1134bc18ec1f68ac01e0fe1c54923\"\u003e\u003ccode\u003ee41b3bf\u003c/code\u003e\u003c/a\u003e Enable hostname verification for SSL connections to Elasticsearch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ef8527bb0ef8f564f4f9c57a7be99a7aa96c6ab0\"\u003e\u003ccode\u003eef8527b\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f533a4549c3999aac30cb5830f07dc304933e93d\"\u003e\u003ccode\u003ef533a45\u003c/code\u003e\u003c/a\u003e Do not follow symlinks when writing PID file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4a7bd332b6d19fef1aa4cf28434985f2b03a2e0f\"\u003e\u003ccode\u003e4a7bd33\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.5...v4.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.hibernate.orm` from 7.3.0.Final to 7.3.2.Final\n\nUpdates `com.github.ben-manes.versions` from 0.53.0 to 0.54.0\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/willianpaixao/booklore/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/willianpaixao%2Fbooklore/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"}},{"old_version":"0.53.0","new_version":"0.54.0","update_type":"minor","path":null,"pr_created_at":"2026-04-24T03:09:08.000Z","version_change":"0.53.0 → 0.54.0","issue":{"uuid":"4320240453","node_id":"PR_kwDORJ5GTM7VMY-A","number":18,"state":"open","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 22 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-24T03:09:08.000Z","updated_at":"2026-04-24T03:10:32.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":22,"packages":[{"name":"org.mariadb.jdbc:mariadb-java-client","old_version":"3.5.6","new_version":"3.5.8","repository_url":"https://github.com/mariadb-corporation/mariadb-connector-j"},{"name":"org.flywaydb:flyway-mysql","old_version":"11.19.0","new_version":"12.4.0"},{"name":"org.projectlombok:lombok","old_version":"1.18.42","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"org.apache.pdfbox:pdfbox","old_version":"3.0.6","new_version":"3.0.7"},{"name":"com.twelvemonkeys.imageio:imageio-jpeg","old_version":"3.13.0","new_version":"3.13.1"},{"name":"io.documentnode:epub4j-core","old_version":"4.2.2","new_version":"4.2.3","repository_url":"https://github.com/documentnode/epub4j"},{"name":"com.github.junrar:junrar","old_version":"7.5.7","new_version":"7.5.10","repository_url":"https://github.com/junrar/junrar"},{"name":"com.fasterxml.jackson.datatype:jackson-datatype-jsr310","old_version":"2.20.1","new_version":"2.21.2"},{"name":"org.jsoup:jsoup","old_version":"1.21.2","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"2.8.14","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.tukaani:xz","old_version":"1.11","new_version":"1.12","repository_url":"https://github.com/tukaani-project/xz-java"},{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.0","new_version":"3.2.3","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"org.assertj:assertj-core","old_version":"3.27.6","new_version":"3.27.7","repository_url":"https://github.com/assertj/assertj"},{"name":"org.springframework.boot","old_version":"3.5.8","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.hibernate.orm","old_version":"6.6.36.Final","new_version":"7.3.2.Final"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"gradle-wrapper","old_version":"8.14.3","new_version":"9.4.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 17 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) | `3.5.6` | `3.5.8` |\n| org.flywaydb:flyway-mysql | `11.19.0` | `12.4.0` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.42` | `1.18.46` |\n| org.apache.pdfbox:pdfbox | `3.0.6` | `3.0.7` |\n| com.twelvemonkeys.imageio:imageio-jpeg | `3.13.0` | `3.13.1` |\n| [io.documentnode:epub4j-core](https://github.com/documentnode/epub4j) | `4.2.2` | `4.2.3` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.7` | `7.5.10` |\n| com.fasterxml.jackson.datatype:jackson-datatype-jsr310 | `2.20.1` | `2.21.2` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.21.2` | `1.22.2` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `2.8.14` | `3.0.3` |\n| [org.tukaani:xz](https://github.com/tukaani-project/xz-java) | `1.11` | `1.12` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.2.0` | `3.2.3` |\n| [org.assertj:assertj-core](https://github.com/assertj/assertj) | `3.27.6` | `3.27.7` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `3.5.8` | `4.0.6` |\n| org.hibernate.orm | `6.6.36.Final` | `7.3.2.Final` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.14.3` | `9.4.1` |\n\n\nUpdates `org.mariadb.jdbc:mariadb-java-client` from 3.5.6 to 3.5.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/releases\"\u003eorg.mariadb.jdbc:mariadb-java-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eMariaDB Connector/Java 3.5.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eMariaDB Connector/Java 3.5.7\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.7\"\u003e3.5.7\u003c/a\u003e (Dec 2025)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.6...3.5.7\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eKey Enhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1282 - Added TLS SNI (Server Name Indication) support\u003c/li\u003e\n\u003cli\u003eCONJ-1271 - Added MariaDbDataTruncation exception that includes MariaDB error code and error message\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1291 - Fixed ConnectionPoolDataSource incompatibility and connection leaks due to internal ConnectionEventListener in MariaDB Connector/J 3.5.x\u003c/li\u003e\n\u003cli\u003eCONJ-1286 - Fixed MariaDbPoolPinnedConnection thread-safety issue\u003c/li\u003e\n\u003cli\u003eCONJ-1283 - Fixed rewriteBatchedStatements introduced in 3.5.6 bug when having parentesis after VALUES parts\u003c/li\u003e\n\u003cli\u003eCONJ-1287 - Fixed authentication plugin multi-exchange prefix (0x01) handling introduced in MDEV-37554\u003c/li\u003e\n\u003cli\u003eCONJ-1290 - Fixed NullPointerException in MultiPrimaryReplicaClient\u003c/li\u003e\n\u003cli\u003eCONJ-1295 - Fixed MariaDbClob compilation with JDK 26+\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/blob/main/CHANGELOG.md\"\u003eorg.mariadb.jdbc:mariadb-java-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.7\"\u003e3.5.7\u003c/a\u003e (Dec 2025)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.6...3.5.7\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eKey Enhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1282 - Added TLS SNI (Server Name Indication) support\u003c/li\u003e\n\u003cli\u003eCONJ-1271 - Added MariaDbDataTruncation exception that includes MariaDB error code and error message\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1291 - Fixed ConnectionPoolDataSource incompatibility and connection leaks due to internal ConnectionEventListener in MariaDB Connector/J 3.5.x\u003c/li\u003e\n\u003cli\u003eCONJ-1286 - Fixed MariaDbPoolPinnedConnection thread-safety issue\u003c/li\u003e\n\u003cli\u003eCONJ-1283 - Fixed rewriteBatchedStatements introduced in 3.5.6 bug when having parentesis after VALUES parts\u003c/li\u003e\n\u003cli\u003eCONJ-1287 - Fixed authentication plugin multi-exchange prefix (0x01) handling introduced in MDEV-37554\u003c/li\u003e\n\u003cli\u003eCONJ-1290 - Fixed NullPointerException in MultiPrimaryReplicaClient\u003c/li\u003e\n\u003cli\u003eCONJ-1295 - Fixed MariaDbClob compilation with JDK 26+\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/26b34a2f060070beb73515cfd2a49fabc8728843\"\u003e\u003ccode\u003e26b34a2\u003c/code\u003e\u003c/a\u003e Merge branch 'develop'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/06d6efee7838ab8f89ef0f7f362c6b4a95754630\"\u003e\u003ccode\u003e06d6efe\u003c/code\u003e\u003c/a\u003e bump CI actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a86a83c8fd1fa84d8d4349baab3b29df8f575192\"\u003e\u003ccode\u003ea86a83c\u003c/code\u003e\u003c/a\u003e bump 3.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/975f9919232b21f40d823423eac6e32d87ea8e35\"\u003e\u003ccode\u003e975f991\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to implement Codec directly and extract shared...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/75bb509521661603e0e90dd6dd5942d1382bf499\"\u003e\u003ccode\u003e75bb509\u003c/code\u003e\u003c/a\u003e [misc] code formatting cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/4c0b6a0ddd95f42fa866ce0d08e384caa2553d43\"\u003e\u003ccode\u003e4c0b6a0\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to extend UtilDateCodec and extract common dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a5b7fb1a26277a076052dbbd1a7ee2bacd4f602f\"\u003e\u003ccode\u003ea5b7fb1\u003c/code\u003e\u003c/a\u003e [misc] convert Reader and Writer from interfaces to final class implementatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/d31eb060fc66e9e37479e18a38bb1401d53ecb63\"\u003e\u003ccode\u003ed31eb06\u003c/code\u003e\u003c/a\u003e [misc] convert ReadableByteBuf from interface to final class implementation, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/11d45a9e6ea4d942e75747132bb8982471d890b8\"\u003e\u003ccode\u003e11d45a9\u003c/code\u003e\u003c/a\u003e [misc] optimize binary row decoder null bitmap checks and simplify signed Big...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/5aad14c381cbc2c4e0383ffed275306f359bd508\"\u003e\u003ccode\u003e5aad14c\u003c/code\u003e\u003c/a\u003e [misc] optimize BigInt column decoding and improve type safety in codec inter...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.6...3.5.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb:flyway-mysql` from 11.19.0 to 12.4.0\n\nUpdates `org.projectlombok:lombok` from 1.18.42 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.44 (March 11th, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFEATURE: \u003ccode\u003e@Jacksonized\u003c/code\u003e now supports both Jackson2 and Jackson3; you'll get a warning until you configure which one (or even both!) you want lombok to generate. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3950\"\u003e#3950\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: On JDK25, \u003ccode\u003eval\u003c/code\u003e and \u003ccode\u003e@ExtensionMethod\u003c/code\u003e could sometimes cause erroneous errors (in that you see errors but compilation succeeds anyway) using javac. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3947\"\u003e#3947\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e + fields marked \u003ccode\u003etransient\u003c/code\u003e would result in those transient fields being serialised which is surprising (and thus undesired) behaviour. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3936\"\u003e#3936\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.42...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.pdfbox:pdfbox` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:pdfbox-io` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:xmpbox` from 3.0.6 to 3.0.7\n\nUpdates `com.twelvemonkeys.imageio:imageio-jpeg` from 3.13.0 to 3.13.1\n\nUpdates `com.twelvemonkeys.imageio:imageio-tiff` from 3.13.0 to 3.13.1\n\nUpdates `com.twelvemonkeys.imageio:imageio-webp` from 3.13.0 to 3.13.1\n\nUpdates `com.twelvemonkeys.imageio:imageio-bmp` from 3.13.0 to 3.13.1\n\nUpdates `io.documentnode:epub4j-core` from 4.2.2 to 4.2.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/documentnode/epub4j/commit/4bf55082feba0496f98b867ec03ebec5f393b649\"\u003e\u003ccode\u003e4bf5508\u003c/code\u003e\u003c/a\u003e Migrate Maven Central publishing to new Central Portal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/documentnode/epub4j/commit/b153885ef8aefbe4063a40894c048a5cc2b5a354\"\u003e\u003ccode\u003eb153885\u003c/code\u003e\u003c/a\u003e Load sdkman environment before running gradle commands\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/documentnode/epub4j/compare/v4.2.2...v4.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.junrar:junrar` from 7.5.7 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.5.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier Roebroeck\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.9\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Ryan Campbell\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.8\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.9...v7.5.10\"\u003e7.5.10\u003c/a\u003e (2026-04-15)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.9\"\u003e7.5.9\u003c/a\u003e (2026-04-13)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.7...v7.5.8\"\u003e7.5.8\u003c/a\u003e (2026-02-26)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handle files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/947ff1d\"\u003e947ff1d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump jreleaser to 1.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/a489f58\"\u003ea489f58\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 8.14 to 9.3.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/a319fc7\"\u003ea319fc7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/c7041fc\"\u003ec7041fc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/618feeb\"\u003e618feeb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.24 to 1.5.26 (\u003ca href=\"https://github.com/junrar/junrar/commits/55399ea\"\u003e55399ea\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.assertj:assertj-core from 3.27.6 to 3.27.7 (\u003ca href=\"https://github.com/junrar/junrar/commits/de33003\"\u003ede33003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.23 to 1.5.24 (\u003ca href=\"https://github.com/junrar/junrar/commits/a4ba2c1\"\u003ea4ba2c1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.22 to 1.5.23 (\u003ca href=\"https://github.com/junrar/junrar/commits/75864b6\"\u003e75864b6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e36ee091ad7311a021e1c928ada103a3eab2d890\"\u003e\u003ccode\u003ee36ee09\u003c/code\u003e\u003c/a\u003e ci: publish test results\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/154e3bf7b05bb6dcad5437a8fd8e99a8da916373\"\u003e\u003ccode\u003e154e3bf\u003c/code\u003e\u003c/a\u003e test: disable test on windows due to path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d77e9a83eb721cd51f9c23d7869d0e6ad7f952d7\"\u003e\u003ccode\u003ed77e9a8\u003c/code\u003e\u003c/a\u003e fix: better handling of files outside directory when extracting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/a60857b35c17dbd5354a37816421d7b051a8ba03\"\u003e\u003ccode\u003ea60857b\u003c/code\u003e\u003c/a\u003e ci: update homebrew action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/72cd364f47bd396e208cd82ca7aa98759ab84f01\"\u003e\u003ccode\u003e72cd364\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.9 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/7e1b5581f9d622b96e9e2a8574188027e7642634\"\u003e\u003ccode\u003e7e1b558\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/f800f10fa46f803f1220f508a40f59af29eb5118\"\u003e\u003ccode\u003ef800f10\u003c/code\u003e\u003c/a\u003e build(deps): bump org.mockito:mockito-core from 5.22.0 to 5.23.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/1886aecf253467ff8f98fc1187237605cf59fbb0\"\u003e\u003ccode\u003e1886aec\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/832f6857128bcd678d76bf263f8ee1533a1e8a86\"\u003e\u003ccode\u003e832f685\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper from 9.4.0 to 9.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/9b69c6b708dd88b925ba91fde563869cc0f8f586\"\u003e\u003ccode\u003e9b69c6b\u003c/code\u003e\u003c/a\u003e fix: ArrayIndexOutOfBoundsException in solid RAR v20 archive extraction\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.7...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.20.1 to 2.21.2\n\nUpdates `org.jsoup:jsoup` from 1.21.2 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.1\u003c/strong\u003e is out now, adding support for the \u003ccode\u003ere2j\u003c/code\u003e regular expression engine for regex-based CSS selectors, a configurable maximum parser depth, and numerous bug fixes and improvements.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jsoup.org/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for using the \u003ccode\u003ere2j\u003c/code\u003e regular expression engine for regex-based CSS selectors (e.g. \u003ccode\u003e[attr~=regex]\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e), which ensures linear-time performance for regex evaluation. This allows safer handling of arbitrary user-supplied query regexes. To enable, add the \u003ccode\u003ecom.google.re2j\u003c/code\u003e dependency to your classpath, e.g.:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"xml\"\u003e\u003ccode\u003e  \u0026lt;dependency\u0026gt;\r\n    \u0026lt;groupId\u0026gt;com.google.re2j\u0026lt;/groupId\u0026gt;\r\n    \u0026lt;artifactId\u0026gt;re2j\u0026lt;/artifactId\u0026gt;\r\n    \u0026lt;version\u0026gt;1.8\u0026lt;/version\u0026gt;\r\n  \u0026lt;/dependency\u0026gt;\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e(If you already have that dependency in your classpath, but you want to keep using the Java regex engine, you can disable re2j via \u003ccode\u003eSystem.setProperty(\u0026quot;jsoup.useRe2j\u0026quot;, \u0026quot;false\u0026quot;)\u003c/code\u003e.) You can confirm that the re2j engine has been enabled correctly by calling \u003ccode\u003eRegex.usingRe2j()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2407\"\u003e#2407\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.22.1 (2026-Jan-01)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for using the \u003ccode\u003ere2j\u003c/code\u003e regular expression engine for regex-based CSS selectors (e.g. \u003ccode\u003e[attr~=regex]\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e), which ensures linear-time performance for regex evaluation. This allows safer handling of arbitrary user-supplied query regexes. To enable, add the \u003ccode\u003ecom.google.re2j\u003c/code\u003e dependency to your classpath, e.g.:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"xml\"\u003e\u003ccode\u003e  \u0026lt;dependency\u0026gt;\n    \u0026lt;groupId\u0026gt;com.google.re2j\u0026lt;/groupId\u0026gt;\n    \u0026lt;artifactId\u0026gt;re2j\u0026lt;/artifactId\u0026gt;\n    \u0026lt;version\u0026gt;1.8\u0026lt;/version\u0026gt;\n  \u0026lt;/dependency\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e(If you already have that dependency in your classpath, but you want to keep using the Java regex engine, you can disable re2j via \u003ccode\u003eSystem.setProperty(\u0026quot;jsoup.useRe2j\u0026quot;, \u0026quot;false\u0026quot;)\u003c/code\u003e.) You can confirm that the re2j engine has been enabled correctly by calling \u003ccode\u003eorg.jsoup.helper.Regex.usingRe2j()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2407\"\u003e#2407\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an instance method \u003ccode\u003eParser#unescape(String, boolean)\u003c/code\u003e that unescapes HTML entities using the parser's configuration (e.g. to support error tracking), complementing the existing static utility \u003ccode\u003eParser.unescapeEntities(String, boolean)\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2396\"\u003e#2396\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded a configurable maximum parser depth (to limit the number of open elements on stack) to both HTML and XML parsers. The HTML parser now defaults to a depth of 512 to match browser behavior, and protect against unbounded stack growth, while the XML parser keeps unlimited depth by default, but can opt into a limit via \u003ccode\u003eorg.jsoup.parser.Parser#setMaxDepth\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2421\"\u003e#2421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild: added CI coverage for JDK 25 \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2403\"\u003e#2403\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild: added a CI fuzzer for contextual fragment parsing (in addition to existing full body HTML and XML fuzzers). [oss-fuzz \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/14041\"\u003e#14041\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/google/oss-fuzz/pull/14041\"\u003egoogle/oss-fuzz#14041\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSet a removal schedule of jsoup 1.24.1 for previously deprecated APIs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreviously cached child \u003ccode\u003eElements\u003c/code\u003e of an \u003ccode\u003eElement\u003c/code\u003e were not correctly invalidated in \u003ccode\u003eNode#replaceWith(Node)\u003c/code\u003e, which could lead to incorrect results when subsequently calling \u003ccode\u003eElement#children()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2391\"\u003e#2391\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAttribute selector values are now compared literally without trimming. Previously, jsoup trimmed whitespace from selector values and from element attribute values, which could cause mismatches with browser behavior (e.g. \u003ccode\u003e[attr=\u0026quot; foo \u0026quot;]\u003c/code\u003e). Now matches align with the CSS specification and browser engines. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2380\"\u003e#2380\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using the JDK HttpClient, any system default proxy (\u003ccode\u003eProxySelector.getDefault()\u003c/code\u003e) was ignored. Now, the system proxy is used if a per-request proxy is not set. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2388\"\u003e#2388\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2390\"\u003e#2390\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003eValidationException\u003c/code\u003e could be thrown in the adoption agency algorithm with particularly broken input. Now logged as a parse error. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2393\"\u003e#2393\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNull characters in the HTML body were not consistently removed; and in foreign content were not correctly replaced. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2395\"\u003e#2395\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAn \u003ccode\u003eIndexOutOfBoundsException\u003c/code\u003e could be thrown when parsing a body fragment with crafted input. Now logged as a parse error. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2397\"\u003e#2397\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2406\"\u003e#2406\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using StructuralEvaluators (e.g., a \u003ccode\u003eparent child\u003c/code\u003e selector) across many retained threads, their memoized results could also be retained, increasing memory use. These results are now cleared immediately after use, reducing overall memory consumption. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2411\"\u003e#2411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCloning a \u003ccode\u003eParser\u003c/code\u003e now preserves any custom \u003ccode\u003eTagSet\u003c/code\u003e applied to the parser. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2422\"\u003e#2422\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2423\"\u003e#2423\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.21.2...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 2.8.14 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003espringdoc-openapi v3.0.2 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3229\"\u003e#3229\u003c/a\u003e – Add support for Spring Framework API Versioning with Functional Endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3208\"\u003e#3208\u003c/a\u003e – Add \u003ccode\u003espringdoc.swagger-ui.document-title\u003c/code\u003e property\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.3\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.43\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Scalar to version \u003cstrong\u003e0.5.55\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3232\"\u003e#3232\u003c/a\u003e – Gracefully handle springdoc endpoint paths during API version resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3230\"\u003e#3230\u003c/a\u003e – Scalar source URLs resolve to \u003ccode\u003enull/\u0026lt;groupName\u0026gt;\u003c/code\u003e on second request when using \u003ccode\u003eGroupedOpenApi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3228\"\u003e#3228\u003c/a\u003e – springdoc-openapi-starter 3.x doesn't depend on \u003ccode\u003eorg.springframework.boot:spring-boot-starter\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.0.2] - 2026-02-27\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3229\"\u003e#3229\u003c/a\u003e – Add support for Spring Framework API Versioning with Functional Endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3208\"\u003e#3208\u003c/a\u003e – Add \u003ccode\u003espringdoc.swagger-ui.document-title\u003c/code\u003e property\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.3\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.43\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Scalar to version \u003cstrong\u003e0.5.55\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3232\"\u003e#3232\u003c/a\u003e – Gracefully handle springdoc endpoint paths during API version resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3230\"\u003e#3230\u003c/a\u003e – Scalar source URLs resolve to \u003ccode\u003enull/\u0026lt;groupName\u0026gt;\u003c/code\u003e on second request when using \u003ccode\u003eGroupedOpenApi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3228\"\u003e#3228\u003c/a\u003e – springdoc-openapi-starter 3.x doesn't depend on \u003ccode\u003eorg.springframework.boot:spring-boot-starter\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3220\"\u003e#3220\u003c/a\u003e – Reachability metadata not compatible with GraalVM 25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3195\"\u003e#3195\u003c/a\u003e – Application won't compile when OpenApi and spring-boot-data-rest is present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3193\"\u003e#3193\u003c/a\u003e – \u003ccode\u003eOpenApi\u003c/code\u003e field in \u003ccode\u003eSpringDocConfigProperties\u003c/code\u003e does not comply with camel case naming conventions\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v2.8.14...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.tukaani:xz` from 1.11 to 1.12\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tukaani-project/xz-java/blob/master/NEWS.md\"\u003eorg.tukaani:xz's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.12 (2026-03-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix ArrayIndexOutOfBoundsException in the LZMA/LZMA2 encoder on\nx86-64 and ARM64 when running on Java 9 or newer. The affected\ncode isn't used on Java 8. The bug is present in versions 1.10\nand 1.11. If one cannot upgrade, one should set the property\n\u003ccode\u003eorg.tukaani.xz.MatchLengthFinder=Basic\u003c/code\u003e to disable the affected\ncode path.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix ArrayCache usage in LZMAInputStream. If ArrayCache was enabled,\ndecompression was likely to fail quickly when the cache returns a\ncached array. ArrayCache is disabled by default.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe binaries of 1.12 in the Maven Central require Java 8 and\ncontain optimized classes for Java \u0026gt;= 9 as multi-release JAR.\nThey were built with OpenJDK 21.0.10 on GNU/Linux and can be\nreproduced using the following command:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eSOURCE_DATE_EPOCH=1772370000 TZ=UTC0 ant maven\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/107a519fac1e6789101ad9c234afe3dc407be7f5\"\u003e\u003ccode\u003e107a519\u003c/code\u003e\u003c/a\u003e Bump the version number to 1.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/3061152e66a8ea2cc6366fd5da21409b8a3d4788\"\u003e\u003ccode\u003e3061152\u003c/code\u003e\u003c/a\u003e Update NEWS.md for 1.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/0ecee25c1590dae305135317cf6e768f49093af7\"\u003e\u003ccode\u003e0ecee25\u003c/code\u003e\u003c/a\u003e Refactor EXTRA_SIZE to getExtraSize()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/ac1aeb197dd8589dc6892f13f5ef68801383ec34\"\u003e\u003ccode\u003eac1aeb1\u003c/code\u003e\u003c/a\u003e Fix ArrayIndexOutOfBoundsException in the LZMA/LZMA2 encoder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/12c75fd1d06ef7db89335d3da1ca5bb91ab6ac0b\"\u003e\u003ccode\u003e12c75fd\u003c/code\u003e\u003c/a\u003e Fix ArrayCache usage with LZMAInputStream\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/e52d9ad621afcaa422668484bad91ce7ba0506ef\"\u003e\u003ccode\u003ee52d9ad\u003c/code\u003e\u003c/a\u003e SHA256SUMS: Add 1.11 files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/9a755ec5335de00ce365b365b72e4683e591171f\"\u003e\u003ccode\u003e9a755ec\u003c/code\u003e\u003c/a\u003e CI: Add missing SPDX tags\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tukaani-project/xz-java/compare/v1.11...v1.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.0 to 3.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed frequency tracking of weak keys to use the object's identity hash code (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1902\"\u003e#1902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for underscores in \u003ccode\u003eCaffeineSpec\u003c/code\u003e when using numeric literals (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1890\"\u003e#1890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved the external api to no longer lock when querying for the maximum size or weighted size (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1897\"\u003e#1897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded detection and recovery when a custom \u003ccode\u003eCompletableFuture\u003c/code\u003e is in an inconsistent state (\u003ca href=\"https://redirect.github.com/quarkusio/quarkus/issues/50513\"\u003equarkus#50513\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.2.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed characteristics returned by Spliterators (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1883\"\u003e#1883\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e for an async cache's synchronous view to retry if incomplete\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eCaffeineSpec\u003c/code\u003e when being reflectively constructed (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1839\"\u003e#1839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved the handling of negative durations with variable expiration\u003c/li\u003e\n\u003cli\u003eFixed intermittent null after replacing a weak/soft value (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1820\"\u003e#1820\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/5227a98b51e02b4d4fbfc2b0e33c362a138f51b1\"\u003e\u003ccode\u003e5227a98\u003c/code\u003e\u003c/a\u003e minor build touchups\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/cc3f37d50776f246bfb3ddbe907d2c1a675ce901\"\u003e\u003ccode\u003ecc3f37d\u003c/code\u003e\u003c/a\u003e reorganize into separate gradle test suites\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2299add522332c06b7bbebb0b5ef322ea23f5254\"\u003e\u003ccode\u003e2299add\u003c/code\u003e\u003c/a\u003e Allow users to read the maximum size without locking (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1897\"\u003e#1897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/6250b384f161d1841e2bfd032f7bf375626d90ad\"\u003e\u003ccode\u003e6250b38\u003c/code\u003e\u003c/a\u003e clarify policy javadoc and add corresponding test cases (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1927\"\u003e#1927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/c975fc07460d2fd4008c4d4d14044f65bb1323f2\"\u003e\u003ccode\u003ec975fc0\u003c/code\u003e\u003c/a\u003e upgrade error-prone static analyzer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/d8e0a92553ab230122bcd223363c1d8ca060bce7\"\u003e\u003ccode\u003ed8e0a92\u003c/code\u003e\u003c/a\u003e allow the project.version to be overridden by external builders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0e46d2225fece2ac0ce68d9bdd2a056af6015136\"\u003e\u003ccode\u003e0e46d22\u003c/code\u003e\u003c/a\u003e detect if the user's future is inconsistent with the results\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/1971428f8b2fbd37fb57ed6a092de6d7c965f55a\"\u003e\u003ccode\u003e1971428\u003c/code\u003e\u003c/a\u003e use the assemble task for a full build without running the test suites\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/782ac79e079ae404ebb948afcc6f28b60aafd8dd\"\u003e\u003ccode\u003e782ac79\u003c/code\u003e\u003c/a\u003e use the key reference with the frequency sketch (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1902\"\u003e#1902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/e0dd94b922b862b6afbaa59464f1d3cfb8a24596\"\u003e\u003ccode\u003ee0dd94b\u003c/code\u003e\u003c/a\u003e minor build clean up\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.0...v3.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.assertj:assertj-core` from 3.27.6 to 3.27.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/assertj/assertj/releases\"\u003eorg.assertj:assertj-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.27.7\u003c/h2\u003e\n\u003ch2\u003e:lock: Security\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix XXE vulnerability in \u003ccode\u003eisXmlEqualTo\u003c/code\u003e assertion (CVE-2026-24400)\n\u003cul\u003e\n\u003cli\u003eSee GHSA-rqfh-9r24-8c9r for details; many thanks to \u003ca href=\"https://github.com/wxt201\"\u003e\u003ccode\u003e@​wxt201\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Song-Li\"\u003e\u003ccode\u003e@​Song-Li\u003c/code\u003e\u003c/a\u003e for responsibly reporting it!\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:no_entry_sign: Deprecated\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eXmlStringPrettyFormatter\u003c/code\u003e with no replacement\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:bug: Bug Fixes\u003c/h2\u003e\n\u003ch3\u003eGuava\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNavigation to \u003ccode\u003eassertj-core\u003c/code\u003e or \u003ccode\u003eguava\u003c/code\u003e types from \u003ccode\u003eassertj-guava\u003c/code\u003e Javadoc site has unnecessary header \u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3478\"\u003e#3478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Byte Buddy 1.18.3\u003c/li\u003e\n\u003cli\u003eUpgrade to JUnit BOM 5.14.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eGuava\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Guava 33.5.0-jre\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/e84071667f5f8f13084af9dfa54cee5fd9db18db\"\u003e\u003ccode\u003ee840716\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release assertj-build-3.27.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/85ca7eb6609bb179c043b85ae7d290523b1ba79a\"\u003e\u003ccode\u003e85ca7eb\u003c/code\u003e\u003c/a\u003e Deprecate \u003ccode\u003eXmlStringPrettyFormatter\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/77081dc5eb107141df80f95bd0149b468e451341\"\u003e\u003ccode\u003e77081dc\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/b68fc24a9de28f28a486fc5b887c1b8a003a5823\"\u003e\u003ccode\u003eb68fc24\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.31.9 to 4.31.10 in the github-actions group ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/0cf5bb6c50f6ead3deaa2a2ff50ef1e7d933c8a3\"\u003e\u003ccode\u003e0cf5bb6\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003ekotlin.version\u003c/code\u003e from 2.1.0 to 2.2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/d393ef1f5e48c89d47d7cf6d1eae359ceda0a126\"\u003e\u003ccode\u003ed393ef1\u003c/code\u003e\u003c/a\u003e Abort tests when symbolic links cannot be created (\u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3788\"\u003e#3788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/22124331e9922af5a43ab50f7a9a25b65be53be1\"\u003e\u003ccode\u003e2212433\u003c/code\u003e\u003c/a\u003e Add IntelliJ custom inspection for test class names\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/5717d025cfe0f4c66de20f3253c0b0ecba259aa1\"\u003e\u003ccode\u003e5717d02\u003c/code\u003e\u003c/a\u003e Update JetBrains icon\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/a8ec20bd42ed01f9cc6f654046c7dd424b0af07c\"\u003e\u003ccode\u003ea8ec20b\u003c/code\u003e\u003c/a\u003e Add icon for JetBrains products\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/c05fb3d052b415fb2d6051df939f3b7903a76afe\"\u003e\u003ccode\u003ec05fb3d\u003c/code\u003e\u003c/a\u003e Bump Maven to 3.9.12 and Wrapper to 3.3.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/assertj/assertj/compare/assertj-build-3.27.6...assertj-build-3.27.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 3.5.8 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently ...\n\n_Description has been truncated_","html_url":"https://github.com/PetraRu6/booklore-solid-refactor/pull/18","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/PetraRu6%2Fbooklore-solid-refactor/issues/18","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/18/packages"}},{"old_version":"0.53.0","new_version":"0.54.0","update_type":"minor","path":null,"pr_created_at":"2026-04-24T00:07:50.000Z","version_change":"0.53.0 → 0.54.0","issue":{"uuid":"4319593551","node_id":"PR_kwDOKyk85s7VKTHt","number":2303,"state":"closed","title":"chore(deps): bump the all-backend-non-major-dependencies group across 1 directory with 10 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-27T00:08:25.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-24T00:07:50.000Z","updated_at":"2026-04-27T00:08:27.000Z","time_to_close":259235,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"all-backend-non-major-dependencies","update_count":10,"packages":[{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.4.1","new_version":"1.4.2","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"software.amazon.awssdk:bom","old_version":"2.42.33","new_version":"2.42.37"},{"name":"org.bouncycastle:bcpkix-jdk18on","old_version":"1.83","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"org.bouncycastle:bcprov-jdk18on","old_version":"1.83","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"com.uber.nullaway:nullaway","old_version":"0.13.2","new_version":"0.13.3","repository_url":"https://github.com/uber/NullAway"},{"name":"io.micrometer:micrometer-registry-prometheus","old_version":"1.16.4","new_version":"1.16.5","repository_url":"https://github.com/micrometer-metrics/micrometer"},{"name":"org.testcontainers:testcontainers","old_version":"2.0.4","new_version":"2.0.5","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.testcontainers:testcontainers-junit-jupiter","old_version":"2.0.4","new_version":"2.0.5","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.testcontainers:testcontainers-postgresql","old_version":"2.0.4","new_version":"2.0.5","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the all-backend-non-major-dependencies group with 10 updates in the /backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.4.1` | `1.4.2` |\n| software.amazon.awssdk:bom | `2.42.33` | `2.42.37` |\n| [org.bouncycastle:bcpkix-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |\n| [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |\n| [com.uber.nullaway:nullaway](https://github.com/uber/NullAway) | `0.13.2` | `0.13.3` |\n| [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) | `1.16.4` | `1.16.5` |\n| [org.testcontainers:testcontainers](https://github.com/testcontainers/testcontainers-java) | `2.0.4` | `2.0.5` |\n| [org.testcontainers:testcontainers-junit-jupiter](https://github.com/testcontainers/testcontainers-java) | `2.0.4` | `2.0.5` |\n| [org.testcontainers:testcontainers-postgresql](https://github.com/testcontainers/testcontainers-java) | `2.0.4` | `2.0.5` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n\n\nUpdates `com.tngtech.archunit:archunit-junit5` from 1.4.1 to 1.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TNG/ArchUnit/releases\"\u003ecom.tngtech.archunit:archunit-junit5's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eArchUnit 1.4.2\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eDescribedPredicate#negate()\u003c/code\u003e returns a \u003ccode\u003eDescribedPredicate\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1484\"\u003e#1484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003eJavaCodeUnit.Predicates.anyParameterThat\u003c/code\u003e and \u003ccode\u003eJavaCodeUnit.Predicates.allParameters\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1498\"\u003e#1498\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/mkhl\"\u003e\u003ccode\u003e@​mkhl\u003c/code\u003e\u003c/a\u003e 👏)\u003c/li\u003e\n\u003cli\u003eSupport Java 26 / class file major version 70 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/e45aaa20543b74daeaa09f501b8890742dc7dd8d\"\u003e\u003ccode\u003ee45aaa2\u003c/code\u003e\u003c/a\u003e prepare release 1.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/c07193cb024f7717b8480c50dfe8ea130f0b019b\"\u003e\u003ccode\u003ec07193c\u003c/code\u003e\u003c/a\u003e set version to \u003ccode\u003e1.4.2-SNAPSHOT\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/ac9b896675d553d607f230e94ae7e4dc096a47e6\"\u003e\u003ccode\u003eac9b896\u003c/code\u003e\u003c/a\u003e migrate from (meanwhile shut down) OSSRH to Central Publisher Portal using th...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/b72fcaf8a7ba6385e7f5516571adcca4e5b67046\"\u003e\u003ccode\u003eb72fcaf\u003c/code\u003e\u003c/a\u003e Bump actions/github-script from 8 to 9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/fc1881d5b8310b979f40086e254d3c7aff4ff044\"\u003e\u003ccode\u003efc1881d\u003c/code\u003e\u003c/a\u003e Bump addressable from 2.8.7 to 2.9.0 in /docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/dee39bbf3e2983e5aff7739d107ca2adf129f409\"\u003e\u003ccode\u003edee39bb\u003c/code\u003e\u003c/a\u003e Bump activesupport from 7.1.3.4 to 7.2.3.1 in /docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/b0970078389702b481c40b667bd231f01b42a1d0\"\u003e\u003ccode\u003eb097007\u003c/code\u003e\u003c/a\u003e Bump gradle/actions from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/4d7cfe9ee9c5a207c07ba5b1af62e0cd9577a3ec\"\u003e\u003ccode\u003e4d7cfe9\u003c/code\u003e\u003c/a\u003e Bump json from 2.18.1 to 2.19.2 in /docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/90dc7733fb4a8b692d664039e5d4f55a3b92f297\"\u003e\u003ccode\u003e90dc773\u003c/code\u003e\u003c/a\u003e Bump nokogiri from 1.18.9 to 1.19.1 in /docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/7a88298fbfdff328e133b0fbdad91f0ea674df0d\"\u003e\u003ccode\u003e7a88298\u003c/code\u003e\u003c/a\u003e Bump faraday from 2.10.1 to 2.14.1 in /docs\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TNG/ArchUnit/compare/v1.4.1...v1.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `software.amazon.awssdk:bom` from 2.42.33 to 2.42.37\n\nUpdates `org.bouncycastle:bcpkix-jdk18on` from 1.83 to 1.84\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html\"\u003eorg.bouncycastle:bcpkix-jdk18on's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/bcgit/bc-java/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.bouncycastle:bcprov-jdk18on` from 1.83 to 1.84\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html\"\u003eorg.bouncycastle:bcprov-jdk18on's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/bcgit/bc-java/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.bouncycastle:bcprov-jdk18on` from 1.83 to 1.84\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html\"\u003eorg.bouncycastle:bcprov-jdk18on's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/bcgit/bc-java/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.uber.nullaway:nullaway` from 0.13.2 to 0.13.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/uber/NullAway/releases\"\u003ecom.uber.nullaway:nullaway's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eNullAway 0.13.3\u003c/h2\u003e\n\u003cp\u003eQuick follow-up release to 0.13.2 to fix a crash (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1523\"\u003e#1523\u003c/a\u003e).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ca href=\"https://github.com/InjectSoftAssertions\"\u003e\u003ccode\u003e@​InjectSoftAssertions\u003c/code\u003e\u003c/a\u003e to default excluded field annotations by \u003ca href=\"https://github.com/is-ivanov\"\u003e\u003ccode\u003e@​is-ivanov\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1516\"\u003e#1516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix check for enclosing \u003ccode\u003eNewClassTree\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1524\"\u003e#1524\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMaintenance\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003eonOverrideMethodInvocationVarargsArrayNullability\u003c/code\u003e handler method (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1518\"\u003e#1518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate to Checker Framework 4.0.0 (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1519\"\u003e#1519\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/uber/NullAway/blob/master/CHANGELOG.md\"\u003ecom.uber.nullaway:nullaway's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.13.3\u003c/h2\u003e\n\u003cp\u003eQuick follow-up release to 0.13.2 to fix a crash (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1523\"\u003e#1523\u003c/a\u003e).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ca href=\"https://github.com/InjectSoftAssertions\"\u003e\u003ccode\u003e@​InjectSoftAssertions\u003c/code\u003e\u003c/a\u003e to default excluded field annotations by \u003ca href=\"https://github.com/is-ivanov\"\u003e\u003ccode\u003e@​is-ivanov\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1516\"\u003e#1516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix check for enclosing \u003ccode\u003eNewClassTree\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1524\"\u003e#1524\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMaintenance\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003eonOverrideMethodInvocationVarargsArrayNullability\u003c/code\u003e handler method (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1518\"\u003e#1518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate to Checker Framework 4.0.0 (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1519\"\u003e#1519\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber/NullAway/commit/68232d259460071bef95cf05e5c508a76a2bb68d\"\u003e\u003ccode\u003e68232d2\u003c/code\u003e\u003c/a\u003e Prepare for release 0.13.3.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber/NullAway/commit/b2d6dfa1677521cd42d02e7c883c24d9b19e2af6\"\u003e\u003ccode\u003eb2d6dfa\u003c/code\u003e\u003c/a\u003e Changelog for 0.13.3 (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1527\"\u003e#1527\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber/NullAway/commit/a6855fdf29211c8145bca0f24028586f35397b2d\"\u003e\u003ccode\u003ea6855fd\u003c/code\u003e\u003c/a\u003e Fix check for enclosing \u003ccode\u003eNewClassTree\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1524\"\u003e#1524\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber/NullAway/commit/9c08bc5742eed5521356ac2c44a4e7637aed5b5c\"\u003e\u003ccode\u003e9c08bc5\u003c/code\u003e\u003c/a\u003e Update to Checker Framework 4.0.0 (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1519\"\u003e#1519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber/NullAway/commit/68fc07e07bd6de78136243faa4b8d4732881e4b5\"\u003e\u003ccode\u003e68fc07e\u003c/code\u003e\u003c/a\u003e Remove \u003ccode\u003eonOverrideMethodInvocationVarargsArrayNullability\u003c/code\u003e handler method (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber/NullAway/commit/7b5c9243f89a7a344025006942a0378500d2e954\"\u003e\u003ccode\u003e7b5c924\u003c/code\u003e\u003c/a\u003e Add \u003ca href=\"https://github.com/InjectSoftAssertions\"\u003e\u003ccode\u003e@​InjectSoftAssertions\u003c/code\u003e\u003c/a\u003e to default excluded field annotations (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1516\"\u003e#1516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber/NullAway/commit/164d8f6e860fb2eff5b629758891c78013ff89c4\"\u003e\u003ccode\u003e164d8f6\u003c/code\u003e\u003c/a\u003e Prepare next development version.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/uber/NullAway/compare/v0.13.2...v0.13.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.micrometer:micrometer-registry-prometheus` from 1.16.4 to 1.16.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/micrometer-metrics/micrometer/releases\"\u003eio.micrometer:micrometer-registry-prometheus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.16.5\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInvalid reflection hint in micrometer-core for native GraalVM 25 build \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7316\"\u003e#7316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eObservationGrpcClientInterceptor throws NPE when NameResolver returns empty authority \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7380\"\u003e#7380\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWrong Nullability Information in OkHttpMetricsEventListener \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7373\"\u003e#7373\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump com.netflix.spectator:spectator-reg-atlas from 1.9.4 to 1.9.6 \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/pull/7393\"\u003e#7393\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump spring6 from 6.2.16 to 6.2.17 \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/pull/7294\"\u003e#7294\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:heart: Contributors\u003c/h2\u003e\n\u003cp\u003eThank you to all the contributors who worked on this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/Joowon-Seo\"\u003e\u003ccode\u003e@​Joowon-Seo\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/ribafish\"\u003e\u003ccode\u003e@​ribafish\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/cf727d0a9605c1aea58c26c5e72fb9f6fe84df2a\"\u003e\u003ccode\u003ecf727d0\u003c/code\u003e\u003c/a\u003e Bump com.netflix.spectator:spectator-reg-atlas from 1.9.5 to 1.9.6 (\u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7393\"\u003e#7393\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/55b8f066ce6dbb637ccb54e626dadab605885a3e\"\u003e\u003ccode\u003e55b8f06\u003c/code\u003e\u003c/a\u003e Fix OkHttp tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/140b83bb46f2a10e6429522bb9aa785b63dc7882\"\u003e\u003ccode\u003e140b83b\u003c/code\u003e\u003c/a\u003e Harmonize \u003ca href=\"https://github.com/Nullable\"\u003e\u003ccode\u003e@​Nullable\u003c/code\u003e\u003c/a\u003e annotations in okhttp instrumentation (\u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7375\"\u003e#7375\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/8c1758b23f82d45579f2b12bd3a011d510afbd08\"\u003e\u003ccode\u003e8c1758b\u003c/code\u003e\u003c/a\u003e Handle null peerName in GrpcClientObservationConvention (\u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7381\"\u003e#7381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/5ee71b4cf892357e49c7bde26fb226e5958716b3\"\u003e\u003ccode\u003e5ee71b4\u003c/code\u003e\u003c/a\u003e Merge branch '1.15.x' into 1.16.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/84faaa60aaa8dfd3e0aab02ff6ca6986c5fd3fe0\"\u003e\u003ccode\u003e84faaa6\u003c/code\u003e\u003c/a\u003e Fix build cache misses from overlapping outputs in statsd module (\u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7349\"\u003e#7349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/9a0441db18e32df1a76753c0dcd92d29631a6418\"\u003e\u003ccode\u003e9a0441d\u003c/code\u003e\u003c/a\u003e Merge branch '1.15.x' into 1.16.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/1010433d812e3f8187103f72fae163137cf62694\"\u003e\u003ccode\u003e1010433\u003c/code\u003e\u003c/a\u003e NullMeterTagSupportTests does not match its filename\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/c2770fc0c3c1464b73f78eeab130ed7ed6475b90\"\u003e\u003ccode\u003ec2770fc\u003c/code\u003e\u003c/a\u003e Bump org.apache.logging.log4j:log4j-core from 2.25.3 to 2.25.4 (\u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7362\"\u003e#7362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/26f6da0f34511d5145e44bb2526bbf3b91491cd0\"\u003e\u003ccode\u003e26f6da0\u003c/code\u003e\u003c/a\u003e Bump io.netty:netty-bom from 4.1.131.Final to 4.1.132.Final (\u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7335\"\u003e#7335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/micrometer-metrics/micrometer/compare/v1.16.4...v1.16.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.testcontainers:testcontainers` from 2.0.4 to 2.0.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testcontainers/testcontainers-java/releases\"\u003eorg.testcontainers:testcontainers's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.5\u003c/h2\u003e\n\u003ch1\u003eWhat's Changed\u003c/h1\u003e\n\u003ch2\u003e🚀 Features \u0026amp; Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003eapache/artemis\u003c/code\u003e in ArtemisContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11590\"\u003e#11590\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd getHttpPort and getGrpcPort methods in WeaviateContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11712\"\u003e#11712\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for !override docker compose tag (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11490\"\u003e#11490\u003c/a\u003e) \u003ca href=\"https://github.com/meck-gd\"\u003e\u003ccode\u003e@​meck-gd\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix jarFileTest cache relocatability (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11574\"\u003e#11574\u003c/a\u003e) \u003ca href=\"https://github.com/ribafish\"\u003e\u003ccode\u003e@​ribafish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📖 Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate LocalStack docs (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11581\"\u003e#11581\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Housekeeping\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typo in GenericContainer namespace validation error message (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11717\"\u003e#11717\u003c/a\u003e) \u003ca href=\"https://github.com/haider2122\"\u003e\u003ccode\u003e@​haider2122\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace deprecated/removed method calls javadoc examples (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11570\"\u003e#11570\u003c/a\u003e) \u003ca href=\"https://github.com/ratonalgaze\"\u003e\u003ccode\u003e@​ratonalgaze\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse weaviate client v6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11711\"\u003e#11711\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePolish CI workflows (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11686\"\u003e#11686\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate testcontainers version to 2.0.4 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11357\"\u003e#11357\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate docs version to 2.0.4 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11573\"\u003e#11573\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency updates\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11710\"\u003e#11710\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11708\"\u003e#11708\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11707\"\u003e#11707\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11706\"\u003e#11706\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11705\"\u003e#11705\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11704\"\u003e#11704\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11701\"\u003e#11701\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11700\"\u003e#11700\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11699\"\u003e#11699\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11685\"\u003e#11685\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11684\"\u003e#11684\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11681\"\u003e#11681\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11672\"\u003e#11672\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11671\"\u003e#11671\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11670\"\u003e#11670\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11632\"\u003e#11632\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/5c448202ac69d073f746433d3e79f6a2bf0ec585\"\u003e\u003ccode\u003e5c44820\u003c/code\u003e\u003c/a\u003e Fix typo (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11717\"\u003e#11717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/84b1c3a5951f18421ed35e82c44a1d17c5690cad\"\u003e\u003ccode\u003e84b1c3a\u003c/code\u003e\u003c/a\u003e Add getHttpPort and getGrpcPort methods in WeaviateContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11712\"\u003e#11712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/a412b8ea77bae4ef51ca3e6bed7cffd0566b362e\"\u003e\u003ccode\u003ea412b8e\u003c/code\u003e\u003c/a\u003e Use weaviate client v6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11711\"\u003e#11711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/058fa82a96853bd653aa3bcaa95b6d94a148ea69\"\u003e\u003ccode\u003e058fa82\u003c/code\u003e\u003c/a\u003e Combined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11710\"\u003e#11710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/773f344be6446a45da27e21d1d1a1c493b1a4062\"\u003e\u003ccode\u003e773f344\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/hivemq/ch.qos....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/ebe60437d087b16e5fac33ae554ecce13303b8bd\"\u003e\u003ccode\u003eebe6043\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/activemq/org.a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/5248d1dec9810e31b2cb0dc93ac04dd2820141ff\"\u003e\u003ccode\u003e5248d1d\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/scylladb/softw...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/ab781f6f71a619d4a55206e6c9380108a2508d13\"\u003e\u003ccode\u003eab781f6\u003c/code\u003e\u003c/a\u003e Combined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11708\"\u003e#11708\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/2d6c1be44a8618016f3510b6a30286c54a55ac7d\"\u003e\u003ccode\u003e2d6c1be\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/core/org.jetbrains-ann...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/e76c291ab852e6b9c6f8d7ddf3ec46bdcd52b2a3\"\u003e\u003ccode\u003ee76c291\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/core/org.junit.platfor...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/testcontainers/testcontainers-java/compare/2.0.4...2.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.testcontainers:testcontainers-junit-jupiter` from 2.0.4 to 2.0.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testcontainers/testcontainers-java/releases\"\u003eorg.testcontainers:testcontainers-junit-jupiter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.5\u003c/h2\u003e\n\u003ch1\u003eWhat's Changed\u003c/h1\u003e\n\u003ch2\u003e🚀 Features \u0026amp; Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003eapache/artemis\u003c/code\u003e in ArtemisContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11590\"\u003e#11590\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd getHttpPort and getGrpcPort methods in WeaviateContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11712\"\u003e#11712\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for !override docker compose tag (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11490\"\u003e#11490\u003c/a\u003e) \u003ca href=\"https://github.com/meck-gd\"\u003e\u003ccode\u003e@​meck-gd\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix jarFileTest cache relocatability (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11574\"\u003e#11574\u003c/a\u003e) \u003ca href=\"https://github.com/ribafish\"\u003e\u003ccode\u003e@​ribafish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📖 Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate LocalStack docs (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11581\"\u003e#11581\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Housekeeping\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typo in GenericContainer namespace validation error message (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11717\"\u003e#11717\u003c/a\u003e) \u003ca href=\"https://github.com/haider2122\"\u003e\u003ccode\u003e@​haider2122\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace deprecated/removed method calls javadoc examples (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11570\"\u003e#11570\u003c/a\u003e) \u003ca href=\"https://github.com/ratonalgaze\"\u003e\u003ccode\u003e@​ratonalgaze\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse weaviate client v6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11711\"\u003e#11711\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePolish CI workflows (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11686\"\u003e#11686\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate testcontainers version to 2.0.4 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11357\"\u003e#11357\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate docs version to 2.0.4 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11573\"\u003e#11573\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency updates\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11710\"\u003e#11710\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11708\"\u003e#11708\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11707\"\u003e#11707\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11706\"\u003e#11706\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11705\"\u003e#11705\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11704\"\u003e#11704\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11701\"\u003e#11701\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11700\"\u003e#11700\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11699\"\u003e#11699\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11685\"\u003e#11685\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11684\"\u003e#11684\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11681\"\u003e#11681\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11672\"\u003e#11672\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11671\"\u003e#11671\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11670\"\u003e#11670\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11632\"\u003e#11632\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/5c448202ac69d073f746433d3e79f6a2bf0ec585\"\u003e\u003ccode\u003e5c44820\u003c/code\u003e\u003c/a\u003e Fix typo (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11717\"\u003e#11717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/84b1c3a5951f18421ed35e82c44a1d17c5690cad\"\u003e\u003ccode\u003e84b1c3a\u003c/code\u003e\u003c/a\u003e Add getHttpPort and getGrpcPort methods in WeaviateContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11712\"\u003e#11712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/a412b8ea77bae4ef51ca3e6bed7cffd0566b362e\"\u003e\u003ccode\u003ea412b8e\u003c/code\u003e\u003c/a\u003e Use weaviate client v6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11711\"\u003e#11711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/058fa82a96853bd653aa3bcaa95b6d94a148ea69\"\u003e\u003ccode\u003e058fa82\u003c/code\u003e\u003c/a\u003e Combined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11710\"\u003e#11710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/773f344be6446a45da27e21d1d1a1c493b1a4062\"\u003e\u003ccode\u003e773f344\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/hivemq/ch.qos....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/ebe60437d087b16e5fac33ae554ecce13303b8bd\"\u003e\u003ccode\u003eebe6043\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/activemq/org.a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/5248d1dec9810e31b2cb0dc93ac04dd2820141ff\"\u003e\u003ccode\u003e5248d1d\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/scylladb/softw...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/ab781f6f71a619d4a55206e6c9380108a2508d13\"\u003e\u003ccode\u003eab781f6\u003c/code\u003e\u003c/a\u003e Combined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11708\"\u003e#11708\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/2d6c1be44a8618016f3510b6a30286c54a55ac7d\"\u003e\u003ccode\u003e2d6c1be\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/core/org.jetbrains-ann...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/e76c291ab852e6b9c6f8d7ddf3ec46bdcd52b2a3\"\u003e\u003ccode\u003ee76c291\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/core/org.junit.platfor...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/testcontainers/testcontainers-java/compare/2.0.4...2.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.testcontainers:testcontainers-postgresql` from 2.0.4 to 2.0.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testcontainers/testcontainers-java/releases\"\u003eorg.testcontainers:testcontainers-postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.5\u003c/h2\u003e\n\u003ch1\u003eWhat's Changed\u003c/h1\u003e\n\u003ch2\u003e🚀 Features \u0026amp; Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003eapache/artemis\u003c/code\u003e in ArtemisContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11590\"\u003e#11590\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd getHttpPort and getGrpcPort methods in WeaviateContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11712\"\u003e#11712\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for !override docker compose tag (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11490\"\u003e#11490\u003c/a\u003e) \u003ca href=\"https://github.com/meck-gd\"\u003e\u003ccode\u003e@​meck-gd\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix jarFileTest cache relocatability (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11574\"\u003e#11574\u003c/a\u003e) \u003ca href=\"https://github.com/ribafish\"\u003e\u003ccode\u003e@​ribafish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📖 Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate LocalStack docs (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11581\"\u003e#11581\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Housekeeping\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typo in GenericContainer namespace validation error message (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11717\"\u003e#11717\u003c/a\u003e) \u003ca href=\"https://github.com/haider2122\"\u003e\u003ccode\u003e@​haider2122\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace deprecated/removed method calls javadoc examples (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11570\"\u003e#11570\u003c/a\u003e) \u003ca href=\"https://github.com/ratonalgaze\"\u003e\u003ccode\u003e@​ratonalgaze\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse weaviate client v6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11711\"\u003e#11711\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePolish CI workflows (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11686\"\u003e#11686\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate testcontainers version to 2.0.4 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11357\"\u003e#11357\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate docs version to 2.0.4 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11573\"\u003e#11573\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency updates\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11710\"\u003e#11710\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11708\"\u003e#11708\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11707\"\u003e#11707\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11706\"\u003e#11706\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11705\"\u003e#11705\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11704\"\u003e#11704\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11701\"\u003e#11701\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11700\"\u003e#11700\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11699\"\u003e#11699\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11685\"\u003e#11685\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11684\"\u003e#11684\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11681\"\u003e#11681\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11672\"\u003e#11672\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11671\"\u003e#11671\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11670\"\u003e#11670\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11632\"\u003e#11632\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/5c448202ac69d073f746433d3e79f6a2bf0ec585\"\u003e\u003ccode\u003e5c44820\u003c/code\u003e\u003c/a\u003e Fix typo (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11717\"\u003e#11717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/84b1c3a5951f18421ed35e82c44a1d17c5690cad\"\u003e\u003ccode\u003e84b1c3a\u003c/code\u003e\u003c/a\u003e Add getHttpPort and getGrpcPort methods in WeaviateContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11712\"\u003e#11712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/a412b8ea77bae4ef51ca3e6bed7cffd0566b362e\"\u003e\u003ccode\u003ea412b8e\u003c/code\u003e\u003c/a\u003e Use weaviate client v6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11711\"\u003e#11711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/058fa82a96853bd653aa3bcaa95b6d94a148ea69\"\u003e\u003ccode\u003e058fa82\u003c/code\u003e\u003c/a\u003e Combined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11710\"\u003e#11710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/773f344be6446a45da27e21d1d1a1c493b1a4062\"\u003e\u003ccode\u003e773f344\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/hivemq/ch.qos....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/ebe60437d087b16e5fac33ae554ecce13303b8bd\"\u003e\u003ccode\u003eebe6043\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/activemq/org.a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/5248d1dec9810e31b2cb0dc93ac04dd2820141ff\"\u003e\u003ccode\u003e5248d1d\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/scylladb/softw...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/ab781f6f71a619d4a55206e6c9380108a2508d13\"\u003e\u003ccode\u003eab781f6\u003c/code\u003e\u003c/a\u003e Combined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11708\"\u003e#11708\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/2d6c1be44a8618016f3510b6a30286c54a55ac7d\"\u003e\u003ccode\u003e2d6c1be\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/core/org.jetbrains-ann...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/e76c291ab852e6b9c6f8d7ddf3ec46bdcd52b2a3\"\u003e\u003ccode\u003ee76c291\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/core/org.junit.platfor...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/testcontainers/testcontainers-java/compare/2.0.4...2.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.testcontainers:testcontainers-junit-jupiter` from 2.0.4 to 2.0.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testcontainers/testcontainers-java/releases\"\u003eorg.testcontainers:testcontainers-junit-jupiter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.5\u003c/h2\u003e\n\u003ch1\u003eWhat's Changed\u003c/h1\u003e\n\u003ch2\u003e🚀 Features \u0026amp; Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003eapache/artemis\u003c/code\u003e in ArtemisContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11590\"\u003e#11590\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd getHttpPort and getGrpcPort methods in WeaviateContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11712\"\u003e#11712\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for !override docker compose tag (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11490\"\u003e#11490\u003c/a\u003e) \u003ca href=\"https://github.com/meck-gd\"\u003e\u003ccode\u003e@​meck-gd\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix jarFileTest cache relocatability (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11574\"\u003e#11574\u003c/a\u003e) \u003ca href=\"https://github.com/ribafish\"\u003e\u003ccode\u003e@​ribafish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📖 Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate LocalStack docs (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11581\"\u003e#11581\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Housekeeping\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typo in GenericContainer namespace validation error message (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11717\"\u003e#11717\u003c/a\u003e) \u003ca href=\"https://github.com/haider2122\"\u003e\u003ccode\u003e@​haider2122\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace deprecated/removed method calls javadoc examples (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11570\"\u003e#11570\u003c/a\u003e) \u003ca href=\"https://github.com/ratonalgaze\"\u003e\u003ccode\u003e@​ratonalgaze\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse weaviate client v6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11711\"\u003e#11711\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePolish CI workflows (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11686\"\u003e#11686\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate testcontainers version to 2.0.4 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11357\"\u003e#11357\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate docs version to 2.0.4 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11573\"\u003e#11573\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency updates\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11710\"\u003e#11710\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11708\"\u003e#11708\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11707\"\u003e#11707\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11706\"\u003e#11706\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11705\"\u003e#11705\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11704\"\u003e#11704\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11701\"\u003e#11701\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11700\"\u003e#11700\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11699\"\u003e#11699\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11685\"\u003e#11685\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11684\"\u003e#11684\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11681\"\u003e#11681\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11672\"\u003e#11672\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11671\"\u003e#11671\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11670\"\u003e#11670\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11632\"\u003e#11632\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/5c448202ac69d073f746433d3e79f6a2bf0ec585\"\u003e\u003ccode\u003e5c44820\u003c/code\u003e\u003c/a\u003e Fix typo (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11717\"\u003e#11717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/84b1c3a5951f18421ed35e82c44a1d17c5690cad\"\u003e\u003ccode\u003e84b1c3a\u003c/code\u003e\u003c/a\u003e Add getHttpPort and getGrpcPort methods in WeaviateContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11712\"\u003e#11712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/a412b8ea77bae4ef51ca3e6bed7cffd0566b362e\"\u003e\u003ccode\u003ea412b8e\u003c/code\u003e\u003c/a\u003e Use weaviate client v6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11711\"\u003e#11711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/058fa82a96853bd653aa3bcaa95b6d94a148ea69\"\u003e\u003ccode\u003e058fa82\u003c/code\u003e\u003c/a\u003e Combined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11710\"\u003e#11710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/773f344be6446a45da27e21d1d1a1c493b1a4062\"\u003e\u003ccode\u003e773f344\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/hivemq/ch.qos....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/ebe60437d087b16e5fac33ae554ecce13303b8bd\"\u003e\u003ccode\u003eebe6043\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/activemq/org.a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/5248d1dec9810e31b2cb0dc93ac04dd2820141ff\"\u003e\u003ccode\u003e5248d1d\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/scylladb/softw...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/ab781f6f71a619d4a55206e6c9380108a2508d13\"\u003e\u003ccode\u003eab781f6\u003c/code\u003e\u003c/a\u003e Combined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11708\"\u003e#11708\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/2d6c1be44a8618016f3510b6a30286c54a55ac7d\"\u003e\u003ccode\u003e2d6c1be\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/core/org.jetbrains-ann...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/e76c291ab852e6b9c6f8d7ddf3ec46bdcd52b2a3\"\u003e\u003ccode\u003ee76c291\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/core/org.junit.platfor...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/testcontainers/testcontainers-java/compare/2.0.4...2.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.testcontainers:testcontainers-postgresql` from 2.0.4 to 2.0.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testcontainers/testcontainers-java/releases\"\u003eorg.testcontainers:testcontainers-postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.5\u003c/h2\u003e\n\u003ch1\u003eWhat's Changed\u003c/h1\u003e\n\u003ch2\u003e🚀 Features \u0026amp; Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003eapache/artemis\u003c/code\u003e in ArtemisContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11590\"\u003e#11590\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd getHttpPort and getGrpcPort methods in WeaviateContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11712\"\u003e#11712\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for !override docker compose tag (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11490\"\u003e#11490\u003c/a\u003e) \u003ca href=\"https://github.com/meck-gd\"\u003e\u003ccode\u003e@​meck-gd\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix jarFileTest cache relocatability (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11574\"\u003e#11574\u003c/a\u003e) \u003ca href=\"https://github.com/ribafish\"\u003e\u003ccode\u003e@​ribafish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📖 Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate LocalStack docs (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11581\"\u003e#11581\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Housekeeping\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typo in GenericContainer namespace validation error message (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11717\"\u003e#11717\u003c/a\u003e) \u003ca href=\"https://github.com/haider2122\"\u003e\u003ccode\u003e@​haider2122\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace deprecated/removed method calls javadoc examples (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11570\"\u003e#11570\u003c/a\u003e) \u003ca href=\"https://github.com/ratonalgaze\"\u003e\u003ccode\u003e@​ratonalgaze\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse weaviate client v6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11711\"\u003e#11711\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePolish CI workflows (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11686\"\u003e#11686\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate testcontainers version to 2.0.4 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11357\"\u003e#11357\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate docs version to 2.0.4 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11573\"\u003e#11573\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/github-actions\"\u003egithub-actions[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency updates\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11710\"\u003e#11710\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11708\"\u003e#11708\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11707\"\u003e#11707\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11706\"\u003e#11706\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11705\"\u003e#11705\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11704\"\u003e#11704\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11701\"\u003e#11701\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11700\"\u003e#11700\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11699\"\u003e#11699\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11685\"\u003e#11685\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11684\"\u003e#11684\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11681\"\u003e#11681\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11672\"\u003e#11672\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11671\"\u003e#11671\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11670\"\u003e#11670\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCombined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11632\"\u003e#11632\u003c/a\u003e) \u003ca href=\"https://github.com/eddumelendez\"\u003e\u003ccode\u003e@​eddumelendez\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/5c448202ac69d073f746433d3e79f6a2bf0ec585\"\u003e\u003ccode\u003e5c44820\u003c/code\u003e\u003c/a\u003e Fix typo (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11717\"\u003e#11717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/84b1c3a5951f18421ed35e82c44a1d17c5690cad\"\u003e\u003ccode\u003e84b1c3a\u003c/code\u003e\u003c/a\u003e Add getHttpPort and getGrpcPort methods in WeaviateContainer (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11712\"\u003e#11712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/a412b8ea77bae4ef51ca3e6bed7cffd0566b362e\"\u003e\u003ccode\u003ea412b8e\u003c/code\u003e\u003c/a\u003e Use weaviate client v6 (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11711\"\u003e#11711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/058fa82a96853bd653aa3bcaa95b6d94a148ea69\"\u003e\u003ccode\u003e058fa82\u003c/code\u003e\u003c/a\u003e Combined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11710\"\u003e#11710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/773f344be6446a45da27e21d1d1a1c493b1a4062\"\u003e\u003ccode\u003e773f344\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/hivemq/ch.qos....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/ebe60437d087b16e5fac33ae554ecce13303b8bd\"\u003e\u003ccode\u003eebe6043\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/activemq/org.a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/5248d1dec9810e31b2cb0dc93ac04dd2820141ff\"\u003e\u003ccode\u003e5248d1d\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/modules/scylladb/softw...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/ab781f6f71a619d4a55206e6c9380108a2508d13\"\u003e\u003ccode\u003eab781f6\u003c/code\u003e\u003c/a\u003e Combined dependencies PR (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-java/issues/11708\"\u003e#11708\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/2d6c1be44a8618016f3510b6a30286c54a55ac7d\"\u003e\u003ccode\u003e2d6c1be\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/core/org.jetbrains-ann...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-java/commit/e76c291ab852e6b9c6f8d7ddf3ec46bdcd52b2a3\"\u003e\u003ccode\u003ee76c291\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/dependabot/gradle/core/org.junit.platfor...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/testcontainers/testcontainers-java/compare/2.0.4...2.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.ben-manes.versions` from 0.53.0 to 0.54.0\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/digitalservicebund/ris-norms/pull/2303","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitalservicebund%2Fris-norms/issues/2303","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2303/packages"}},{"old_version":"0.53.0","new_version":"0.54.0","update_type":"minor","path":"/backend in the all-backend-non-major-dependencies group","pr_created_at":"2026-04-23T00:06:09.000Z","version_change":"0.53.0 → 0.54.0","issue":{"uuid":"4312499551","node_id":"PR_kwDOHIA6Rc7UzHlz","number":3991,"state":"closed","title":"Bump com.github.ben-manes.versions from 0.53.0 to 0.54.0 in /backend in the all-backend-non-major-dependencies group","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-24T00:06:34.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-23T00:06:09.000Z","updated_at":"2026-04-24T00:06:35.000Z","time_to_close":86425,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0","repository_url":null}],"path":"/backend in the all-backend-non-major-dependencies group","ecosystem":"maven"},"body":"Bumps the all-backend-non-major-dependencies group in /backend with 1 update: com.github.ben-manes.versions.\n\nUpdates `com.github.ben-manes.versions` from 0.53.0 to 0.54.0\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.github.ben-manes.versions\u0026package-manager=gradle\u0026previous-version=0.53.0\u0026new-version=0.54.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/digitalservicebund/ris-backend-service/pull/3991","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitalservicebund%2Fris-backend-service/issues/3991","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3991/packages"}},{"old_version":"0.53.0","new_version":"0.54.0","update_type":"minor","path":null,"pr_created_at":"2026-04-20T23:01:56.000Z","version_change":"0.53.0 → 0.54.0","issue":{"uuid":"4299180539","node_id":"PR_kwDOCwoplM7UIB22","number":600,"state":"open","title":"Bump com.github.ben-manes.versions from 0.53.0 to 0.54.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-20T23:01:56.000Z","updated_at":"2026-04-20T23:13:27.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.github.ben-manes.versions from 0.53.0 to 0.54.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.github.ben-manes.versions\u0026package-manager=gradle\u0026previous-version=0.53.0\u0026new-version=0.54.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/1c-syntax/mdclasses/pull/600","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/1c-syntax%2Fmdclasses/issues/600","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/600/packages"}},{"old_version":"0.53.0","new_version":"0.54.0","update_type":"minor","path":null,"pr_created_at":"2026-04-20T20:12:59.000Z","version_change":"0.53.0 → 0.54.0","issue":{"uuid":"4298397633","node_id":"PR_kwDOEXxVv87UFdM8","number":352,"state":"closed","title":"Bump com.github.ben-manes.versions from 0.53.0 to 0.54.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-18T22:08:12.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-20T20:12:59.000Z","updated_at":"2026-05-18T22:08:14.000Z","time_to_close":2426113,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.github.ben-manes.versions from 0.53.0 to 0.54.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.github.ben-manes.versions\u0026package-manager=gradle\u0026previous-version=0.53.0\u0026new-version=0.54.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/murggel/cgeo/pull/352","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/murggel%2Fcgeo/issues/352","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/352/packages"}},{"old_version":"0.51.0","new_version":"0.54.0","update_type":"minor","path":null,"pr_created_at":"2026-04-20T19:55:29.000Z","version_change":"0.51.0 → 0.54.0","issue":{"uuid":"4298301351","node_id":"PR_kwDOFx0z0M7UFJZf","number":1875,"state":"open","title":"Bump com.github.ben-manes.versions from 0.51.0 to 0.54.0","user":"dependabot[bot]","labels":["Stale","dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-20T19:55:29.000Z","updated_at":"2026-04-28T00:54:31.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"com.github.ben-manes.versions","old_version":"0.51.0","new_version":"0.54.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.github.ben-manes.versions from 0.51.0 to 0.54.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.github.ben-manes.versions\u0026package-manager=gradle\u0026previous-version=0.51.0\u0026new-version=0.54.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nYou can trigger a rebase of this PR by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/corda/corda-api/pull/1875","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/corda%2Fcorda-api/issues/1875","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1875/packages"}},{"old_version":"0.53.0","new_version":"0.54.0","update_type":"minor","path":null,"pr_created_at":"2026-04-20T14:03:54.000Z","version_change":"0.53.0 → 0.54.0","issue":{"uuid":"4296267736","node_id":"PR_kwDOAB70tM7T-gkO","number":18028,"state":"open","title":"Bump com.github.ben-manes.versions from 0.53.0 to 0.54.0","user":"dependabot[bot]","labels":["Dependencies","java"],"assignees":["bekuno"],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-20T14:03:54.000Z","updated_at":"2026-05-10T16:30:46.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.github.ben-manes.versions from 0.53.0 to 0.54.0.\n","html_url":"https://github.com/cgeo/cgeo/pull/18028","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/cgeo%2Fcgeo/issues/18028","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/18028/packages"}}]}