{"id":2391,"name":"com.tngtech.archunit:archunit-junit5","ecosystem":"maven","repository_url":"https://github.com/TNG/ArchUnit","issues_count":198,"created_at":"2025-06-06T15:02:03.316Z","updated_at":"2025-06-06T15:02:03.316Z","purl":"pkg:maven/com.tngtech.archunit:archunit-junit5","metadata":{"id":4623976,"name":"com.tngtech.archunit:archunit-junit5","ecosystem":"maven","description":"A Java architecture test library, to specify and assert architecture rules in plain Java - Module 'archunit-junit5'","homepage":"https://github.com/TNG/ArchUnit","licenses":"The Apache Software License, Version 2.0","normalized_licenses":["Apache-2.0"],"repository_url":"https://github.com/TNG/ArchUnit","keywords_array":[],"namespace":"com.tngtech.archunit","versions_count":29,"first_release_published_at":"2021-08-22T14:38:27.000Z","latest_release_published_at":"2025-05-07T19:58:15.000Z","latest_release_number":"1.4.1","last_synced_at":"2025-06-04T23:43:52.624Z","created_at":"2022-07-23T03:12:16.908Z","updated_at":"2025-06-04T23:43:52.625Z","registry_url":"https://central.sonatype.com/artifact/com.tngtech.archunit/archunit-junit5/","install_command":null,"documentation_url":"https://appdoc.app/artifact/com.tngtech.archunit/archunit-junit5/","metadata":{},"repo_metadata":{"uuid":"88962042","full_name":"TNG/ArchUnit","owner":"TNG","description":"A Java architecture test library, to specify and assert architecture rules in plain Java","archived":false,"fork":false,"pushed_at":"2023-03-12T07:04:45.000Z","size":15970,"stargazers_count":2600,"open_issues_count":92,"forks_count":256,"subscribers_count":50,"default_branch":"main","last_synced_at":"2023-03-12T08:34:46.929Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://archunit.org","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"logo_url":null,"metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-04-21T08:39:20.000Z","updated_at":"2023-03-11T17:34:26.000Z","dependencies_parsed_at":"2023-02-17T20:31:01.789Z","dependency_job_id":null,"html_url":"https://github.com/TNG/ArchUnit","commit_stats":null,"repository_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TNG%2FArchUnit","tags_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TNG%2FArchUnit/tags","manifests_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TNG%2FArchUnit/manifests","owner_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TNG","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":108921946,"host_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names"},"owner_record":{"login":"TNG","name":"TNG Technology Consulting GmbH","uuid":"432256","kind":"organization","description":"TNG Technology Consulting GmbH is a value-based consulting partnership focused on high end information technology.","email":"info@tngtech.com","website":"https://www.tngtech.com","location":"Munich, Germany","twitter":"tngtech","company":null,"avatar_url":"https://avatars.githubusercontent.com/u/432256?v=4","repositories_count":27,"last_synced_at":"2023-03-12T08:31:39.657Z","metadata":{"has_sponsors_listing":false},"owner_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TNG"},"tags":[{"name":"v1.0.1","sha":"bfbf0477f56188ea92077a08e9e28cba26d474fa","kind":"commit","published_at":"2022-11-21T18:10:16.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v1.0.1","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v1.0.1"},{"name":"v1.0.0","sha":"f11750bd2feb61f49209040f9ce25a2ec7b80b9a","kind":"commit","published_at":"2022-10-03T17:22:21.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v1.0.0","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v1.0.0"},{"name":"v1.0.0-rc1","sha":"dd533a43103c767eaddc5e63dd4ca012bdb505bb","kind":"commit","published_at":"2022-07-13T17:41:15.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v1.0.0-rc1","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v1.0.0-rc1"},{"name":"v0.23.1","sha":"d236cd3b277e67c0d2e3fe41738fa1afa9c56888","kind":"commit","published_at":"2022-02-27T14:58:57.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v0.23.1","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v0.23.1"},{"name":"v0.23.0","sha":"1e579c3408a58131f106268882dd435f44b85f46","kind":"commit","published_at":"2022-02-20T06:29:33.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v0.23.0","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v0.23.0"},{"name":"v0.22.0","sha":"821f16459fac126312fdb95d183612fbdabb1638","kind":"commit","published_at":"2021-10-30T06:13:01.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v0.22.0","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v0.22.0"},{"name":"v0.21.0","sha":"fe919acfb327b47a50fbcaefeb188e4ce0210e03","kind":"commit","published_at":"2021-08-22T17:43:24.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v0.21.0","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v0.21.0"},{"name":"v0.20.1","sha":"549500fb7d259260a3530b6c8eb4e6faac4e5cfa","kind":"commit","published_at":"2021-07-16T11:32:11.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v0.20.1","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v0.20.1"},{"name":"v0.20.0","sha":"8a5058e18ff452898dce00a1c29aee9adbc5f4e8","kind":"tag","published_at":"2021-07-04T16:15:45.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v0.20.0","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v0.20.0"},{"name":"v0.19.0","sha":"6140cbc8aa9a638c8753e2db2752015fa8bed058","kind":"commit","published_at":"2021-05-30T15:22:21.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v0.19.0","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v0.19.0"},{"name":"v0.18.0","sha":"165c695247fec1c2b889b30cd2ae9bb2250e75b4","kind":"commit","published_at":"2021-04-14T21:57:43.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v0.18.0","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v0.18.0"},{"name":"v0.17.0","sha":"937a9cc9d72e6e4baeb6b77594bd14d4abd11963","kind":"commit","published_at":"2021-02-21T23:15:39.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v0.17.0","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v0.17.0"},{"name":"v0.16.0","sha":"d63a224928631f7e705bf1f4b0b3ff59c7e154b8","kind":"commit","published_at":"2021-01-31T20:04:47.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v0.16.0","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v0.16.0"},{"name":"v0.15.0","sha":"9500ef8eed3f9b5acf873c619e539e4adb13951c","kind":"commit","published_at":"2020-12-16T23:49:40.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v0.15.0","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v0.15.0"},{"name":"v0.14.1","sha":"00ea9edb80ccf61a02244598665fb22c3626bce4","kind":"commit","published_at":"2020-05-23T23:16:21.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v0.14.1","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v0.14.1"},{"name":"v0.14.0","sha":"c8363d28a2058b1ab18fa3484bc2a3d1a096cd70","kind":"commit","published_at":"2020-05-23T21:07:36.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v0.14.0","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v0.14.0"},{"name":"v0.13.1","sha":"b928082f82eb2d01ee06f2869ea22f960cb17f1d","kind":"commit","published_at":"2020-02-04T19:03:46.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v0.13.1","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v0.13.1"},{"name":"v0.13.0","sha":"a15d47a64ef6fff4a7bc5f3d8e0f932c7da85016","kind":"commit","published_at":"2020-01-10T21:01:25.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v0.13.0","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v0.13.0"},{"name":"v0.12.0","sha":"f6def49f0f7fa9b26e0b7e0502ce581b79fedbaf","kind":"commit","published_at":"2019-11-03T21:15:49.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v0.12.0","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v0.12.0"},{"name":"v0.11.0","sha":"41a7b6506f76a9ee43d461776bdf1207aa53d4a8","kind":"commit","published_at":"2019-07-30T18:06:31.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v0.11.0","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v0.11.0"},{"name":"0.10.2","sha":"5f0cc821927902d0676dc55ff396bf48c297763b","kind":"commit","published_at":"2019-03-31T12:54:30.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/0.10.2","html_url":"https://github.com/TNG/ArchUnit/releases/tag/0.10.2"},{"name":"v0.10.2","sha":"5f0cc821927902d0676dc55ff396bf48c297763b","kind":"commit","published_at":"2019-03-31T12:54:30.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v0.10.2","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v0.10.2"},{"name":"v0.10.1","sha":"aa96f5b00f34e51ab9739f0a77ee36e920156779","kind":"commit","published_at":"2019-03-17T17:29:47.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v0.10.1","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v0.10.1"},{"name":"v0.10.0","sha":"7f5768a809d3101da2e6b742998f57cbc770ff35","kind":"commit","published_at":"2019-03-17T15:27:01.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v0.10.0","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v0.10.0"},{"name":"v0.9.3","sha":"7599ea5bfcfb46abc70b2ae731689b672a8cae19","kind":"commit","published_at":"2018-11-20T16:16:05.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v0.9.3","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v0.9.3"},{"name":"v0.9.2","sha":"149d624913e0a24e984e1cabac5a0360f9770f89","kind":"commit","published_at":"2018-11-11T11:00:44.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v0.9.2","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v0.9.2"},{"name":"v0.9.1","sha":"3ef687ee8deb00c429d9b3842bc41b1875070c32","kind":"commit","published_at":"2018-08-20T09:59:44.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v0.9.1","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v0.9.1"},{"name":"v0.9.0","sha":"e8f597c1ed2deac5307bdb3ca87d1e0a3d8a7c79","kind":"commit","published_at":"2018-08-19T14:06:32.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v0.9.0","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v0.9.0"},{"name":"v0.8.3","sha":"44e0c13dcd9eee9e38fbdf33c3bb4ce66b4c48f4","kind":"commit","published_at":"2018-07-20T18:00:57.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v0.8.3","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v0.8.3"},{"name":"v0.8.2","sha":"a2e84f5f9c04cc52f742d093b3f3f73c722884f5","kind":"commit","published_at":"2018-06-16T11:24:56.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v0.8.2","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v0.8.2"},{"name":"v0.8.1","sha":"2ae408cf9f78454bf3fc564348fb723e0a819189","kind":"commit","published_at":"2018-06-02T12:51:50.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v0.8.1","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v0.8.1"},{"name":"v0.8.0","sha":"3bef3664e35e343d1a9213fa51bea8e50ba280e4","kind":"commit","published_at":"2018-05-16T19:37:49.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v0.8.0","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v0.8.0"},{"name":"v0.5.0","sha":"01079d559cba2c61489a88c2266273249b6a2845","kind":"commit","published_at":"2017-11-26T20:36:50.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v0.5.0","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v0.5.0"},{"name":"v0.4.0","sha":"1afe24b0421d485e99dda8d505e00311e0886ce4","kind":"commit","published_at":"2017-04-23T12:05:16.000Z","download_url":"https://codeload.github.com/TNG/ArchUnit/tar.gz/v0.4.0","html_url":"https://github.com/TNG/ArchUnit/releases/tag/v0.4.0"}]},"repo_metadata_updated_at":"2023-03-21T20:54:44.602Z","dependent_packages_count":73,"downloads":null,"downloads_period":null,"dependent_repos_count":803,"rankings":{"downloads":null,"dependent_repos_count":0.4490993985311667,"dependent_packages_count":0.9903012149510256,"stargazers_count":6.405322718863377,"forks_count":12.313292381127814,"docker_downloads_count":5.021183556114399,"average":5.035839853917556},"purl":"pkg:maven/com.tngtech.archunit/archunit-junit5","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/maven/com.tngtech.archunit:archunit-junit5","docker_dependents_count":1,"docker_downloads_count":123,"usage_url":"https://repos.ecosyste.ms/usage/maven/com.tngtech.archunit:archunit-junit5","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/maven/com.tngtech.archunit:archunit-junit5/dependencies","status":null,"funding_links":[],"critical":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/com.tngtech.archunit:archunit-junit5/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/com.tngtech.archunit:archunit-junit5/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/com.tngtech.archunit:archunit-junit5/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/com.tngtech.archunit:archunit-junit5/related_packages","maintainers":[],"registry":{"name":"repo1.maven.org","url":"https://repo.maven.apache.org/maven2","ecosystem":"maven","default":true,"packages_count":517650,"maintainers_count":0,"namespaces_count":68787,"keywords_count":32037,"github":"maven-central","metadata":{"funded_packages_count":24975},"icon_url":"https://github.com/maven-central.png","created_at":"2022-07-21T16:40:13.074Z","updated_at":"2025-06-06T05:59:03.422Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/namespaces"}},"unique_repositories_count":125,"unique_repositories_count_past_30_days":10,"recent_issues":[{"uuid":"5369195890","node_id":"PR_kwDOST0KW88AAAABCc53zw","number":2689,"state":"open","title":"chore(deps): bump the backend-minor-and-patch group across 1 directory with 26 updates","user":"dependabot[bot]","labels":["dependencies","area:backend"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-09-07T02:11:31.000Z","updated_at":"2026-09-07T02:21:05.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"backend-minor-and-patch","update_count":26,"packages":[{"name":"io.quarkus.platform:quarkus-bom","old_version":"3.37.2","new_version":"3.39.2","repository_url":"https://github.com/quarkusio/quarkus-platform"},{"name":"io.quarkus.platform:quarkus-maven-plugin","old_version":"3.37.2","new_version":"3.39.2","repository_url":"https://github.com/quarkusio/quarkus-platform"},{"name":"org.hibernate.orm:hibernate-spatial","old_version":"7.4.5.Final","new_version":"7.4.7.Final","repository_url":"https://github.com/hibernate/hibernate-orm"},{"name":"org.junit.jupiter:junit-jupiter","old_version":"6.1.2","new_version":"6.1.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.jupiter:junit-jupiter-params","old_version":"6.1.2","new_version":"6.1.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"nl.jqno.equalsverifier:equalsverifier","old_version":"4.5","new_version":"4.5.2","repository_url":"https://github.com/jqno/equalsverifier"},{"name":"org.neo4j:neo4j-ogm-core","old_version":"5.0.7","new_version":"5.0.9","repository_url":"https://github.com/neo4j/neo4j-ogm"},{"name":"org.neo4j:neo4j-ogm-bolt-driver","old_version":"5.0.7","new_version":"5.0.9","repository_url":"https://github.com/neo4j/neo4j-ogm"},{"name":"org.neo4j:neo4j-cypher-dsl","old_version":"2025.3.0","new_version":"2025.3.1","repository_url":"https://github.com/neo4j/cypher-dsl"},{"name":"eu.michael-simons.neo4j:neo4j-migrations","old_version":"4.1.2","new_version":"4.1.3","repository_url":"https://github.com/michael-simons/neo4j-migrations"},{"name":"org.projectlombok:lombok","old_version":"1.18.46","new_version":"1.18.48","repository_url":"https://github.com/projectlombok/lombok"},{"name":"edu.kit.datamanager:ro-crate-java","old_version":"2.1.1","new_version":"2.1.2","repository_url":"https://github.com/kit-data-manager/ro-crate-java"},{"name":"io.quarkiverse.wiremock:quarkus-wiremock-test","old_version":"1.6.3","new_version":"1.7.0","repository_url":"https://github.com/quarkiverse/quarkus-wiremock"},{"name":"org.jsoup:jsoup","old_version":"1.22.2","new_version":"1.23.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.4.2","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"org.commonmark:commonmark","old_version":"0.29.0","new_version":"0.30.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"org.commonmark:commonmark-ext-gfm-tables","old_version":"0.29.0","new_version":"0.30.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"org.commonmark:commonmark-ext-gfm-strikethrough","old_version":"0.29.0","new_version":"0.30.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"org.commonmark:commonmark-ext-task-list-items","old_version":"0.29.0","new_version":"0.30.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"com.twelvemonkeys.imageio:imageio-tiff","old_version":"3.13.1","new_version":"3.14.0"},{"name":"org.apache.maven.plugins:maven-compiler-plugin","old_version":"3.15.0","new_version":"3.16.0","repository_url":"https://github.com/apache/maven-compiler-plugin"},{"name":"org.apache.maven.plugins:maven-surefire-plugin","old_version":"3.5.6","new_version":"3.6.0","repository_url":"https://github.com/apache/maven-surefire"},{"name":"org.apache.maven.plugins:maven-failsafe-plugin","old_version":"3.5.6","new_version":"3.6.0","repository_url":"https://github.com/apache/maven-surefire"},{"name":"com.github.spotbugs:spotbugs-maven-plugin","old_version":"4.10.3.0","new_version":"4.10.4.0","repository_url":"https://github.com/spotbugs/spotbugs-maven-plugin"},{"name":"org.apache.maven.plugins:maven-jar-plugin","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/apache/maven-jar-plugin"},{"name":"org.apache.maven:apache-maven","old_version":"3.9.12","new_version":"3.9.16"}],"path":null,"ecosystem":"maven"},"body":"Bumps the backend-minor-and-patch group with 26 updates in the /backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [io.quarkus.platform:quarkus-bom](https://github.com/quarkusio/quarkus-platform) | `3.37.2` | `3.39.2` |\n| [io.quarkus.platform:quarkus-maven-plugin](https://github.com/quarkusio/quarkus-platform) | `3.37.2` | `3.39.2` |\n| [org.hibernate.orm:hibernate-spatial](https://github.com/hibernate/hibernate-orm) | `7.4.5.Final` | `7.4.7.Final` |\n| [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) | `6.1.2` | `6.1.3` |\n| [org.junit.jupiter:junit-jupiter-params](https://github.com/junit-team/junit-framework) | `6.1.2` | `6.1.3` |\n| [nl.jqno.equalsverifier:equalsverifier](https://github.com/jqno/equalsverifier) | `4.5` | `4.5.2` |\n| [org.neo4j:neo4j-ogm-core](https://github.com/neo4j/neo4j-ogm) | `5.0.7` | `5.0.9` |\n| [org.neo4j:neo4j-ogm-bolt-driver](https://github.com/neo4j/neo4j-ogm) | `5.0.7` | `5.0.9` |\n| [org.neo4j:neo4j-cypher-dsl](https://github.com/neo4j/cypher-dsl) | `2025.3.0` | `2025.3.1` |\n| [eu.michael-simons.neo4j:neo4j-migrations](https://github.com/michael-simons/neo4j-migrations) | `4.1.2` | `4.1.3` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.46` | `1.18.48` |\n| [edu.kit.datamanager:ro-crate-java](https://github.com/kit-data-manager/ro-crate-java) | `2.1.1` | `2.1.2` |\n| [io.quarkiverse.wiremock:quarkus-wiremock-test](https://github.com/quarkiverse/quarkus-wiremock) | `1.6.3` | `1.7.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.2` | `1.23.2` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.4.2` | `1.5.0` |\n| [org.commonmark:commonmark](https://github.com/commonmark/commonmark-java) | `0.29.0` | `0.30.0` |\n| [org.commonmark:commonmark-ext-gfm-tables](https://github.com/commonmark/commonmark-java) | `0.29.0` | `0.30.0` |\n| [org.commonmark:commonmark-ext-gfm-strikethrough](https://github.com/commonmark/commonmark-java) | `0.29.0` | `0.30.0` |\n| [org.commonmark:commonmark-ext-task-list-items](https://github.com/commonmark/commonmark-java) | `0.29.0` | `0.30.0` |\n| com.twelvemonkeys.imageio:imageio-tiff | `3.13.1` | `3.14.0` |\n| [org.apache.maven.plugins:maven-compiler-plugin](https://github.com/apache/maven-compiler-plugin) | `3.15.0` | `3.16.0` |\n| [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) | `3.5.6` | `3.6.0` |\n| [org.apache.maven.plugins:maven-failsafe-plugin](https://github.com/apache/maven-surefire) | `3.5.6` | `3.6.0` |\n| [com.github.spotbugs:spotbugs-maven-plugin](https://github.com/spotbugs/spotbugs-maven-plugin) | `4.10.3.0` | `4.10.4.0` |\n| [org.apache.maven.plugins:maven-jar-plugin](https://github.com/apache/maven-jar-plugin) | `3.5.0` | `3.5.1` |\n| org.apache.maven:apache-maven | `3.9.12` | `3.9.16` |\n\n\nUpdates `io.quarkus.platform:quarkus-bom` from 3.37.2 to 3.39.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/c5a15405a974a213bafd9c36272c1b8adc95dd9f\"\u003e\u003ccode\u003ec5a1540\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release 3.39.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/e67c344efb87f0ecac274d1ea2e4b6c7f8cb8fec\"\u003e\u003ccode\u003ee67c344\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2167\"\u003e#2167\u003c/a\u003e from quarkusio/quarkus-3.39.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/65f855424f9ada9c8eb7310dc84de95c0f3fc550\"\u003e\u003ccode\u003e65f8554\u003c/code\u003e\u003c/a\u003e Upgrade to Quarkus 3.39.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/be4411eff3ddfb34a60f7938464e2cdc67ece9fa\"\u003e\u003ccode\u003ebe4411e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2166\"\u003e#2166\u003c/a\u003e from quarkusio/update-automation/3.39-quarkus-flow-1...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/9e2f4e08f2c735d2a4d079960d1e604ebf5519ef\"\u003e\u003ccode\u003e9e2f4e0\u003c/code\u003e\u003c/a\u003e Update Quarkus Flow to 1.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/c8091c3488f78fe05b274af9e17bcceceb83437e\"\u003e\u003ccode\u003ec8091c3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2164\"\u003e#2164\u003c/a\u003e from quarkusio/update-automation/3.39-debezium-3.6.2...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/898de01e3df7e1460da9167b712c6aac58c2fb78\"\u003e\u003ccode\u003e898de01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2159\"\u003e#2159\u003c/a\u003e from quarkusio/update-automation/3.39-langchain4j-1....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/7def8e242c7e7c49c073610ffaeebcd7676d0c28\"\u003e\u003ccode\u003e7def8e2\u003c/code\u003e\u003c/a\u003e Update LangChain4j to 1.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/9252645a0d9204ec2a3cc799369dcec6f2ee0ca9\"\u003e\u003ccode\u003e9252645\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2162\"\u003e#2162\u003c/a\u003e from gsmet/3.39-mcpserver-2.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/020bdff01eb31ef2867333cd8ee3fe7f5ba88f29\"\u003e\u003ccode\u003e020bdff\u003c/code\u003e\u003c/a\u003e Update Debezium to 3.6.2.Final\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/quarkusio/quarkus-platform/compare/3.37.2...3.39.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.quarkus.platform:quarkus-maven-plugin` from 3.37.2 to 3.39.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/c5a15405a974a213bafd9c36272c1b8adc95dd9f\"\u003e\u003ccode\u003ec5a1540\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release 3.39.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/e67c344efb87f0ecac274d1ea2e4b6c7f8cb8fec\"\u003e\u003ccode\u003ee67c344\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2167\"\u003e#2167\u003c/a\u003e from quarkusio/quarkus-3.39.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/65f855424f9ada9c8eb7310dc84de95c0f3fc550\"\u003e\u003ccode\u003e65f8554\u003c/code\u003e\u003c/a\u003e Upgrade to Quarkus 3.39.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/be4411eff3ddfb34a60f7938464e2cdc67ece9fa\"\u003e\u003ccode\u003ebe4411e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2166\"\u003e#2166\u003c/a\u003e from quarkusio/update-automation/3.39-quarkus-flow-1...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/9e2f4e08f2c735d2a4d079960d1e604ebf5519ef\"\u003e\u003ccode\u003e9e2f4e0\u003c/code\u003e\u003c/a\u003e Update Quarkus Flow to 1.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/c8091c3488f78fe05b274af9e17bcceceb83437e\"\u003e\u003ccode\u003ec8091c3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2164\"\u003e#2164\u003c/a\u003e from quarkusio/update-automation/3.39-debezium-3.6.2...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/898de01e3df7e1460da9167b712c6aac58c2fb78\"\u003e\u003ccode\u003e898de01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2159\"\u003e#2159\u003c/a\u003e from quarkusio/update-automation/3.39-langchain4j-1....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/7def8e242c7e7c49c073610ffaeebcd7676d0c28\"\u003e\u003ccode\u003e7def8e2\u003c/code\u003e\u003c/a\u003e Update LangChain4j to 1.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/9252645a0d9204ec2a3cc799369dcec6f2ee0ca9\"\u003e\u003ccode\u003e9252645\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2162\"\u003e#2162\u003c/a\u003e from gsmet/3.39-mcpserver-2.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/020bdff01eb31ef2867333cd8ee3fe7f5ba88f29\"\u003e\u003ccode\u003e020bdff\u003c/code\u003e\u003c/a\u003e Update Debezium to 3.6.2.Final\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/quarkusio/quarkus-platform/compare/3.37.2...3.39.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.hibernate.orm:hibernate-spatial` from 7.4.5.Final to 7.4.7.Final\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hibernate/hibernate-orm/releases\"\u003eorg.hibernate.orm:hibernate-spatial's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 7.4.7\u003c/h2\u003e\n\u003ch1\u003eHibernate ORM 7.4.7.Final released\u003c/h1\u003e\n\u003cp\u003eToday, we published a new release of Hibernate ORM 7.4: 7.4.7.Final.\u003c/p\u003e\n\u003cp\u003eYou can find the full list of 7.4.7.Final changes \u003ca href=\"https://hibernate.atlassian.net/issues/?jql=project%20%3D%20HHH%20AND%20fixVersion%20%3D%207.4.7\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's new\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSee the \u003ca href=\"https://hibernate.org/orm/releases/7.4\"\u003ewebsite\u003c/a\u003e for requirements and compatibilities.\u003c/li\u003e\n\u003cli\u003eSee the \u003ca href=\"https://docs.hibernate.org/orm/7.4/whats-new/whats-new.html\"\u003eWhat's New\u003c/a\u003e guide for details about new features and capabilities.\u003c/li\u003e\n\u003cli\u003eSee the \u003ca href=\"https://docs.hibernate.org/orm/7.4/migration-guide/\"\u003eMigration Guide\u003c/a\u003e for details about migration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eConclusion\u003c/h2\u003e\n\u003cp\u003eFor additional details, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ethe \u003ca href=\"https://hibernate.org/orm/releases/7.4/\"\u003erelease page\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ethe \u003ca href=\"https://docs.hibernate.org/orm/7.4/migration-guide/\"\u003eMigration Guide\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ethe \u003ca href=\"https://docs.hibernate.org/orm/7.4/introduction/html_single/\"\u003eIntroduction Guide\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ethe \u003ca href=\"https://docs.hibernate.org/orm/7.4/userguide/html_single/\"\u003eUser Guide\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ethe \u003ca href=\"https://docs.hibernate.org/orm/7.4/javadocs\"\u003eAPI docs\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee also the following resources related to supported APIs:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ethe \u003ca href=\"https://hibernate.org/community/compatibility-policy/\"\u003ecompatibility policy\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ethe \u003ca href=\"https://docs.hibernate.org/orm/7.4/incubating/incubating.txt\"\u003eincubating API report\u003c/a\u003e (\u003ccode\u003e@Incubating\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ethe \u003ca href=\"https://docs.hibernate.org/orm/7.4/deprecated/deprecated.txt\"\u003edeprecated API report\u003c/a\u003e (\u003ccode\u003e@Deprecated\u003c/code\u003e + \u003ccode\u003e@Remove\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ethe \u003ca href=\"https://docs.hibernate.org/orm/7.4/internals/internal.txt\"\u003einternal API report\u003c/a\u003e (internal packages, \u003ccode\u003e@Internal\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVisit the \u003ca href=\"https://hibernate.org/community/\"\u003ewebsite\u003c/a\u003e for details on getting in touch with us.\u003c/p\u003e\n\u003ch2\u003eRelease 7.4.6\u003c/h2\u003e\n\u003ch1\u003eHibernate ORM 7.4.6.Final released\u003c/h1\u003e\n\u003cp\u003eToday, we published a new release of Hibernate ORM 7.4: 7.4.6.Final.\u003c/p\u003e\n\u003cp\u003eYou can find the full list of 7.4.6.Final changes \u003ca href=\"https://hibernate.atlassian.net/issues/?jql=project%20%3D%20HHH%20AND%20fixVersion%20%3D%207.4.6\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's new\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSee the \u003ca href=\"https://hibernate.org/orm/releases/7.4\"\u003ewebsite\u003c/a\u003e for requirements and compatibilities.\u003c/li\u003e\n\u003cli\u003eSee the \u003ca href=\"https://docs.hibernate.org/orm/7.4/whats-new/whats-new.html\"\u003eWhat's New\u003c/a\u003e guide for details about new features and capabilities.\u003c/li\u003e\n\u003cli\u003eSee the \u003ca href=\"https://docs.hibernate.org/orm/7.4/migration-guide/\"\u003eMigration Guide\u003c/a\u003e for details about migration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eConclusion\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/hibernate/hibernate-orm/blob/7.4.7/changelog.txt\"\u003eorg.hibernate.orm:hibernate-spatial's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges in 7.4.7.Final (August 30, 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://hibernate.atlassian.net/projects/HHH/versions/40441\"\u003ehttps://hibernate.atlassian.net/projects/HHH/versions/40441\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e** Bug\n* HHH-20773 \u003ca href=\"https://github.com/Basic\"\u003e\u003ccode\u003e@​Basic\u003c/code\u003e\u003c/a\u003e(fetch=LAZY) field not served from 2LC for \u003ca href=\"https://github.com/Immutable\"\u003e\u003ccode\u003e@​Immutable\u003c/code\u003e\u003c/a\u003e entities with associations\n* HHH-20720 Hibernate processor: \u003ca href=\"https://github.com/Transactional\"\u003e\u003ccode\u003e@​Transactional\u003c/code\u003e\u003c/a\u003e annotation should be copied for all repositories, not just Jakarta Data\n* HHH-20718 Invalid SQL when a to-one foreign key references an ancestor table in a JOINED hierarchy\u003c/p\u003e\n\u003cp\u003e** Improvement\n* HHH-17990 More advanced \u0026quot;proxy\u0026quot; classes (and tests) for session/statelessSession for use in other libraries\u003c/p\u003e\n\u003ch2\u003eChanges in 7.4.6.Final (August 23, 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://hibernate.atlassian.net/projects/HHH/versions/40133\"\u003ehttps://hibernate.atlassian.net/projects/HHH/versions/40133\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e** Bug\n* HHH-20788 [Quarkus 3.20.5 / Hibernate ORM 6.6.40.Final] quarkus.otel.logs.enabled=true fails SessionFactory build for TABLE_PER_CLASS collections\n* HHH-20783 hibernate.transactions{result=\u0026quot;failure\u0026quot;} metric can transiently go negative due to non-atomic counter reads, breaking the whole Prometheus scrape on Micrometer 1.14+\n* HHH-20779 Envers: unwrap proxies in collection-change audit work units\n* HHH-20776 CriteriaBuilder.literal() mistypes an enum constant declared with a class body\n* HHH-20772 ARRAY_AGG column in Jakarta Data query method cannot be mapped to result type property\n* HHH-20743 \u003ccode\u003ehibernate-maven-plugin\u003c/code\u003e \u003ccode\u003eenhance\u003c/code\u003e goal computes wrong class names when \u003ccode\u003efileSets\u003c/code\u003e directory differs from \u003ccode\u003eclassesDirectory\u003c/code\u003e\n* HHH-20707 Missing import for inner interface type in CDI accessor metamodel methods\n* HHH-20696 Implicit name of list index columns not applied by MetadataBuilder\n* HHH-20661 HQL UNION fails when unioning java.util.Date from different attribute paths\n* HHH-20624 StackOverflowError when creating entity manager with attribute converter hierarchy with generic parameter\n* HHH-20515 Adjust default for SessionCheckMode on Session.findMultiple()\n* HHH-20472 Generated metamodel class missing \u003ccode\u003eList\u003c/code\u003e import\n* HHH-20452 \u003ca href=\"https://github.com/OneToMany\"\u003e\u003ccode\u003e@​OneToMany\u003c/code\u003e\u003c/a\u003e mapping silently dropped when orm.xml contributes a partial overlay (entity-listeners only) to an entity whose \u003ca href=\"https://github.com/Id\"\u003e\u003ccode\u003e@​Id\u003c/code\u003e\u003c/a\u003e is inherited from a \u003ca href=\"https://github.com/MappedSuperclass\"\u003e\u003ccode\u003e@​MappedSuperclass\u003c/code\u003e\u003c/a\u003e\n* HHH-20438 Basic-array body predicates fail with AssertionError from SqmMappingModelHelper.resolveSqmPath\n* HHH-20348 \u003ccode\u003eDataException\u003c/code\u003e / \u003ccode\u003eClassCastException\u003c/code\u003e when aggregating primitive\u003c/p\u003e\n\u003cp\u003e** Task\n* HHH-20736 Tune the content of javadocs to reduce the size of files published to Maven Central\n* HHH-20710 Update to hibernate-models 1.1.2\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/hibernate/hibernate-orm/commit/2897b69e049723d67794228b435af54cd78a6473\"\u003e\u003ccode\u003e2897b69\u003c/code\u003e\u003c/a\u003e [Jenkins release job] Preparing release 7.4.7.Final\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/a3687506926f19e53bc309a7cd183878f644047e\"\u003e\u003ccode\u003ea368750\u003c/code\u003e\u003c/a\u003e [Jenkins release job] changelog.txt updated by release build 7.4.7.Final\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/ae2a193c8274274baa0ad7b804022b952d6403bf\"\u003e\u003ccode\u003eae2a193\u003c/code\u003e\u003c/a\u003e HHH-20720 Guard inheritedAnnotations() on CDI availability and rename addDepe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/88ff40a16c16a6423937d4c9cb32fba94e8f2a00\"\u003e\u003ccode\u003e88ff40a\u003c/code\u003e\u003c/a\u003e HHH-20720 Copy \u003ca href=\"https://github.com/InterceptorBinding\"\u003e\u003ccode\u003e@​InterceptorBinding\u003c/code\u003e\u003c/a\u003e annotations for all repository types, not ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/e68da2dd2e2b26dc5977be5942a80c53227146e9\"\u003e\u003ccode\u003ee68da2d\u003c/code\u003e\u003c/a\u003e HHH-17990 - Create a helper class SPI for decorating a StatelessSession insta...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/15dc1ab51e99c844d5b98481fa234efd1419792b\"\u003e\u003ccode\u003e15dc1ab\u003c/code\u003e\u003c/a\u003e HHH-20718 Retain superclass table join for to-one FK targets on a JOINED hier...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/5d86a968ec8d6a63654a5c681d5a2a4b7ac60f93\"\u003e\u003ccode\u003e5d86a96\u003c/code\u003e\u003c/a\u003e HHH-20773 Resolve UNFETCHED_PROPERTY for initialized lazy fields during 2LC d...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/39a5fb003774386a6c6db72e96aa193c1f9cb9e1\"\u003e\u003ccode\u003e39a5fb0\u003c/code\u003e\u003c/a\u003e [Jenkins release job] Preparing next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/43e2e9a1a537bfa1862e98981fc0c9a37f20ced8\"\u003e\u003ccode\u003e43e2e9a\u003c/code\u003e\u003c/a\u003e [Jenkins release job] Preparing release 7.4.6.Final\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/cd34e60c213b92bf172bfcbaa41ee5e21b5d67fd\"\u003e\u003ccode\u003ecd34e60\u003c/code\u003e\u003c/a\u003e [Jenkins release job] changelog.txt updated by release build 7.4.6.Final\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hibernate/hibernate-orm/compare/7.4.5...7.4.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.jupiter:junit-jupiter` from 6.1.2 to 6.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.jupiter:junit-jupiter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.3 = Platform 6.1.3 + Jupiter 6.1.3 + Vintage 6.1.3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.3/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\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/junit-team/junit-framework/commit/f59f60d2cebdf2224235d81f781b1f310cbc8138\"\u003e\u003ccode\u003ef59f60d\u003c/code\u003e\u003c/a\u003e Release 6.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/cd8ec9202ce8260a434edb38a8565e36f620e8d6\"\u003e\u003ccode\u003ecd8ec92\u003c/code\u003e\u003c/a\u003e Finalize 6.1.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/c8729f26aacd8e2dd6fa564b929fe047faaa7dc9\"\u003e\u003ccode\u003ec8729f2\u003c/code\u003e\u003c/a\u003e Restore compatibility with GraalVM 25 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5901\"\u003e#5901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/ddc9e74e5d21c2dd18bc0cfe4681d5ff50ac379c\"\u003e\u003ccode\u003eddc9e74\u003c/code\u003e\u003c/a\u003e Update graalvm/setup-graalvm action to v1.6.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5959\"\u003e#5959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/fe2c52a780fcbda6c7ccf5d6576beb7ad2d80bf8\"\u003e\u003ccode\u003efe2c52a\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.7 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5923\"\u003e#5923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/62afc02b541ee9dfa16b121705f79b7d44f4dae0\"\u003e\u003ccode\u003e62afc02\u003c/code\u003e\u003c/a\u003e Delay GraalVM plugin updates for 3 days\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0cc29022801365a409c1213a811a8877cb88cce3\"\u003e\u003ccode\u003e0cc2902\u003c/code\u003e\u003c/a\u003e Skip \u003ccode\u003egraalVmTest\u003c/code\u003e task if GraalVM env vars are not set\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f6bbfc53e7e00b1b25e7d3b0bc09eef05cc4b721\"\u003e\u003ccode\u003ef6bbfc5\u003c/code\u003e\u003c/a\u003e Move GraalVM tests to separate test task (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/e87e0521d4fbd75116a5fda42566fcb7a56eb340\"\u003e\u003ccode\u003ee87e052\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5899\"\u003e#5899\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1cd56df89754fb8523ac9fbbf888e9a552e33ee8\"\u003e\u003ccode\u003e1cd56df\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5880\"\u003e#5880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.jupiter:junit-jupiter-params` from 6.1.2 to 6.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.jupiter:junit-jupiter-params's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.3 = Platform 6.1.3 + Jupiter 6.1.3 + Vintage 6.1.3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.3/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\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/junit-team/junit-framework/commit/f59f60d2cebdf2224235d81f781b1f310cbc8138\"\u003e\u003ccode\u003ef59f60d\u003c/code\u003e\u003c/a\u003e Release 6.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/cd8ec9202ce8260a434edb38a8565e36f620e8d6\"\u003e\u003ccode\u003ecd8ec92\u003c/code\u003e\u003c/a\u003e Finalize 6.1.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/c8729f26aacd8e2dd6fa564b929fe047faaa7dc9\"\u003e\u003ccode\u003ec8729f2\u003c/code\u003e\u003c/a\u003e Restore compatibility with GraalVM 25 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5901\"\u003e#5901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/ddc9e74e5d21c2dd18bc0cfe4681d5ff50ac379c\"\u003e\u003ccode\u003eddc9e74\u003c/code\u003e\u003c/a\u003e Update graalvm/setup-graalvm action to v1.6.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5959\"\u003e#5959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/fe2c52a780fcbda6c7ccf5d6576beb7ad2d80bf8\"\u003e\u003ccode\u003efe2c52a\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.7 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5923\"\u003e#5923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/62afc02b541ee9dfa16b121705f79b7d44f4dae0\"\u003e\u003ccode\u003e62afc02\u003c/code\u003e\u003c/a\u003e Delay GraalVM plugin updates for 3 days\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0cc29022801365a409c1213a811a8877cb88cce3\"\u003e\u003ccode\u003e0cc2902\u003c/code\u003e\u003c/a\u003e Skip \u003ccode\u003egraalVmTest\u003c/code\u003e task if GraalVM env vars are not set\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f6bbfc53e7e00b1b25e7d3b0bc09eef05cc4b721\"\u003e\u003ccode\u003ef6bbfc5\u003c/code\u003e\u003c/a\u003e Move GraalVM tests to separate test task (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/e87e0521d4fbd75116a5fda42566fcb7a56eb340\"\u003e\u003ccode\u003ee87e052\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5899\"\u003e#5899\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1cd56df89754fb8523ac9fbbf888e9a552e33ee8\"\u003e\u003ccode\u003e1cd56df\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5880\"\u003e#5880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.jupiter:junit-jupiter-params` from 6.1.2 to 6.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.jupiter:junit-jupiter-params's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.3 = Platform 6.1.3 + Jupiter 6.1.3 + Vintage 6.1.3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.3/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\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/junit-team/junit-framework/commit/f59f60d2cebdf2224235d81f781b1f310cbc8138\"\u003e\u003ccode\u003ef59f60d\u003c/code\u003e\u003c/a\u003e Release 6.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/cd8ec9202ce8260a434edb38a8565e36f620e8d6\"\u003e\u003ccode\u003ecd8ec92\u003c/code\u003e\u003c/a\u003e Finalize 6.1.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/c8729f26aacd8e2dd6fa564b929fe047faaa7dc9\"\u003e\u003ccode\u003ec8729f2\u003c/code\u003e\u003c/a\u003e Restore compatibility with GraalVM 25 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5901\"\u003e#5901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/ddc9e74e5d21c2dd18bc0cfe4681d5ff50ac379c\"\u003e\u003ccode\u003eddc9e74\u003c/code\u003e\u003c/a\u003e Update graalvm/setup-graalvm action to v1.6.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5959\"\u003e#5959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/fe2c52a780fcbda6c7ccf5d6576beb7ad2d80bf8\"\u003e\u003ccode\u003efe2c52a\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.7 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5923\"\u003e#5923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/62afc02b541ee9dfa16b121705f79b7d44f4dae0\"\u003e\u003ccode\u003e62afc02\u003c/code\u003e\u003c/a\u003e Delay GraalVM plugin updates for 3 days\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0cc29022801365a409c1213a811a8877cb88cce3\"\u003e\u003ccode\u003e0cc2902\u003c/code\u003e\u003c/a\u003e Skip \u003ccode\u003egraalVmTest\u003c/code\u003e task if GraalVM env vars are not set\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f6bbfc53e7e00b1b25e7d3b0bc09eef05cc4b721\"\u003e\u003ccode\u003ef6bbfc5\u003c/code\u003e\u003c/a\u003e Move GraalVM tests to separate test task (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/e87e0521d4fbd75116a5fda42566fcb7a56eb340\"\u003e\u003ccode\u003ee87e052\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5899\"\u003e#5899\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1cd56df89754fb8523ac9fbbf888e9a552e33ee8\"\u003e\u003ccode\u003e1cd56df\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5880\"\u003e#5880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nl.jqno.equalsverifier:equalsverifier` from 4.5 to 4.5.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jqno/equalsverifier/releases\"\u003enl.jqno.equalsverifier:equalsverifier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease equalsverifier-4.5.2\u003c/h2\u003e\n\u003cp\u003eFor a list of changes in this version, see \u003ca href=\"https://github.com/jqno/equalsverifier/blob/main/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eRelease equalsverifier-4.5.1\u003c/h2\u003e\n\u003cp\u003eFor a list of changes in this version, see \u003ca href=\"https://github.com/jqno/equalsverifier/blob/main/CHANGELOG.md\"\u003eCHANGELOG.md\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/jqno/equalsverifier/blob/main/CHANGELOG.md\"\u003enl.jqno.equalsverifier:equalsverifier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.5.2] - 2026-08-27\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSignificant fields error when first implementation of a sealed interface is a single-value enum. (\u003ca href=\"https://redirect.github.com/jqno/equalsverifier/issues/1236\"\u003eIssue 1236\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.5.1] - 2026-08-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdds prefab values for \u003ccode\u003ejava.util.LinkedHashSet\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/jqno/equalsverifier/issues/1231\"\u003eIssue 1231\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jqno/equalsverifier/issues/1232\"\u003eIssue 1232\u003c/a\u003e; thanks kalayciburak!)\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/jqno/equalsverifier/commit/2e0dae067cbc2119a987c400a5b351a7f279de8d\"\u003e\u003ccode\u003e2e0dae0\u003c/code\u003e\u003c/a\u003e Bumps version to 4.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/8818df1f3395f5885735788dfad57ecf7b3f5a57\"\u003e\u003ccode\u003e8818df1\u003c/code\u003e\u003c/a\u003e Updates CHANGELOG for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/ff374a30ae538cf9de18e869a8e9b0c416d3f30c\"\u003e\u003ccode\u003eff374a3\u003c/code\u003e\u003c/a\u003e Adds PR number to changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/f051bc7fc1fc25de92a1473aca37ab7807f2fc42\"\u003e\u003ccode\u003ef051bc7\u003c/code\u003e\u003c/a\u003e Fixes singificant fields error when first sealed interface implementation is ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/2669ffa162a63c754b0ffe6cfd4800d86ae599e3\"\u003e\u003ccode\u003e2669ffa\u003c/code\u003e\u003c/a\u003e Prepares for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/d89077132eef0b285415b6d1e88b7f93538e2aa4\"\u003e\u003ccode\u003ed890771\u003c/code\u003e\u003c/a\u003e Bumps version to 4.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/cec51b862a432ff3f2d606cd8bf0cc34d3445516\"\u003e\u003ccode\u003ecec51b8\u003c/code\u003e\u003c/a\u003e Updates CHANGELOG for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/1e5a37ab83e3c1495505bc68171e0f1c4a8da326\"\u003e\u003ccode\u003e1e5a37a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jqno/equalsverifier/issues/1235\"\u003e#1235\u003c/a\u003e from jqno/dependabot/maven/dependencies-1b33e0e210\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/7b46e333d8f9b14f00dfd2fdd2cbc40965f69fcc\"\u003e\u003ccode\u003e7b46e33\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jqno/equalsverifier/issues/1234\"\u003e#1234\u003c/a\u003e from jqno/dependabot/github_actions/dependencies-9c0...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/5706e86be30806f4958ee6a9ac62fc1a7ed60b49\"\u003e\u003ccode\u003e5706e86\u003c/code\u003e\u003c/a\u003e Bump the dependencies group with 2 updates\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jqno/equalsverifier/compare/equalsverifier-4.5...equalsverifier-4.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.neo4j:neo4j-ogm-core` from 5.0.7 to 5.0.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/neo4j/neo4j-ogm/releases\"\u003eorg.neo4j:neo4j-ogm-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.0.9\u003c/h2\u003e\n\u003cp\u003eThe build has been moved to JDK 26, while being still compiled for JDK 17. Only dependency updates, no other changes.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1477\"\u003e#1477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.11 to 1.18.12 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1474\"\u003e#1474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1475\"\u003e#1475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.2 to 1.6.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1476\"\u003e#1476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.puppycrawl.tools:checkstyle from 12.3.1 to 14.0.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1479\"\u003e#1479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1480\"\u003e#1480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j:neo4j-cypher-dsl-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1481\"\u003e#1481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.mycila:license-maven-plugin from 5.1.1 to 5.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1482\"\u003e#1482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.0.8\u003c/h2\u003e\n\u003cp\u003eThis is a recommended update for all users. It includes several important security fixes and has no breaking changes or other side effects.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[fix] Group entities also by removed / updated properties before multi-statement updates. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1473\"\u003e#1473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Replace variable placeholder \u003ccode\u003e$\u003c/code\u003e in favor of passing the variable down the call stack. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1472\"\u003e#1472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Use the full classname to lookup class info during query execution and deletion. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1471\"\u003e#1471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Use Cypher-DSL Schema Names support to uniformly escape names. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1470\"\u003e#1470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.2 to 6.1.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1465\"\u003e#1465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j.driver:neo4j-java-driver from 6.2.0 to 6.2.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1466\"\u003e#1466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1467\"\u003e#1467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.1 to 1.6.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1468\"\u003e#1468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven:apache-maven from 3.9.11 to 3.9.16 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[chore] Minor remaining polishing of the \u003ccode\u003eConfiguration\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.jreleaser:jreleaser-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1448\"\u003e#1448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1452\"\u003e#1452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump kotlin.version from 2.4.0 to 2.4.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1453\"\u003e#1453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.mycila:license-maven-plugin from 5.0.0 to 5.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1454\"\u003e#1454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.10 to 1.18.11 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1447\"\u003e#1447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1449\"\u003e#1449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.1 to 6.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven.plugins:maven-jar-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1455\"\u003e#1455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump brace-expansion, \u003ccode\u003e@​antora/cli\u003c/code\u003e, \u003ccode\u003e@​antora/site-generator-default\u003c/code\u003e and nodemon (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1458\"\u003e#1458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.37 to 1.6.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1459\"\u003e#1459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1460\"\u003e#1460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Fully rebuild the URL without the \u003ccode\u003euserInfo\u003c/code\u003e part instead of search and replace. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1464\"\u003e#1464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Throw \u003ccode\u003eIllegalArgumentException\u003c/code\u003e when a non-supported \u003ccode\u003eencryptionLevel\u003c/code\u003e is used. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Handle colons in passwords proper. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Add page-tabs attributes (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1461\"\u003e#1461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.0 to 6.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1441\"\u003e#1441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1442\"\u003e#1442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump commons-logging:commons-logging from 1.3.6 to 1.4.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1443\"\u003e#1443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.8 to 1.18.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1444\"\u003e#1444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.34 to 1.5.37 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1445\"\u003e#1445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[build] Pin all actions (including officials) to their current sha. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1446\"\u003e#1446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Remove broken Stackoverflow badge.\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/neo4j/neo4j-ogm/blob/master/CHANGES.adoc\"\u003eorg.neo4j:neo4j-ogm-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 5.0.9\u003c/p\u003e\n\u003cp\u003eThe build has been moved to JDK 26, while being still compiled for JDK 17. Only dependency updates, no other changes.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1477\"\u003e#1477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.11 to 1.18.12 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1474\"\u003e#1474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1475\"\u003e#1475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.2 to 1.6.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1476\"\u003e#1476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.puppycrawl.tools:checkstyle from 12.3.1 to 14.0.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1479\"\u003e#1479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1480\"\u003e#1480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j:neo4j-cypher-dsl-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1481\"\u003e#1481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.mycila:license-maven-plugin from 5.1.1 to 5.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1482\"\u003e#1482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== 5.0.8\u003c/p\u003e\n\u003cp\u003eThis is a recommended update for all users. It includes several important security fixes and has no breaking changes or other side effects.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[fix] Group entities also by removed / updated properties before multi-statement updates. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1473\"\u003e#1473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Replace variable placeholder \u003ccode\u003e$\u003c/code\u003e in favor of passing the variable down the call stack. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1472\"\u003e#1472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Use the full classname to lookup class info during query execution and deletion. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1471\"\u003e#1471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Use Cypher-DSL Schema Names support to uniformly escape names. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1470\"\u003e#1470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.2 to 6.1.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1465\"\u003e#1465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j.driver:neo4j-java-driver from 6.2.0 to 6.2.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1466\"\u003e#1466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1467\"\u003e#1467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.1 to 1.6.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1468\"\u003e#1468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven:apache-maven from 3.9.11 to 3.9.16 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[chore] Minor remaining polishing of the \u003ccode\u003eConfiguration\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.jreleaser:jreleaser-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1448\"\u003e#1448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1452\"\u003e#1452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump kotlin.version from 2.4.0 to 2.4.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1453\"\u003e#1453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.mycila:license-maven-plugin from 5.0.0 to 5.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1454\"\u003e#1454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.10 to 1.18.11 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1447\"\u003e#1447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1449\"\u003e#1449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.1 to 6.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven.plugins:maven-jar-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1455\"\u003e#1455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump brace-expansion, \u003ccode\u003e@​antora/cli\u003c/code\u003e, \u003ccode\u003e@​antora/site-generator-default\u003c/code\u003e and nodemon (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1458\"\u003e#1458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.37 to 1.6.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1459\"\u003e#1459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1460\"\u003e#1460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Fully rebuild the URL without the \u003ccode\u003euserInfo\u003c/code\u003e part instead of search and replace. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1464\"\u003e#1464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Throw \u003ccode\u003eIllegalArgumentException\u003c/code\u003e when a non-supported \u003ccode\u003eencryptionLevel\u003c/code\u003e is used. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Handle colons in passwords proper. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Add page-tabs attributes (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1461\"\u003e#1461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.0 to 6.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1441\"\u003e#1441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1442\"\u003e#1442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump commons-logging:commons-logging from 1.3.6 to 1.4.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1443\"\u003e#1443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.8 to 1.18.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1444\"\u003e#1444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.34 to 1.5.37 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1445\"\u003e#1445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[build] Pin all actions (including officials) to their current sha. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1446\"\u003e#1446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Remove broken Stackoverflow badge.\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/neo4j/neo4j-ogm/commit/1acbdff43347eeb94ce55bbffafa8f1e3f2f293b\"\u003e\u003ccode\u003e1acbdff\u003c/code\u003e\u003c/a\u003e Release 5.0.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/7d0ab680d7e4d903ddb25b6a4ce7e2da70038c85\"\u003e\u003ccode\u003e7d0ab68\u003c/code\u003e\u003c/a\u003e build(deps): Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1477\"\u003e#1477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/62be667dd6ed97f227d9ffb9c5d90c8e9df9acba\"\u003e\u003ccode\u003e62be667\u003c/code\u003e\u003c/a\u003e build(deps): Bump net.bytebuddy:byte-buddy from 1.18.11 to 1.18.12 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1474\"\u003e#1474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/74f8231fd67c9dcc2f7a7926188f6e79f0fdb314\"\u003e\u003ccode\u003e74f8231\u003c/code\u003e\u003c/a\u003e build(deps-dev): Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1475\"\u003e#1475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/b4d606d188a8ae1a5ebdb18d5bd84e658438de21\"\u003e\u003ccode\u003eb4d606d\u003c/code\u003e\u003c/a\u003e build(deps): Bump ch.qos.logback:logback-classic from 1.6.2 to 1.6.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1476\"\u003e#1476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/2d38061bb9574c4e1988983eef5f5e7603857a9e\"\u003e\u003ccode\u003e2d38061\u003c/code\u003e\u003c/a\u003e build(deps): Bump com.puppycrawl.tools:checkstyle from 12.3.1 to 14.0.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1479\"\u003e#1479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/89d4490e386f3aa788cc949dc564183de3e586ab\"\u003e\u003ccode\u003e89d4490\u003c/code\u003e\u003c/a\u003e build(deps): Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1480\"\u003e#1480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/fee64f2b404939d986de0e65902ac612568e422c\"\u003e\u003ccode\u003efee64f2\u003c/code\u003e\u003c/a\u003e build(deps): Bump org.neo4j:neo4j-cypher-dsl-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1481\"\u003e#1481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/21262e6210b5565b381072129a8c86f018bc4f45\"\u003e\u003ccode\u003e21262e6\u003c/code\u003e\u003c/a\u003e build(deps): Bump com.mycila:license-maven-plugin from 5.1.1 to 5.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1482\"\u003e#1482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/af6136020b980c09ca2857db067bdcbe0a97088f\"\u003e\u003ccode\u003eaf61360\u003c/code\u003e\u003c/a\u003e Set next development version to 5.0.9.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/neo4j/neo4j-ogm/compare/v5.0.7...v5.0.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.neo4j:neo4j-ogm-bolt-driver` from 5.0.7 to 5.0.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/neo4j/neo4j-ogm/releases\"\u003eorg.neo4j:neo4j-ogm-bolt-driver's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.0.9\u003c/h2\u003e\n\u003cp\u003eThe build has been moved to JDK 26, while being still compiled for JDK 17. Only dependency updates, no other changes.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1477\"\u003e#1477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.11 to 1.18.12 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1474\"\u003e#1474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1475\"\u003e#1475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.2 to 1.6.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1476\"\u003e#1476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.puppycrawl.tools:checkstyle from 12.3.1 to 14.0.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1479\"\u003e#1479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1480\"\u003e#1480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j:neo4j-cypher-dsl-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1481\"\u003e#1481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.mycila:license-maven-plugin from 5.1.1 to 5.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1482\"\u003e#1482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.0.8\u003c/h2\u003e\n\u003cp\u003eThis is a recommended update for all users. It includes several important security fixes and has no breaking changes or other side effects.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[fix] Group entities also by removed / updated properties before multi-statement updates. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1473\"\u003e#1473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Replace variable placeholder \u003ccode\u003e$\u003c/code\u003e in favor of passing the variable down the call stack. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1472\"\u003e#1472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Use the full classname to lookup class info during query execution and deletion. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1471\"\u003e#1471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Use Cypher-DSL Schema Names support to uniformly escape names. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1470\"\u003e#1470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.2 to 6.1.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1465\"\u003e#1465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j.driver:neo4j-java-driver from 6.2.0 to 6.2.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1466\"\u003e#1466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1467\"\u003e#1467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.1 to 1.6.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1468\"\u003e#1468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven:apache-maven from 3.9.11 to 3.9.16 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[chore] Minor remaining polishing of the \u003ccode\u003eConfiguration\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.jreleaser:jreleaser-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1448\"\u003e#1448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1452\"\u003e#1452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump kotlin.version from 2.4.0 to 2.4.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1453\"\u003e#1453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.mycila:license-maven-plugin from 5.0.0 to 5.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1454\"\u003e#1454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.10 to 1.18.11 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1447\"\u003e#1447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1449\"\u003e#1449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.1 to 6.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven.plugins:maven-jar-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1455\"\u003e#1455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump brace-expansion, \u003ccode\u003e@​antora/cli\u003c/code\u003e, \u003ccode\u003e@​antora/site-generator-default\u003c/code\u003e and nodemon (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1458\"\u003e#1458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.37 to 1.6.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1459\"\u003e#1459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1460\"\u003e#1460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Fully rebuild the URL without the \u003ccode\u003euserInfo\u003c/code\u003e part instead of search and replace. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1464\"\u003e#1464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Throw \u003ccode\u003eIllegalArgumentException\u003c/code\u003e when a non-supported \u003ccode\u003eencryptionLevel\u003c/code\u003e is used. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Handle colons in passwords proper. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Add page-tabs attributes (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1461\"\u003e#1461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.0 to 6.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1441\"\u003e#1441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1442\"\u003e#1442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump commons-logging:commons-logging from 1.3.6 to 1.4.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1443\"\u003e#1443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.8 to 1.18.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1444\"\u003e#1444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.34 to 1.5.37 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1445\"\u003e#1445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[build] Pin all actions (including officials) to their current sha. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1446\"\u003e#1446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Remove broken Stackoverflow badge.\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/neo4j/neo4j-ogm/blob/master/CHANGES.adoc\"\u003eorg.neo4j:neo4j-ogm-bolt-driver's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 5.0.9\u003c/p\u003e\n\u003cp\u003eThe build has been moved to JDK 26, while being still compiled for JDK 17. Only dependency updates, no other changes.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1477\"\u003e#1477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.11 to 1.18.12 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1474\"\u003e#1474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1475\"\u003e#1475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.2 to 1.6.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1476\"\u003e#1476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.puppycrawl.tools:checkstyle from 12.3.1 to 14.0.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1479\"\u003e#1479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1480\"\u003e#1480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j:neo4j-cypher-dsl-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1481\"\u003e#1481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.mycila:license-maven-plugin from 5.1.1 to 5.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1482\"\u003e#1482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== 5.0.8\u003c/p\u003e\n\u003cp\u003eThis is a recommended update for all users. It includes several important security fixes and has no breaking changes or other side effects.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[fix] Group entities also by removed / updated properties before multi-statement updates. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1473\"\u003e#1473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Replace variable placeholder \u003ccode\u003e$\u003c/code\u003e in favor of passing the variable down the call stack. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1472\"\u003e#1472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Use the full classname to lookup class info during query execution and deletion. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1471\"\u003e#1471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Use Cypher-DSL Schema Names support to uniformly escape names. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1470\"\u003e#1470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.2 to 6.1.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1465\"\u003e#1465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j.driver:neo4j-java-driver from 6.2.0 to 6.2.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1466\"\u003e#1466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1467\"\u003e#1467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.1 to 1.6.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1468\"\u003e#1468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven:apache-maven from 3.9.11 to 3.9.16 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[chore] Minor remaining polishing of the \u003ccode\u003eConfiguration\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.jreleaser:jreleaser-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1448\"\u003e#1448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1452\"\u003e#1452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump kotlin.version from 2.4.0 to 2.4.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1453\"\u003e#1453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.mycila:license-maven-plugin from 5.0.0 to 5.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1454\"\u003e#1454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.10 to 1.18.11 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1447\"\u003e#1447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1449\"\u003e#1449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.1 to 6.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven.plugins:maven-jar-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1455\"\u003e#1455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump brace-expansion, \u003ccode\u003e@​antora/cli\u003c/code\u003e, \u003ccode\u003e@​antora/site-generator-default\u003c/code\u003e and nodemon (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1458\"\u003e#1458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.37 to 1.6.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1459\"\u003e#1459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1460\"\u003e#1460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Fully rebuild the URL without the \u003ccode\u003euserInfo\u003c/code\u003e part instead of search and replace. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1464\"\u003e#1464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Throw \u003ccode\u003eIllegalArgumentException\u003c/code\u003e when a non-supported \u003ccode\u003eencryptionLevel\u003c/code\u003e is used. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Handle colons in passwords proper. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Add page-tabs attributes (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1461\"\u003e#1461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.0 to 6.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1441\"\u003e#1441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1442\"\u003e#1442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump commons-logging:commons-logging from 1.3.6 to 1.4.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1443\"\u003e#1443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.8 to 1.18.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1444\"\u003e#1444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.34 to 1.5.37 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1445\"\u003e#1445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[build] Pin all actions (including officials) to their current sha. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1446\"\u003e#1446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Remove broken Stackoverflow badge.\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/neo4j/neo4j-ogm/commit/1acbdff43347eeb94ce55bbffafa8f1e3f2f293b\"\u003e\u003ccode\u003e1acbdff\u003c/code\u003e\u003c/a\u003e Release 5.0.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/7d0ab680d7e4d903ddb25b6a4ce7e2da70038c85\"\u003e\u003ccode\u003e7d0ab68\u003c/code\u003e\u003c/a\u003e build(deps): Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1477\"\u003e#1477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/62be667dd6ed97f227d9ffb9c5d90c8e9df9acba\"\u003e\u003ccode\u003e62be667\u003c/code\u003e\u003c/a\u003e build(deps): Bump net.bytebuddy:byte-buddy from 1.18.11 to 1.18.12 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1474\"\u003e#1474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/74f8231fd67c9dcc2f7a7926188f6e79f0fdb314\"\u003e\u003ccode\u003e74f8231\u003c/code\u003e\u003c/a\u003e build(deps-dev): Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1475\"\u003e#1475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/b4d606d188a8ae1a5ebdb18d5bd84e658438de21\"\u003e\u003ccode\u003eb4d606d\u003c/code\u003e\u003c/a\u003e build(deps): Bump ch.qos.logback:logback-classic from 1.6.2 to 1.6.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1476\"\u003e#1476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/2d38061bb9574c4e1988983eef5f5e7603857a9e\"\u003e\u003ccode\u003e2d38061\u003c/code\u003e\u003c/a\u003e build(deps): Bump com.puppycrawl.tools:checkstyle from 12.3.1 to 14.0.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1479\"\u003e#1479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/89d4490e386f3aa788cc949dc564183de3e586ab\"\u003e\u003ccode\u003e89d4490\u003c/code\u003e\u003c/a\u003e build(deps): Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1480\"\u003e#1480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/fee64f2b404939d986de0e65902ac612568e422c\"\u003e\u003ccode\u003efee64f2\u003c/code\u003e\u003c/a\u003e build(deps): Bump org.neo4j:neo4j-cypher-dsl-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1481\"\u003e#1481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/21262e6210b5565b381072129a8c86f018bc4f45\"\u003e\u003ccode\u003e21262e6\u003c/code\u003e\u003c/a\u003e build(deps): Bump com.mycila:license-maven-plugin from 5.1.1 to 5.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1482\"\u003e#1482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/af6136020b980c09ca2857db067bdcbe0a97088f\"\u003e\u003ccode\u003eaf61360\u003c/code\u003e\u003c/a\u003e Set next development version to 5.0.9.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/neo4j/neo4j-ogm/compare/v5.0.7...v5.0.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.neo4j:neo4j-ogm-bolt-driver` from 5.0.7 to 5.0.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/neo4j/neo4j-ogm/releases\"\u003eorg.neo4j:neo4j-ogm-bolt-driver's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.0.9\u003c/h2\u003e\n\u003cp\u003eThe build has been moved to JDK 26, while being still compiled for JDK 17. Only dependency updates, no other changes.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1477\"\u003e#1477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.11 to 1.18.12 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1474\"\u003e#1474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1475\"\u003e#1475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.2 to 1.6.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1476\"\u003e#1476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.puppycrawl.tools:checkstyle from 12.3.1 to 14.0.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1479\"\u003e#1479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1480\"\u003e#1480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j:neo4j-cypher-dsl-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1481\"\u003e#1481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.mycila:license-maven-plugin from 5.1.1 to 5.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1482\"\u003e#1482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.0.8\u003c/h2\u003e\n\u003cp\u003eThis is a recommended update for all users. It includes several important security fixes and has no breaking changes or other side effects.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[fix] Group entities also by removed / updated properties before multi-statement updates. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1473\"\u003e#1473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Replace variable placeholder \u003ccode\u003e$\u003c/code\u003e in favor of passing the variable down the call stack. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1472\"\u003e#1472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Use the full classname to lookup class info during query execution and deletion. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1471\"\u003e#1471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Use Cypher-DSL Schema Names support to uniformly escape names. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1470\"\u003e#1470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.2 to 6.1.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1465\"\u003e#1465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j.driver:neo4j-java-driver from 6.2.0 to 6.2.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1466\"\u003e#1466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1467\"\u003e#1467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.1 to 1.6.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1468\"\u003e#1468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven:apache-maven from 3.9.11 to 3.9.16 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[chore] Minor remaining polishing of the \u003ccode\u003eConfiguration\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.jreleaser:jreleaser-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1448\"\u003e#1448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1452\"\u003e#1452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump kotlin.version from 2.4.0 to 2.4.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1453\"\u003e#1453\u003c/a\u003e)\u003c...\n\n_Description has been truncated_","html_url":"https://github.com/noheton/shepard/pull/2689","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/noheton%2Fshepard/issues/2689","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2689/packages"},{"uuid":"5356591860","node_id":"PR_kwDORHwl-s8AAAABCTZRMg","number":136,"state":"open","title":"chore(deps): bump the all-maven group across 1 directory with 17 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-09-05T08:04:23.000Z","updated_at":"2026-09-05T08:04:24.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"all-maven","update_count":17,"packages":[{"name":"org.springframework.boot:spring-boot-starter-parent","old_version":"3.2.5","new_version":"4.1.1","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.testcontainers:testcontainers-bom","old_version":"1.21.4","new_version":"2.0.5","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.projectlombok:lombok","old_version":"1.18.46","new_version":"1.18.48","repository_url":"https://github.com/projectlombok/lombok"},{"name":"org.codehaus.mojo:flatten-maven-plugin","old_version":"1.6.0","new_version":"1.8.0","repository_url":"https://github.com/mojohaus/flatten-maven-plugin"},{"name":"org.apache.maven.plugins:maven-enforcer-plugin","old_version":"3.5.0","new_version":"3.6.3","repository_url":"https://github.com/apache/maven-enforcer"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.2.0","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"org.jacoco:jacoco-maven-plugin","old_version":"0.8.14","new_version":"0.8.15","repository_url":"https://github.com/jacoco/jacoco"},{"name":"com.baomidou:mybatis-plus-spring-boot3-starter","old_version":"3.5.16","new_version":"3.5.17","repository_url":"https://github.com/baomidou/mybatis-plus"},{"name":"com.baomidou:mybatis-plus-jsqlparser","old_version":"3.5.16","new_version":"3.5.17","repository_url":"https://github.com/baomidou/mybatis-plus"},{"name":"com.baomidou:mybatis-plus-annotation","old_version":"3.5.16","new_version":"3.5.17","repository_url":"https://github.com/baomidou/mybatis-plus"},{"name":"io.swagger.core.v3:swagger-annotations-jakarta","old_version":"2.2.22","new_version":"2.2.55"},{"name":"org.redisson:redisson-spring-boot-starter","old_version":"4.3.1","new_version":"4.7.0"},{"name":"cn.hutool:hutool-all","old_version":"5.8.44","new_version":"5.8.47","repository_url":"https://github.com/looly/hutool"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"2.6.0","new_version":"3.1.0","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"com.meilisearch.sdk:meilisearch-java","old_version":"0.20.1","new_version":"0.21.0","repository_url":"https://github.com/meilisearch/meilisearch-java"},{"name":"org.flywaydb:flyway-core","old_version":"10.10.0","new_version":"13.4.0"},{"name":"org.flywaydb:flyway-mysql","old_version":"10.10.0","new_version":"13.4.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the all-maven group with 17 updates in the /services directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.springframework.boot:spring-boot-starter-parent](https://github.com/spring-projects/spring-boot) | `3.2.5` | `4.1.1` |\n| [org.testcontainers:testcontainers-bom](https://github.com/testcontainers/testcontainers-java) | `1.21.4` | `2.0.5` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.46` | `1.18.48` |\n| [org.codehaus.mojo:flatten-maven-plugin](https://github.com/mojohaus/flatten-maven-plugin) | `1.6.0` | `1.8.0` |\n| [org.apache.maven.plugins:maven-enforcer-plugin](https://github.com/apache/maven-enforcer) | `3.5.0` | `3.6.3` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.2.0` | `1.5.0` |\n| [org.jacoco:jacoco-maven-plugin](https://github.com/jacoco/jacoco) | `0.8.14` | `0.8.15` |\n| [com.baomidou:mybatis-plus-spring-boot3-starter](https://github.com/baomidou/mybatis-plus) | `3.5.16` | `3.5.17` |\n| [com.baomidou:mybatis-plus-jsqlparser](https://github.com/baomidou/mybatis-plus) | `3.5.16` | `3.5.17` |\n| [com.baomidou:mybatis-plus-annotation](https://github.com/baomidou/mybatis-plus) | `3.5.16` | `3.5.17` |\n| io.swagger.core.v3:swagger-annotations-jakarta | `2.2.22` | `2.2.55` |\n| org.redisson:redisson-spring-boot-starter | `4.3.1` | `4.7.0` |\n| [cn.hutool:hutool-all](https://github.com/looly/hutool) | `5.8.44` | `5.8.47` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `2.6.0` | `3.1.0` |\n| [com.meilisearch.sdk:meilisearch-java](https://github.com/meilisearch/meilisearch-java) | `0.20.1` | `0.21.0` |\n| org.flywaydb:flyway-core | `10.10.0` | `13.4.0` |\n| org.flywaydb:flyway-mysql | `10.10.0` | `13.4.0` |\n\n\nUpdates `org.springframework.boot:spring-boot-starter-parent` from 3.2.5 to 4.1.1\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:spring-boot-starter-parent's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch2\u003e:warning: Attention Required\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpring Boot's Gradle plugin no longer automatically configures gRPC when the Protobuf plugin is applied. This behavior caused problems for those using Protobuf without gRPC. To opt in to the configuration of gRPC, configure the \u003ccode\u003eprotobuf\u003c/code\u003e extension with the \u003ccode\u003egrpc\u003c/code\u003e plugin using an empty block. The Spring Boot Gradle plugin will then automatically configure the use of \u003ccode\u003eprotoc-gen-grpc-java\u003c/code\u003e as before. \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50822\"\u003e#50822\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKafka consumer-specific security protocol is not taken into account \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51369\"\u003e#51369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStructured logging: a failed JSON encode corrupts the next log event written on the same thread \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51156\"\u003e#51156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMicrometer registries pin the application context \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51135\"\u003e#51135\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTemporary file is not deleted when ExportedImageTar construction fails \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51132\"\u003e#51132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMetadata annotation processor ignores getter-level \u003ccode\u003e@NestedConfigurationProperty\u003c/code\u003e for records \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51098\"\u003e#51098\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-h2-console pulls servlet-api as transitive dependency \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51095\"\u003e#51095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropertiesLauncher does not log nested archive paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51089\"\u003e#51089\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMethods that return the result of Map#remove are not declared with a \u003ccode\u003e@Nullable\u003c/code\u003e return type \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51087\"\u003e#51087\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNativeImageResourceProvider flattens Flyway migration paths in subdirectories \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50964\"\u003e#50964\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ordering of Kotlinx Serialization CodecCustomizer \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50961\"\u003e#50961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJarFile is not closed when finding main class from archive \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50959\"\u003e#50959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplication-managed JUL bridge handler should only be removed if installed \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50950\"\u003e#50950\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCloudFoundry reactive auto-configuration should not require a WebClient.Builder bean to be defined \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50944\"\u003e#50944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails on reactive Cloud Foundry when using Actuator without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50942\"\u003e#50942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResources are not cleaned up when resolving an image that is not yet present in the builder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50941\"\u003e#50941\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGraphQlWebMvcAutoConfiguration should apply customizers in order \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50914\"\u003e#50914\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configured RedisMessageListenerContainer does not use virtual threads when spring.threads.virtual.enabled is true \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50884\"\u003e#50884\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails when using Actuator on Jersey without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50872\"\u003e#50872\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails on Cloud Foundry when using Actuator without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50871\"\u003e#50871\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIllegalStateException when binding properties to a \u003ccode\u003e@Validated\u003c/code\u003e class that contains a map whose value type is a wildcard \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50856\"\u003e#50856\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHigh number of connections due to Mongo health indicator \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50852\"\u003e#50852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInconsistent handling of empty string values of spring.security.oauth2.resourceserver.jwt issuer-uri and jwk-set-uri \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50849\"\u003e#50849\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn type nullability of ApplicationContextAssert's getBean methods does not indicate that bean may be null \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50845\"\u003e#50845\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropertiesWebClientHttpServiceGroupConfigurer has highest precedence, preventing other configurers from being ordered ahead of it \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50843\"\u003e#50843\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExposing gRPC test server port should backoff if gRPC is not present \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50825\"\u003e#50825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJpaBaseConfiguration#entityManagerConfiguration can cause a dependency loop on beans declaring AsyncTaskExecutor \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50801\"\u003e#50801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.grpc.server.health.include-overall-health is not taken into account \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50799\"\u003e#50799\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSetting 'server.servlet.session.cookie.partitioned' to false still emits the 'Partitioned' cookie attribute \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50790\"\u003e#50790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eManaged version of Prometheus Client is not aligned with Micrometer's micrometer-registry-prometheus \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50780\"\u003e#50780\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMap properties bound from empty strings fail with ConverterNotFoundException \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50773\"\u003e#50773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProtobuf Common Protos should not be a managed dependency \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50772\"\u003e#50772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAn application that depends on spring-boot-security-oauth2-resource-server may fail to start with a ClassNotFoundException when Reactor is on the classpath but WebFlux is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50764\"\u003e#50764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eW3CHeaderParser's decoding is not compliant with RFC 3986 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50650\"\u003e#50650\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\u003eDescription of spring.graphql.websocket.connection-init-timeout does not render correctly in the reference guide \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51348\"\u003e#51348\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.profiles.group should have a 'spring-profile-name' hint provider \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51284\"\u003e#51284\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove reference to removed InfluxDB auto-configuration \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51176\"\u003e#51176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse JacksonJsonSerde in Kafka Streams documentation \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51161\"\u003e#51161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument alternatives to HttpMessageConverters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51129\"\u003e#51129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix stale type reference for OTLP logging transport metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51119\"\u003e#51119\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMetadata for spring.test.mockmvc.htmlunit.url declares the wrong type \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51115\"\u003e#51115\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/6fdf67ea1552691e932604d4bf67a5e08ff0b0ea\"\u003e\u003ccode\u003e6fdf67e\u003c/code\u003e\u003c/a\u003e Release 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/fde599b28b40932e4ea6194399d89245923a01e7\"\u003e\u003ccode\u003efde599b\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Pulsar 2.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9daa58f7d98b82bf16febcb91943ce267c220a50\"\u003e\u003ccode\u003e9daa58f\u003c/code\u003e\u003c/a\u003e Upgrade to Spring HATEOAS 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/353993ebc1d7b1ceccbb981b0439a42ba122a816\"\u003e\u003ccode\u003e353993e\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Data Bom 2026.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/24ba596bc4fa000614834016452435c834fdeda2\"\u003e\u003ccode\u003e24ba596\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Session 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/5cb5c294d1f4780e78d010a964049e47c074e4d6\"\u003e\u003ccode\u003e5cb5c29\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Security 7.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4adc8eb130c4e0c688ed85316f385f4e04d47679\"\u003e\u003ccode\u003e4adc8eb\u003c/code\u003e\u003c/a\u003e Upgrade to Spring LDAP 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4d9c19cbc0589f57a7265052b507bf4b961082ac\"\u003e\u003ccode\u003e4d9c19c\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Kafka 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f30f6120c4f6f8f873ac56cba478ae1f011c276c\"\u003e\u003ccode\u003ef30f612\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 7.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/b930283d97e92eb24da1de3721cdd41625266dea\"\u003e\u003ccode\u003eb930283\u003c/code\u003e\u003c/a\u003e Upgrade to Spring gRPC 1.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v3.2.5...v4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.testcontainers:testcontainers-bom` from 1.21.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-bom'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\u003ch2\u003e2.0.4\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/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/1.21.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.projectlombok:lombok` from 1.18.46 to 1.18.48\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.48 (September 1st, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBREAKING CHANGE/BUGFIX: \u003ccode\u003e@Builder(builderClassName = \u0026quot;Builder\u0026quot;)\u003c/code\u003e now generates an error, because the type names collide. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3857\"\u003e#3857\u003c/a\u003e  (found after release)\u003c/li\u003e\n\u003cli\u003ePLATFORM: JDK27 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4072\"\u003e#4072\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@SneakyThrows\u003c/code\u003e usage on JDK26 no longer results in class files that require \u003ccode\u003elombok.jar\u003c/code\u003e to be on the runtime classpath (which should not be neccessary). \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4040\"\u003e#4040\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFEATURE: New \u003ca href=\"https://projectlombok.org/features/configuration\"\u003econfig key\u003c/a\u003e \u003ccode\u003elombok.checkReturnValueAnnotation\u003c/code\u003e (values: \u003ccode\u003enone\u003c/code\u003e, \u003ccode\u003elombok\u003c/code\u003e; default: \u003ccode\u003enone\u003c/code\u003e) lets lombok generate \u003ccode\u003e@lombok.CheckReturnValue\u003c/code\u003e on generated methods where the return value should not be ignored, such as \u003ccode\u003e@With\u003c/code\u003e methods and \u003ccode\u003e@Builder.build()\u003c/code\u003e. A future lombok release may flip the default to \u003ccode\u003elombok\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/pull/4013\"\u003e#4013\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePROMOTION: \u003ccode\u003e@SuperBuilder\u003c/code\u003e has been promoted to the main package. Otherwise, no changes have been made to the annotation. The old experimental annotation will remain for a few versions, at which point it will be marked as a deprecated annotation. Eventually it'll be removed. If you had \u003ccode\u003elombok.config\u003c/code\u003e configuration for this annotation, the configuration keys for this feature have been renamed. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/2209\"\u003e#2209\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eOLD-CRUFT: \u003ccode\u003elombok.experimental.Wither\u003c/code\u003e and \u003ccode\u003elombok.Delegate\u003c/code\u003e are deprecated remnants; these features were moved (to respectively \u003ccode\u003elombok.With\u003c/code\u003e and \u003ccode\u003elombok.experimental.Delegate\u003c/code\u003e over 5 years ago. They are now removed entirely. If your project is dependent on an older version of lombok which still has those; fret not, lombok still processes these annotations. It just no longer includes them in the jar.\u003c/li\u003e\n\u003cli\u003eFEATURE: CheckerFramework: Lombok now adds \u003ccode\u003e@SideEffectFree\u003c/code\u003e to constructors it makes if you have enabled checker framework via \u003ccode\u003elombok.config\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: CheckerFramework: Lombok would add \u003ccode\u003e@SideEffectFree\u003c/code\u003e to the \u003ccode\u003ebuild()\u003c/code\u003e method of any generated builder, even if it is a builder for invoking a method; in that case, the side-effect-free nature of \u003ccode\u003ebuild()\u003c/code\u003e mirrors the side-effect-free nature of the method invocation you've built. Lombok now checks if the method it generated a builder for is side effect free / 'check return type'.\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/b48657c83ce44d027984f539bd36048293ce5e8e\"\u003e\u003ccode\u003eb48657c\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump v1.18.48\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/d1d003945f864d32bb3115cf81fa363e1c7bc6bb\"\u003e\u003ccode\u003ed1d0039\u003c/code\u003e\u003c/a\u003e Merge branch 'jdk27'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1a23dad52c01e7b18892573549841e36d6e4abde\"\u003e\u003ccode\u003e1a23dad\u003c/code\u003e\u003c/a\u003e [review][refactor] No meaningful changes: Improved comments, javadoc, and cle...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/40cdde815038a4bddc2bc31afce80c4c62e75e67\"\u003e\u003ccode\u003e40cdde8\u003c/code\u003e\u003c/a\u003e [changelog] JDK27 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/25eae29093410cba53e3f91e2da4ba1fbf1953f4\"\u003e\u003ccode\u003e25eae29\u003c/code\u003e\u003c/a\u003e Add Danish Nawab to AUTHORS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/10ab92b5d9eb852ccac7295d8017203e7efd7449\"\u003e\u003ccode\u003e10ab92b\u003c/code\u003e\u003c/a\u003e Support JDK27: end positions moved from EndPosTable to JCTree.endpos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/af01b7a27b469b723e88de508480186113569185\"\u003e\u003ccode\u003eaf01b7a\u003c/code\u003e\u003c/a\u003e Document the new configuration syntax for listy things\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1be3857dfef96cde703012a43ec649a4c3f7eea9\"\u003e\u003ccode\u003e1be3857\u003c/code\u003e\u003c/a\u003e There is no more HtAccess\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/405985dd2512786439448e43f390c359e7595269\"\u003e\u003ccode\u003e405985d\u003c/code\u003e\u003c/a\u003e Semantic sections for website\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/04b73406d04a279401b43a74314aa1dcbadbc143\"\u003e\u003ccode\u003e04b7340\u003c/code\u003e\u003c/a\u003e [trivial] fixing some outdated tests (tests were broken, not lombok).\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.46...v1.18.48\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.codehaus.mojo:flatten-maven-plugin` from 1.6.0 to 1.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/releases\"\u003eorg.codehaus.mojo:flatten-maven-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.8.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e🚀 New features and improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eConfigurable name for the revision variable (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/487\"\u003e#487\u003c/a\u003e) \u003ca href=\"https://github.com/senivam\"\u003e\u003ccode\u003e@​senivam\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 for \u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/issues/408\"\u003e#408\u003c/a\u003e, ensure nested dependency exclusions aren't overrided (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/485\"\u003e#485\u003c/a\u003e) \u003ca href=\"https://github.com/treilhes\"\u003e\u003ccode\u003e@​treilhes\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for Maven 3.10.x (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/517\"\u003e#517\u003c/a\u003e) \u003ca href=\"https://github.com/slawekjaranowski\"\u003e\u003ccode\u003e@​slawekjaranowski\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔧 Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd PR automation workflow to GitHub Actions (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/522\"\u003e#522\u003c/a\u003e) \u003ca href=\"https://github.com/slawekjaranowski\"\u003e\u003ccode\u003e@​slawekjaranowski\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump mavenVersion from 3.9.15 to 3.9.16 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/511\"\u003e#511\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump apache/maven-gh-actions-shared/.github/workflows/release-drafter.yml from 4 to 5 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/514\"\u003e#514\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml from 4 to 5 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/516\"\u003e#516\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump apache/maven-gh-actions-shared/.github/workflows/stale.yml from 4 to 5 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/515\"\u003e#515\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.mojo:mojo-parent from 96 to 97 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/519\"\u003e#519\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mavenVersion from 3.9.14 to 3.9.15 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/509\"\u003e#509\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/510\"\u003e#510\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.plexus:plexus-utils from 4.0.2 to 4.0.3 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/508\"\u003e#508\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.6 to 3.27.7 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/502\"\u003e#502\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven.plugin-testing:maven-plugin-testing-harness from 3.5.0 to 3.5.1 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/503\"\u003e#503\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.fasterxml.jackson.core:jackson-core from 2.15.0 to 2.18.6 in /src/it/projects/bom-pomElements/bom (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/504\"\u003e#504\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mavenVersion from 3.9.12 to 3.9.14 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/506\"\u003e#506\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.mojo:mojo-parent from 95 to 96 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/507\"\u003e#507\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven.plugin-testing:maven-plugin-testing-harness from 3.4.0 to 3.5.0 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/501\"\u003e#501\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mavenVersion from 3.9.11 to 3.9.12 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/498\"\u003e#498\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump parent to 95 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/500\"\u003e#500\u003c/a\u003e) \u003ca href=\"https://github.com/slachiewicz\"\u003e\u003ccode\u003e@​slachiewicz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.5 to 3.27.6 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/484\"\u003e#484\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump commons-io:commons-io from 2.20.0 to 2.21.0 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/492\"\u003e#492\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.plexus:plexus-interpolation from 1.28 to 1.29 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/493\"\u003e#493\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven.plugin-testing:maven-plugin-testing-harness from 3.3.0 to 3.4.0 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/491\"\u003e#491\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.7.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes condition-activated profiles not considered in effective model (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/481\"\u003e#481\u003c/a\u003e) \u003ca href=\"https://github.com/oldhen\"\u003e\u003ccode\u003e@​oldhen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.4 to 3.27.5 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/482\"\u003e#482\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.mojo:mojo-parent from 92 to 93 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/480\"\u003e#480\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.3 to 3.27.4 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/479\"\u003e#479\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\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/mojohaus/flatten-maven-plugin/commit/1b211937fc61b40e1c38a59fb882c0910032b089\"\u003e\u003ccode\u003e1b21193\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release 1.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/f693210d117749539f80068a48d08bcb43a7bc6c\"\u003e\u003ccode\u003ef693210\u003c/code\u003e\u003c/a\u003e Add PR automation workflow to GitHub Actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/cff2c4f2cd38899523db4f64d84f21236211028a\"\u003e\u003ccode\u003ecff2c4f\u003c/code\u003e\u003c/a\u003e Document \u003ccode\u003erevisionVariableName\u003c/code\u003e parameter with \u003ccode\u003e@since 1.8.0\u003c/code\u003e tag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/f18a67dc288e60362c04ca51e4c43f67b5e2de94\"\u003e\u003ccode\u003ef18a67d\u003c/code\u003e\u003c/a\u003e Fix for \u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/issues/408\"\u003e#408\u003c/a\u003e, ensure nested dependency exclusions aren't overrided (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/issues/485\"\u003e#485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/35396b634a203a1a3b7f5c52e0b72202285bce01\"\u003e\u003ccode\u003e35396b6\u003c/code\u003e\u003c/a\u003e Bump mavenVersion from 3.9.15 to 3.9.16\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/f78e07e292aea3ea95d7829e4983a7018f5cc95d\"\u003e\u003ccode\u003ef78e07e\u003c/code\u003e\u003c/a\u003e Bump apache/maven-gh-actions-shared/.github/workflows/release-drafter.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/25f849ed5277a9266bf2b2618686595974c403d9\"\u003e\u003ccode\u003e25f849e\u003c/code\u003e\u003c/a\u003e Bump apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/5fcc98fc10355f9128f48a1bd1a937378e37c5a8\"\u003e\u003ccode\u003e5fcc98f\u003c/code\u003e\u003c/a\u003e Bump apache/maven-gh-actions-shared/.github/workflows/stale.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/4bd9edaa0f2873c68a671b9dcb0fa674344f1a5c\"\u003e\u003ccode\u003e4bd9eda\u003c/code\u003e\u003c/a\u003e Bump org.codehaus.mojo:mojo-parent from 96 to 97\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/7bacd0e6773453b0eafc79aa20923186030d2cd4\"\u003e\u003ccode\u003e7bacd0e\u003c/code\u003e\u003c/a\u003e Fix for Maven 3.10.x (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/issues/517\"\u003e#517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/compare/1.6.0...1.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.maven.plugins:maven-enforcer-plugin` from 3.5.0 to 3.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/maven-enforcer/releases\"\u003eorg.apache.maven.plugins:maven-enforcer-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.6.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e🚀 New features and improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake bannedDependencies report root and transitive dependency in case both are banned. (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/940\"\u003e#940\u003c/a\u003e) \u003ca href=\"https://github.com/hvoynov\"\u003e\u003ccode\u003e@​hvoynov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd enforceBytecodeVersion rule based on mojohaus (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/968\"\u003e#968\u003c/a\u003e) \u003ca href=\"https://github.com/cstamas\"\u003e\u003ccode\u003e@​cstamas\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove formatting of deprecated API warning (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/951\"\u003e#951\u003c/a\u003e) \u003ca href=\"https://github.com/mthmulders\"\u003e\u003ccode\u003e@​mthmulders\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 handling of Java versions like 21.0.10.0.1 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/967\"\u003e#967\u003c/a\u003e) \u003ca href=\"https://github.com/parttimenerd\"\u003e\u003ccode\u003e@​parttimenerd\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd null checks for modelId in PluginWrapper (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/974\"\u003e#974\u003c/a\u003e) \u003ca href=\"https://github.com/cpfeiffer\"\u003e\u003ccode\u003e@​cpfeiffer\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📝 Documentation updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocument the banMavenDefaults option for the requirePluginVersions rule. (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/936\"\u003e#936\u003c/a\u003e) \u003ca href=\"https://github.com/rpkrajewski\"\u003e\u003ccode\u003e@​rpkrajewski\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e👻 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ePlexusStringUtils\u003c/code\u003e Refaster recipes (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/943\"\u003e#943\u003c/a\u003e) \u003ca href=\"https://github.com/slachiewicz\"\u003e\u003ccode\u003e@​slachiewicz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJUnit Jupiter migration from JUnit 4.x (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/941\"\u003e#941\u003c/a\u003e) \u003ca href=\"https://github.com/slachiewicz\"\u003e\u003ccode\u003e@​slachiewicz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump org.apache.logging.log4j:log4j-core from 2.25.3 to 2.25.4 in /maven-enforcer-plugin/src/it/projects/MENFORCER-434 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/970\"\u003e#970\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeps: Parent POM 48 and align deps (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/979\"\u003e#979\u003c/a\u003e) \u003ca href=\"https://github.com/cstamas\"\u003e\u003ccode\u003e@​cstamas\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump commons-codec:commons-codec from 1.21.0 to 1.22.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/976\"\u003e#976\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/975\"\u003e#975\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mavenVersion from 3.9.14 to 3.9.15 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/973\"\u003e#973\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mavenVersion from 3.9.13 to 3.9.14 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/965\"\u003e#965\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mavenVersion from 3.9.12 to 3.9.13 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/964\"\u003e#964\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven.plugin-testing:maven-plugin-testing-harness from 3.5.0 to 3.5.1 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/963\"\u003e#963\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate log4j in test to avoid CVE (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/961\"\u003e#961\u003c/a\u003e) \u003ca href=\"https://github.com/Bukama\"\u003e\u003ccode\u003e@​Bukama\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump commons-codec:commons-codec from 1.20.0 to 1.21.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/962\"\u003e#962\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.6 to 3.27.7 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/960\"\u003e#960\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.mojo:mrm-maven-plugin from 1.7.0 to 1.7.1 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/959\"\u003e#959\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven:maven-parent from 46 to 47 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/958\"\u003e#958\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.plexus:plexus-archiver from 4.10.4 to 4.11.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/957\"\u003e#957\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate to 46 including fixes (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/955\"\u003e#955\u003c/a\u003e) \u003ca href=\"https://github.com/Bukama\"\u003e\u003ccode\u003e@​Bukama\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven.plugin-testing:maven-plugin-testing-harness from 3.3.0 to 3.5.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/956\"\u003e#956\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mavenVersion from 3.9.11 to 3.9.12 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/948\"\u003e#948\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.commons:commons-lang3 from 3.19.0 to 3.20.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/947\"\u003e#947\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump commons-io:commons-io from 2.20.0 to 2.21.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/946\"\u003e#946\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump commons-codec:commons-codec from 1.19.0 to 1.20.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/945\"\u003e#945\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.6.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse SessionData for cache storage (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/930\"\u003e#930\u003c/a\u003e) \u003ca href=\"https://github.com/slawekjaranowski\"\u003e\u003ccode\u003e@​slawekjaranowski\u003c/code\u003e\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/apache/maven-enforcer/commit/c7daff33d46c9c3ee0666540c6857c66cf159e70\"\u003e\u003ccode\u003ec7daff3\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release enforcer-3.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/ee46e78b046be9882a739c07556940329a7345d6\"\u003e\u003ccode\u003eee46e78\u003c/code\u003e\u003c/a\u003e Make bannedDependencies report root and transitive dependency in case both ar...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/0806924d8f6c5ad6105ac387bf323846e769b18c\"\u003e\u003ccode\u003e0806924\u003c/code\u003e\u003c/a\u003e Document the banMavenDefaults option for the requirePluginVersions rule. (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/issues/936\"\u003e#936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/8e4f5b94453de97592cf3935b79319894f013329\"\u003e\u003ccode\u003e8e4f5b9\u003c/code\u003e\u003c/a\u003e Add better enforceBytecodeVersion rule based on mojohaus (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/issues/968\"\u003e#968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/fd4b1486dcc93394d5f6a11687efd51d0d30b22d\"\u003e\u003ccode\u003efd4b148\u003c/code\u003e\u003c/a\u003e Add fix for 21.0.10.0.1 issue (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/issues/967\"\u003e#967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/f32d5979ef387668162c2beb905b368e25accd70\"\u003e\u003ccode\u003ef32d597\u003c/code\u003e\u003c/a\u003e Deps: Parent POM 48 and align deps (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/issues/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/df0f2a6d7fbbaf79914cdb56fa5899d99c8eaf19\"\u003e\u003ccode\u003edf0f2a6\u003c/code\u003e\u003c/a\u003e Bump commons-codec:commons-codec from 1.21.0 to 1.22.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/issues/976\"\u003e#976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/2da7a68b4d8d9d2da866ffaf1e07a206c9b7115d\"\u003e\u003ccode\u003e2da7a68\u003c/code\u003e\u003c/a\u003e Add null checks for modelId in PluginWrapper\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/91eb4d9fe1f6f65137991c1131131ceaca542245\"\u003e\u003ccode\u003e91eb4d9\u003c/code\u003e\u003c/a\u003e Bump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/issues/975\"\u003e#975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/b6222459bf3256bfd747731a7f4ea81577777ffe\"\u003e\u003ccode\u003eb622245\u003c/code\u003e\u003c/a\u003e Bump mavenVersion from 3.9.14 to 3.9.15 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/issues/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/maven-enforcer/compare/enforcer-3.5.0...enforcer-3.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.tngtech.archunit:archunit-junit5` from 1.2.0 to 1.5.0\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.5.0\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 27 / class file major version 71 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1618\"\u003e#1618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove descriptions of \u003ccode\u003eJavaAccess.Predicates.originOwner\u003c/code\u003e and \u003ccode\u003eJavaAccess.Predicates.targetOwner\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1603\"\u003e#1603\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eExpose information on sealed classes via \u003ccode\u003eJavaClass\u003c/code\u003e: \u003ccode\u003eisSealed()\u003c/code\u003e and \u003ccode\u003egetPermittedSubclasses()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/bannmann\"\u003e\u003ccode\u003e@​bannmann\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eImportOption.DoNotIncludeTests\u003c/code\u003e and \u003ccode\u003eOnlyIncludeTests\u003c/code\u003e consider tests in custom Gradle source sets (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/Develop-KIM\"\u003e\u003ccode\u003e@​Develop-KIM\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLang\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchConditions\u003c/code\u003e offers new \u003ccode\u003eArchCondition\u0026lt;JavaClass\u0026gt; haveAnyDependenciesThat(DescribedPredicate\u0026lt;Dependency\u0026gt;)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1580\"\u003e#1580\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/wakingrufus\"\u003e\u003ccode\u003e@​wakingrufus\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchitectureMetrics.lakosMetrics\u003c/code\u003e is computed much more performantly (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1629\"\u003e#1629\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/ThanosTsiamis\"\u003e\u003ccode\u003e@​ThanosTsiamis\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTextFileBasedViolationStore\u003c/code\u003e is now thread-safe under parallel test execution (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1656\"\u003e#1656\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/kelunik\"\u003e\u003ccode\u003e@​kelunik\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eModuleDependency\u003c/code\u003e now provides stable descriptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1648\"\u003e#1648\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/DragonFSKY\"\u003e\u003ccode\u003e@​DragonFSKY\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eJUnit\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003earchunit-junit6\u003c/code\u003e supports ArchUnit with JUnit 6 (\u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1556\"\u003e#1556\u003c/a\u003e\u003c/del\u003e, \u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1658\"\u003e#1658\u003c/a\u003e\u003c/del\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1659\"\u003e#1659\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnalyzeClasses\u003c/code\u003e supports individual classes (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1569\"\u003e#1569\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003ePreparation:\u003c/em\u003e \u003ccode\u003earchunit-junit:0.9.0\u003c/code\u003e (which was renamed with \u003ca href=\"https://github.com/TNG/ArchUnit/releases/tag/v0.9.0\"\u003eArchUnit 0.9.0\u003c/a\u003e) now relocates to \u003ccode\u003earchunit-junit4:0.9.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1673\"\u003e#1673\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋) – will be published after \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1684\"\u003e#1684\u003c/a\u003e 🙈\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocument \u003ccode\u003ePriority\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1671\"\u003e#1671\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eDocument Package Identifiers in User Guide (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1672\"\u003e#1672\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eInternal Improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eText files now use UNIX line breaks (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1602\"\u003e#1602\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1611\"\u003e#1611\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eUpdate Gradle from 8 to 9; build \u0026amp; test with JDK 25 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1550\"\u003e#1550\u003c/a\u003e, and also \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1612\"\u003e#1612\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1619\"\u003e#1619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSeparate integration tests by JUnit version (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1636\"\u003e#1636\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003ejunit-dataprovider\u003c/code\u003e with \u003ccode\u003ejunit-jupiter-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1655\"\u003e#1655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eArchUnit releases now update Maven examples (and Gradle wrapper) of \u003ca href=\"https://github.com/TNG/ArchUnit-Examples\"\u003eArchUnit-Examples\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid managing hamcrest dependency (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1467\"\u003e#1467\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\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\u003ch2\u003eArchUnit 1.4.1\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 25 / class file major version 69 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1440\"\u003e#1440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\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/TNG/ArchUnit/commit/502d782bfbf2632a2c9f943a502ddd8cc3e3c46d\"\u003e\u003ccode\u003e502d782\u003c/code\u003e\u003c/a\u003e prepare release 1.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/4f26fccd784d37f469e743950f8e0a3ff686d64b\"\u003e\u003ccode\u003e4f26fcc\u003c/code\u003e\u003c/a\u003e fix testRelease exec() and task registration for Gradle 9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/96af98457c924289ecff834737eebd8a55bddda6\"\u003e\u003ccode\u003e96af984\u003c/code\u003e\u003c/a\u003e add new developers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/e427828fcb9b09117cd0e59a471314218f8331d5\"\u003e\u003ccode\u003ee427828\u003c/code\u003e\u003c/a\u003e consolidate POM checks during CI and release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a30f6e3465ed3cb0868607debf80bf83e741b5f0\"\u003e\u003ccode\u003ea30f6e3\u003c/code\u003e\u003c/a\u003e Bump gradle/actions from 6 to 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a036c08707c50e6f7091754e63389f5bd2aaec64\"\u003e\u003ccode\u003ea036c08\u003c/code\u003e\u003c/a\u003e Bump com.github.ben-manes.versions from 0.57.0 to 0.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/24a9d9e10d4bb5ba5c5678d36810ef2397470163\"\u003e\u003ccode\u003e24a9d9e\u003c/code\u003e\u003c/a\u003e Bump actions/setup-java from 5.6.0 to 5.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/9944244c116f2724ac5bc1d02c73ca10af1c92e4\"\u003e\u003ccode\u003e9944244\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/51fd6c9e90c681a3d644f8a1e86a428f64fe3418\"\u003e\u003ccode\u003e51fd6c9\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/65f4cd3a60c48b0654daa4662b563e6b8545e221\"\u003e\u003ccode\u003e65f4cd3\u003c/code\u003e\u003c/a\u003e add support for dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TNG/ArchUnit/compare/v1.2.0...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jacoco:jacoco-maven-plugin` from 0.8.14 to 0.8.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jacoco/jacoco/releases\"\u003eorg.jacoco:jacoco-maven-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.8.15\u003c/h2\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eJaCoCo now officially supports Java 26 (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2076\"\u003e#2076\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eExperimental support for Java 27 class files (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2004\"\u003e#2004\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eCompatibility methods generated by Kotlin compiler for functions defined in interfaces are filtered out during generation of report (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/1905\"\u003e#1905\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eCompatibility methods generated by Kotlin compiler for exposed boxed inline value classes (JvmExposeBoxed annotation) are filtered out during generation of report (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/1944\"\u003e#1944\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMethods generated by the Kotlin compiler for functions with JvmStatic annotation are filtered out during generation of report (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2097\"\u003e#2097\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved filtering of bytecode generated by Kotlin compiler for when expressions and statements with kotlin.String subject where first branch condition contains string with largest hash (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2098\"\u003e#2098\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003ePart of bytecode that javac versions from 24 to 26 generate for switch statements and expressions with selector expression of type java.lang.String inside lambdas is filtered out during generation of report (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2023\"\u003e#2023\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved performance of Kotlin files analysis by parsing SMAPs only once per class (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2114\"\u003e#2114\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFor better performance agent output methods tcpclient and tcpserver use BufferedOutputStream to write execution data to socket. Maven plugin, Ant tasks, CLI, API usage examples, and ExecDumpClient API use BufferedInputStream to read execution data from socket. Third-party integrations should do the same to benefit from this change in agent (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2089\"\u003e#2089\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed bugs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed processing of Kotlin SMAP in synthetic classes (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/1985\"\u003e#1985\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMultiple JaCoCo runtimes within one JVM writing to the same output file should not cause data corruption when running on JDK versions from 6 to 10 affected by \u003ca href=\"https://bugs.openjdk.org/browse/JDK-8166253\"\u003eJDK-8166253\u003c/a\u003e (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2065\"\u003e#2065\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2074\"\u003e#2074\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFor better performance agent writes to output file via BufferedOutputStream, this fixes regression introduced in version 0.6.2 (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2073\"\u003e#2073\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed NullPointerException when JaCoCo agent is loaded by non system class loader, for example when loaded by JBoss Modules (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/1651\"\u003e#1651\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNon-functional Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eJaCoCo now depends on ASM 9.10.1 (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2134\"\u003e#2134\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/jacoco/jacoco/commit/6c5260a192eaa535e4a519771d530781cbac9136\"\u003e\u003ccode\u003e6c5260a\u003c/code\u003e\u003c/a\u003e Prepare release v0.8.15\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/5c05141431a7f064a804a923fbae11271241f116\"\u003e\u003ccode\u003e5c05141\u003c/code\u003e\u003c/a\u003e Transfer of execution data through socket should use buffered stream (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2089\"\u003e#2089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/ab5efa9d63c06899b2aec1d4a6099fc856132a22\"\u003e\u003ccode\u003eab5efa9\u003c/code\u003e\u003c/a\u003e Remove from Azure Pipelines all builds except with JDK 5 and JDK EA (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2148\"\u003e#2148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/5f6ea38f20ff4583deb4ab976571c853231f97c2\"\u003e\u003ccode\u003e5f6ea38\u003c/code\u003e\u003c/a\u003e Use Windows 2025 image in GitHub Actions (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2130\"\u003e#2130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/35a8af2cfc168ce51f2a3ea2d55d65f31e61c513\"\u003e\u003ccode\u003e35a8af2\u003c/code\u003e\u003c/a\u003e Use Renovate instead of Dependabot for updates of ASM (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2137\"\u003e#2137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/85b8ddf530821f75b3b26f5f96d03252286b3ad6\"\u003e\u003ccode\u003e85b8ddf\u003c/code\u003e\u003c/a\u003e Upgrade ASM to 9.10.1 (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2134\"\u003e#2134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/2988647ac37c3ad35a77b51d01b10a916b85627b\"\u003e\u003ccode\u003e2988647\u003c/code\u003e\u003c/a\u003e AgentModule should use ClassLoader of agent instead of SystemClassLoader (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/1651\"\u003e#1651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/75a4e31fed32f180fbe4593ad91ec5c176c0535b\"\u003e\u003ccode\u003e75a4e31\u003c/code\u003e\u003c/a\u003e Add filter for Kotlin \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/1944\"\u003e#1944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/691fa1d6a0dffa91f45daf0714f28bfdaa367fc0\"\u003e\u003ccode\u003e691fa1d\u003c/code\u003e\u003c/a\u003e Use Renovate instead of Dependabot for updates of GitHub Actions (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2132\"\u003e#2132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/3e18f17207bca0203b726ace460aa6be8d0f3dd4\"\u003e\u003ccode\u003e3e18f17\u003c/code\u003e\u003c/a\u003e Require at least JDK 21 for build (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2128\"\u003e#2128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jacoco/jacoco/compare/v0.8.14...v0.8.15\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.baomidou:mybatis-plus-spring-boot3-starter` from 3.5.16 to 3.5.17\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/baomidou/mybatis-plus/releases\"\u003ecom.baomidou:mybatis-plus-spring-boot3-starter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.17\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6899\u003c/code\u003e 多租户插件 \u003ccode\u003e@Many\u003c/code\u003e 注解查无效问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6938\u003c/code\u003e \u003ccode\u003eHashMap\u003c/code\u003e 设置类型转换器异常\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7081\u003c/code\u003e 解决拦截全表存在 \u003ccode\u003eschema\u003c/code\u003e 校验问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6905\u003c/code\u003e 关于 \u003ccode\u003esaveOrUpdateBatch\u003c/code\u003e 导致 \u003ccode\u003eParameterHandler\u003c/code\u003e 被重复执行问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7056\u003c/code\u003e 支持 \u003ccode\u003eGraalVM Native\u003c/code\u003e 二进制编译问题，案例 \u003ca href=\"https://gitee.com/baomidou/mybatis-plus-native-image-demo\"\u003ehttps://gitee.com/baomidou/mybatis-plus-native-image-demo\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7027\u003c/code\u003e 支持 \u003ccode\u003eJDK 9+\u003c/code\u003e 模块化包重名问题，注意 \u003ccode\u003emybatis-plus-spring\u003c/code\u003e 模块下文件包名调整\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ewrapper\u003c/code\u003e 支持 \u003ccode\u003exml\u003c/code\u003e 别名配置\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003emybatis-plus-spring-boot-native-image\u003c/code\u003e 模块支持 \u003ccode\u003egraalvm\u003c/code\u003e 编译能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 支持自动识别 \u003ccode\u003etypeHandler\u003c/code\u003e 类型处理器\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 对比 \u003ccode\u003eeqOrIsNull\u003c/code\u003e 方法\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ei18n\u003c/code\u003e 逻辑删除日期格式及自动更新填充能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eGroovy\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eKotlin\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eMybatisEnumTypeHandler\u003c/code\u003e 枚举类型处理器支持缓存处理机制\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eITableFieldMetaInfoCustomizer\u003c/code\u003e 代码生成器扩展属性元数据处理能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eSequence\u003c/code\u003e 减少增加上下文切换\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eLambdaQueryWrapper.sqlSelect\u003c/code\u003e 属性修改为 \u003ccode\u003eprotected\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003esql\u003c/code\u003e 注入性能调整为函数方式拼接减少字符串\u003ccode\u003eformat\u003c/code\u003e使用\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eCursor\u003c/code\u003e 游标查询一条记录能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eformat\u003c/code\u003e 部分修改为字符串组合\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eexecuteBatch\u003c/code\u003e 根据执行影响行数返回确定结果布尔值\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eTableInfo\u003c/code\u003e 扩展允许返回新的自定义实例对象\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eIJsonTypeHandler\u003c/code\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/baomidou/mybatis-plus/blob/3.0/CHANGELOG.md\"\u003ecom.baomidou:mybatis-plus-spring-boot3-starter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v3.5.17] 2026.07.07\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6899\u003c/code\u003e 多租户插件 \u003ccode\u003e@Many\u003c/code\u003e 注解查无效问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6938\u003c/code\u003e \u003ccode\u003eHashMap\u003c/code\u003e 设置类型转换器异常\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7081\u003c/code\u003e 解决拦截全表存在 \u003ccode\u003eschema\u003c/code\u003e 校验问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6905\u003c/code\u003e 关于 \u003ccode\u003esaveOrUpdateBatch\u003c/code\u003e 导致 \u003ccode\u003eParameterHandler\u003c/code\u003e 被重复执行问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7056\u003c/code\u003e 支持 \u003ccode\u003eGraalVM Native\u003c/code\u003e 二进制编译问题，案例 \u003ca href=\"https://gitee.com/baomidou/mybatis-plus-native-image-demo\"\u003ehttps://gitee.com/baomidou/mybatis-plus-native-image-demo\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7027\u003c/code\u003e 支持 \u003ccode\u003eJDK 9+\u003c/code\u003e 模块化包重名问题，注意 \u003ccode\u003emybatis-plus-spring\u003c/code\u003e 模块下文件包名调整\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ewrapper\u003c/code\u003e 支持 \u003ccode\u003exml\u003c/code\u003e 别名配置\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003emybatis-plus-spring-boot-native-image\u003c/code\u003e 模块支持 \u003ccode\u003egraalvm\u003c/code\u003e 编译能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 支持自动识别 \u003ccode\u003etypeHandler\u003c/code\u003e 类型处理器\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 对比 \u003ccode\u003eeqOrIsNull\u003c/code\u003e 方法\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ei18n\u003c/code\u003e 逻辑删除日期格式及自动更新填充能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eGroovy\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eKotlin\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eMybatisEnumTypeHandler\u003c/code\u003e 枚举类型处理器支持缓存处理机制\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eITableFieldMetaInfoCustomizer\u003c/code\u003e 代码生成器扩展属性元数据处理能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eSequence\u003c/code\u003e 减少增加上下文切换\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eLambdaQueryWrapper.sqlSelect\u003c/code\u003e 属性修改为 \u003ccode\u003eprotected\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003esql\u003c/code\u003e 注入性能调整为函数方式拼接减少字符串\u003ccode\u003eformat\u003c/code\u003e使用\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eCursor\u003c/code\u003e 游标查询一条记录能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eformat\u003c/code\u003e 部分修改为字符串组合\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eexecuteBatch\u003c/code\u003e 根据执行影响行数返回确定结果布尔值\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eTableInfo\u003c/code\u003e 扩展允许返回新的自定义实例对象\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eIJsonTypeHandler\u003c/code\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/baomidou/mybatis-plus/commit/db0b3c4bb58a38bad9c3d78b7269d8a477cc6a63\"\u003e\u003ccode\u003edb0b3c4\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本脚本修复\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/28b9d23dfc436144922a519e2847d634d231d9fb\"\u003e\u003ccode\u003e28b9d23\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/baomidou/mybatis-plus/issues/7141\"\u003e#7141\u003c/a\u003e from smf-h/docs-idworker-sequence-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/7fbc364bcc720071082ef084850f12fe7572dad3\"\u003e\u003ccode\u003e7fbc364\u003c/code\u003e\u003c/a\u003e docs(core): clarify IdWorker sequence configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/404950bad052846233e137d1ba43cfc1fc960cd6\"\u003e\u003ccode\u003e404950b\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/070d5ea372a2d1f56a3d251d66cfc68303cb71a5\"\u003e\u003ccode\u003e070d5ea\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/0bc2e2f744409a75094a251d5b25d91f416ba23d\"\u003e\u003ccode\u003e0bc2e2f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/baomidou/mybatis-plus/issu...\n\n_Description has been truncated_","html_url":"https://github.com/DavidHLP/UltiCode/pull/136","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavidHLP%2FUltiCode/issues/136","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/136/packages"},{"uuid":"5354393555","node_id":"PR_kwDONKilvs8AAAABCRuKwQ","number":1,"state":"closed","title":"chore(deps): bump the gradle-minor-patch group in /apps/api with 8 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-05T00:23:29.000Z","author_association":null,"state_reason":null,"created_at":"2026-09-05T00:21:24.000Z","updated_at":"2026-09-05T00:23:31.000Z","time_to_close":125,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-minor-patch","update_count":8,"packages":[{"name":"software.amazon.awssdk:s3","old_version":"2.25.16","new_version":"2.54.10"},{"name":"org.jsoup:jsoup","old_version":"1.17.2","new_version":"1.23.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"io.jsonwebtoken:jjwt-api","old_version":"0.12.5","new_version":"0.13.0","repository_url":"https://github.com/jwtk/jjwt"},{"name":"io.jsonwebtoken:jjwt-impl","old_version":"0.12.5","new_version":"0.13.0","repository_url":"https://github.com/jwtk/jjwt"},{"name":"io.jsonwebtoken:jjwt-jackson","old_version":"0.12.5","new_version":"0.13.0"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.3.0","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"io.spring.dependency-management","old_version":"1.1.4","new_version":"1.1.7","repository_url":"https://github.com/spring-gradle-plugins/dependency-management-plugin"},{"name":"com.google.protobuf","old_version":"0.9.4","new_version":"0.10.0"}],"path":"/apps/api","ecosystem":"maven"},"body":"Bumps the gradle-minor-patch group in /apps/api with 8 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| software.amazon.awssdk:s3 | `2.25.16` | `2.54.10` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.17.2` | `1.23.2` |\n| [io.jsonwebtoken:jjwt-api](https://github.com/jwtk/jjwt) | `0.12.5` | `0.13.0` |\n| [io.jsonwebtoken:jjwt-impl](https://github.com/jwtk/jjwt) | `0.12.5` | `0.13.0` |\n| io.jsonwebtoken:jjwt-jackson | `0.12.5` | `0.13.0` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.3.0` | `1.5.0` |\n| [io.spring.dependency-management](https://github.com/spring-gradle-plugins/dependency-management-plugin) | `1.1.4` | `1.1.7` |\n| com.google.protobuf | `0.9.4` | `0.10.0` |\n\nUpdates `software.amazon.awssdk:s3` from 2.25.16 to 2.54.10\n\nUpdates `org.jsoup:jsoup` from 1.17.2 to 1.23.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 1.23.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.23.2\u003c/strong\u003e is out now. This release focuses largely on bug fixes, specification correctness, and performance improvements.\u003c/p\u003e\n\u003cp\u003eIt brings closer alignment with the HTML, XML, URL, and form submission specifications; improves XML and W3C DOM conversion; and makes HTTP workloads more efficient through streamed request bodies and broader JDK \u003ccode\u003eHttpClient\u003c/code\u003e reuse.\u003c/p\u003e\n\u003cp\u003eThis version also includes new node insertion methods for \u003ccode\u003eElements\u003c/code\u003e, and DOM mutations now reject operations that would create a cycle.\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\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved consecutive \u003ccode\u003eStreamParser.selectFirst()\u003c/code\u003e calls during progressive parsing, so later matches are returned with their parsed contents when earlier selections had left them as parser lookahead. E.g., given \u003ccode\u003e\u0026lt;title\u0026gt;One\u0026lt;/title\u0026gt;\u0026lt;p id=hit\u0026gt;Full\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;Next\u0026lt;/p\u0026gt;\u003c/code\u003e, selecting \u003ccode\u003etitle\u003c/code\u003e and then \u003ccode\u003e#hit\u003c/code\u003e now advances the partial lookahead and returns \u003ccode\u003e\u0026lt;p id=\u0026quot;hit\u0026quot;\u0026gt;Full\u0026lt;/p\u0026gt;\u003c/code\u003e, rather than returning an empty \u003ccode\u003e\u0026lt;p id=\u0026quot;hit\u0026quot;\u0026gt;\u0026lt;/p\u0026gt;\u003c/code\u003e before its content is parsed. The updated readiness tracking follows StreamParser's normal emission order across implicit HTML structure and parser recovery. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2551\"\u003e#2551\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eImproved XML parser performance and memory use for documents with many nested namespace declarations by recording namespace changes within each element scope. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2556\"\u003e#2556\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eW3CDom\u003c/code\u003e conversion performance for documents with many nested namespace declarations. The W3C converter now uses the same optimized namespace tracking as the XML parser. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2559\"\u003e#2559\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eW3CDom\u003c/code\u003e XML conversion to retain processing instructions, comments outside the root element, and CDATA sections, which were previously dropped or converted to text. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2572\"\u003e#2572\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDOM mutation methods, including child insertion and replacement, now reject operations that would create a cycle, such as making a node its own child or moving an ancestor beneath a descendant. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2552\"\u003e#2552\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eElements#before(Node)\u003c/code\u003e, \u003ccode\u003eafter(Node)\u003c/code\u003e, \u003ccode\u003eprepend(Node)\u003c/code\u003e, and \u003ccode\u003eappend(Node)\u003c/code\u003e to match the existing HTML string methods. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/953\"\u003e#953\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eLarge file-backed uploads through \u003ccode\u003eConnection.requestBodyStream(InputStream)\u003c/code\u003e now stream directly with the JDK \u003ccode\u003eHttpClient\u003c/code\u003e on Java 11+, rather than being loaded fully into memory first. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2576\"\u003e#2575\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eExtended Java 11+ HTTP client reuse from requests sharing a \u003ccode\u003eJsoup.newSession()\u003c/code\u003e to ordinary \u003ccode\u003eJsoup.connect()\u003c/code\u003e calls, reducing transport thread and connection setup churn under sustained request loads. Sessions with custom authentication or SSL contexts continue to use their own client. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2584\"\u003e#2584\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAligned the XML parser stack depth and lookups to the configured maximum, which now defaults to 512 for both HTML and XML. Use \u003ccode\u003eParser#setMaxDepth(int)\u003c/code\u003e to configure. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2570\"\u003e#2570\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\u003eFixed \u003ccode\u003eW3CDom\u003c/code\u003e namespace conversion in several cases: \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2559\"\u003e#2559\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eNamespace declarations and prefixed attributes now carry the correct namespace URI, so namespace-aware DOM lookups work as expected.\u003c/li\u003e\n\u003cli\u003eAttributes added after parsing, or included through subtree conversion, now use inherited prefix declarations.\u003c/li\u003e\n\u003cli\u003eNamespace declarations now apply regardless of attribute order, and an empty declaration shadows an inherited binding only within its scope.\u003c/li\u003e\n\u003cli\u003eWith namespace awareness disabled, inherited and undeclared prefixes now receive the declarations needed for XML serialization.\u003c/li\u003e\n\u003cli\u003eValid HTML names that are not XML QNames, such as \u003ccode\u003ea:b:c\u003c/code\u003e, are normalized. Attributes that still cannot be represented are skipped, and unrepresentable elements no longer change the surrounding tree.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eW3CDom\u003c/code\u003e conversion of programmatically created or renamed elements whose names can be represented in a jsoup HTML DOM but are not valid XML names, such as \u003ccode\u003e1abc\u003c/code\u003e. These names are now normalized (e.g. \u003ccode\u003e_1abc\u003c/code\u003e) instead of causing a \u003ccode\u003eNullPointerException\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2560\"\u003e#2560\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed XML doctype serialization when a system identifier contains a double quote, which could otherwise produce invalid XML. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2571\"\u003e#2571\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eXML serialization now repairs element and attribute names that start with an invalid character, rather than outputting \u003ccode\u003enull\u003c/code\u003e elements or dropping attributes. For example, an attribute named \u003ccode\u003e1a\u003c/code\u003e is written as \u003ccode\u003e_1a\u003c/code\u003e. Additional leading underscores keep repaired attribute names unique if they conflict with another attribute. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2573\"\u003e#2573\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eSupplementary Unicode characters are now escaped correctly when serializing with non-UTF, non-ASCII output charsets such as ISO-8859-1. Previously, characters could be emitted unescaped when their low 16-bit value was representable by the configured charset, causing replacement or corruption when the output was encoded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2578\"\u003e#2578\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed the JDK \u003ccode\u003eHttpClient\u003c/code\u003e implementation to accept responses missing a \u003ccode\u003eContent-Type\u003c/code\u003e header, matching the \u003ccode\u003eHttpURLConnection\u003c/code\u003e implementation. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2549\"\u003e#2549\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed HTTP response content-type matching to handle media types case-insensitively and recognize structured \u003ccode\u003e+xml\u003c/code\u003e suffixes, including vendor-specific media types. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2550\"\u003e#2550\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eHTTP request URL normalization now percent-encodes ASCII control characters, DEL, and embedded fragment delimiters, keeping normalized URLs valid for HTTP requests while preserving existing escapes. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2585\"\u003e#2585\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eCorrected multipart form encoding to percent-escape CR and LF in field names and filenames, matching the HTML form submission specification. Multipart file content-types containing CR or LF are now rejected with a \u003ccode\u003eValidationException\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2555\"\u003e#2555\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAligned trailing comment placement with the HTML specification: comments after \u003ccode\u003e\u0026lt;/body\u0026gt;\u003c/code\u003e remain children of the \u003ccode\u003ehtml\u003c/code\u003e element, while comments after \u003ccode\u003e\u0026lt;/html\u0026gt;\u003c/code\u003e remain children of the document. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2557\"\u003e#2557\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eWhen using the optional \u003ccode\u003ere2j\u003c/code\u003e regular expression engine, memory allocation errors caused by complex selector patterns at match time are now normalized to a \u003ccode\u003eValidationException\u003c/code\u003e with a \u003ccode\u003ePattern complexity error\u003c/code\u003e message.\u003c/li\u003e\n\u003cli\u003eFixed parsing of malformed SVG and MathML content so that breakout HTML tags are placed according to the HTML specification. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2562\"\u003e#2562\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed deeply nested malformed HTML parsing that could lose the document body because stack lookups did not align to the configured maximum parser depth. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2569\"\u003e#2569\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAligned RCDATA, RAWTEXT, and script-data parsing with the HTML specification: malformed end tags no longer consume following markup, unclosed \u003ccode\u003etitle\u003c/code\u003e/\u003ccode\u003etextarea\u003c/code\u003e content stays text through EOF, and custom text tags match exact names. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2577\"\u003e#2577\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eImproved URL validation during HTTP/HTTPS URL resolution and cleaning; resolved URLs without a host are now rejected instead of being accepted based only on their scheme prefix, aligning to RFC 9110. Valid relative links and non-HTTP(S) schemes are unchanged. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2579\"\u003e#2579\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eRedirects with malformed single-slash HTTP locations now use standard URL resolution to align with browsers. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2580\"\u003e#2580\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eTemplate fragment parsing now handles unmatched \u003ccode\u003e\u0026lt;/template\u0026gt;\u003c/code\u003e tags without throwing a \u003ccode\u003eValidationException\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2581\"\u003e#2581\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eImproved source tracking for adopted formatting elements and malformed markup ending at EOF. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2582\"\u003e#2582\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\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.23.2 (2026-Aug-26)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved consecutive \u003ccode\u003eStreamParser.selectFirst(...)\u003c/code\u003e calls during progressive parsing, so later matches are returned with their parsed contents when earlier selections had left them as parser lookahead. E.g., given \u003ccode\u003e\u0026lt;title\u0026gt;One\u0026lt;/title\u0026gt;\u0026lt;p id=hit\u0026gt;Full\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;Next\u0026lt;/p\u0026gt;\u003c/code\u003e, selecting \u003ccode\u003etitle\u003c/code\u003e and then \u003ccode\u003e#hit\u003c/code\u003e now advances the partial lookahead and returns \u003ccode\u003e\u0026lt;p id=\u0026quot;hit\u0026quot;\u0026gt;Full\u0026lt;/p\u0026gt;\u003c/code\u003e, rather than returning an empty \u003ccode\u003e\u0026lt;p id=\u0026quot;hit\u0026quot;\u0026gt;\u0026lt;/p\u0026gt;\u003c/code\u003e before its content is parsed. The updated readiness tracking follows StreamParser's normal emission order across implicit HTML structure and parser recovery. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2551\"\u003e#2551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved XML parser performance and memory use for documents with many nested namespace declarations by recording namespace changes within each element scope. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2556\"\u003e#2556\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eW3CDom\u003c/code\u003e conversion performance for documents with many nested namespace declarations. The W3C converter now uses the same optimized namespace tracking as the XML parser. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2559\"\u003e#2559\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eW3CDom\u003c/code\u003e XML conversion to retain processing instructions, comments outside the root element, and CDATA sections, which were previously dropped or converted to text. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2572\"\u003e#2572\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDOM mutation methods, including child insertion and replacement, now reject operations that would create a cycle, such as making a node its own child or moving an ancestor beneath a descendant. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2552\"\u003e#2552\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eElements#before(Node)\u003c/code\u003e, \u003ccode\u003eafter(Node)\u003c/code\u003e, \u003ccode\u003eprepend(Node)\u003c/code\u003e, and \u003ccode\u003eappend(Node)\u003c/code\u003e to match the existing HTML string methods. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/953\"\u003e#953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLarge file-backed uploads through \u003ccode\u003eConnection.requestBodyStream(InputStream)\u003c/code\u003e now stream directly with the JDK \u003ccode\u003eHttpClient\u003c/code\u003e on Java 11+, rather than being loaded fully into memory first. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2576\"\u003e#2575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExtended Java 11+ HTTP client reuse from requests sharing a \u003ccode\u003eJsoup.newSession()\u003c/code\u003e to ordinary \u003ccode\u003eJsoup.connect(...)\u003c/code\u003e calls, reducing transport thread and connection setup churn under sustained request loads. Sessions with custom authentication or SSL contexts continue to use their own client. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2584\"\u003e#2584\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAligned the XML parser stack depth and lookups to the configured maximum, which now defaults to 512 for both HTML and XML. Use \u003ccode\u003eParser#setMaxDepth(int)\u003c/code\u003e to configure. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2570\"\u003e#2570\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eW3CDom\u003c/code\u003e namespace conversion in several cases: \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2559\"\u003e#2559\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNamespace declarations and prefixed attributes now carry the correct namespace URI, so namespace-aware DOM lookups work as expected.\u003c/li\u003e\n\u003cli\u003eAttributes added after parsing, or included through subtree conversion, now use inherited prefix declarations.\u003c/li\u003e\n\u003cli\u003eNamespace declarations now apply regardless of attribute order, and an empty declaration shadows an inherited binding only within its scope.\u003c/li\u003e\n\u003cli\u003eWith namespace awareness disabled, inherited and undeclared prefixes now receive the declarations needed for XML serialization.\u003c/li\u003e\n\u003cli\u003eValid HTML names that are not XML QNames, such as \u003ccode\u003ea:b:c\u003c/code\u003e, are normalized. Attributes that still cannot be represented are skipped, and unrepresentable elements no longer change the surrounding tree.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eW3CDom\u003c/code\u003e conversion of programmatically created or renamed elements whose names can be represented in a jsoup HTML DOM but are not valid XML names, such as \u003ccode\u003e1abc\u003c/code\u003e. These names are now normalized (e.g. \u003ccode\u003e_1abc\u003c/code\u003e) instead of causing a \u003ccode\u003eNullPointerException\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2560\"\u003e#2560\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed XML doctype serialization when a system identifier contains a double quote, which could otherwise produce invalid XML. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2571\"\u003e#2571\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eXML serialization now repairs element and attribute names that start with an invalid character, rather than outputting \u003ccode\u003enull\u003c/code\u003e elements or dropping attributes. For example, an attribute named \u003ccode\u003e1a\u003c/code\u003e is written as \u003ccode\u003e_1a\u003c/code\u003e. Additional leading underscores keep repaired attribute names unique if they conflict with another attribute. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2573\"\u003e#2573\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupplementary Unicode characters are now escaped correctly when serializing with non-UTF, non-ASCII output charsets such as ISO-8859-1. Previously, characters could be emitted unescaped when their low 16-bit value was representable by the configured charset, causing replacement or corruption when the output was encoded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2578\"\u003e#2578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed the JDK \u003ccode\u003eHttpClient\u003c/code\u003e implementation to accept responses missing a \u003ccode\u003eContent-Type\u003c/code\u003e header, matching the \u003ccode\u003eHttpURLConnection\u003c/code\u003e implementation. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2549\"\u003e#2549\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed HTTP response content-type matching to handle media types case-insensitively and recognize structured \u003ccode\u003e+xml\u003c/code\u003e suffixes, including vendor-specific media types. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2550\"\u003e#2550\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP request URL normalization now percent-encodes ASCII control characters, DEL, and embedded fragment delimiters, keeping normalized URLs valid for HTTP requests while preserving existing escapes. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2585\"\u003e#2585\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrected multipart form encoding to percent-escape CR and LF in field names and filenames, matching the HTML form submission specification. Multipart file content-types containing CR or LF are now rejected with a \u003ccode\u003eValidationException\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2555\"\u003e#2555\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAligned trailing comment placement with the HTML specification: comments after \u003ccode\u003e\u0026lt;/body\u0026gt;\u003c/code\u003e remain children of the \u003ccode\u003ehtml\u003c/code\u003e element, while comments after \u003ccode\u003e\u0026lt;/html\u0026gt;\u003c/code\u003e remain children of the document. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2557\"\u003e#2557\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using the optional \u003ccode\u003ere2j\u003c/code\u003e regular expression engine, memory allocation errors caused by complex selector patterns at match time are now normalized to a \u003ccode\u003eValidationException\u003c/code\u003e with a \u003ccode\u003ePattern complexity error\u003c/code\u003e message.\u003c/li\u003e\n\u003cli\u003eFixed parsing of malformed SVG and MathML content so that breakout HTML tags are placed according to the HTML specification. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2562\"\u003e#2562\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed deeply nested malformed HTML parsing that could lose the document body because stack lookups did not align to the configured maximum parser depth. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2569\"\u003e#2569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAligned RCDATA, RAWTEXT, and script-data parsing with the HTML specification: malformed end tags no longer consume following markup, unclosed \u003ccode\u003etitle\u003c/code\u003e/\u003ccode\u003etextarea\u003c/code\u003e content stays text through EOF, and custom text tags match exact names. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2577\"\u003e#2577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved URL validation during HTTP/HTTPS URL resolution and cleaning; resolved URLs without a host are now rejected instead of being accepted based only on their scheme prefix, aligning to RFC 9110. Valid relative links and non-HTTP(S) schemes are unchanged. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2579\"\u003e#2579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRedirects with malformed single-slash HTTP locations now use standard URL resolution to align with browsers. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2580\"\u003e#2580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTemplate fragment parsing now handles unmatched \u003ccode\u003e\u0026lt;/template\u0026gt;\u003c/code\u003e tags without throwing a \u003ccode\u003eValidationException\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2581\"\u003e#2581\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved source tracking for adopted formatting elements and malformed markup ending at EOF. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2582\"\u003e#2582\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.23.1 (2026-Jul-30)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduced retained memory when parsing with source position tracking enabled (\u003ccode\u003eParser#setTrackPosition(true)\u003c/code\u003e). Source ranges are now stored in compact parser-owned span records instead of node and attribute user data, and \u003ccode\u003ePosition\u003c/code\u003e objects are created lazily when source ranges are read. This cuts tracked DOM retained size by about 50-60% on representative benchmark documents, while keeping \u003ccode\u003eNode#sourceRange()\u003c/code\u003e, \u003ccode\u003eElement#endSourceRange()\u003c/code\u003e, and \u003ccode\u003eAttribute#sourceRange()\u003c/code\u003e behavior intact. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2498\"\u003e#2498\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eElement#classList()\u003c/code\u003e, an immutable snapshot of an element's class names in attribute order. Use \u003ccode\u003ehasClass()\u003c/code\u003e when you just need to test for one class, \u003ccode\u003eclassList()\u003c/code\u003e when you want to read or iterate classes without needing a mutable result, and \u003ccode\u003eclassNames()\u003c/code\u003e when you want the existing mutable, deduplicated set that can be written back with \u003ccode\u003eclassNames(Set)\u003c/code\u003e. The class APIs now share an HTML-whitespace scanner, which also makes \u003ccode\u003eclassNames()\u003c/code\u003e faster and lighter on allocation, especially when walking many elements without class names. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2500\"\u003e#2500\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAligned HTML parser scope classification with the current HTML spec for \u003ccode\u003eselect\u003c/code\u003e, \u003ccode\u003eforeignObject\u003c/code\u003e, and \u003ccode\u003etemplate\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2501\"\u003e#2501\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSimplified the HTML tree builder's scope, implied-end-tag, and special-element checks by caching parser-only options on Tag. That improves HTML parser throughput by about 10% on small inputs and up to about 30% on larger inputs in the benchmark fixtures. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2502\"\u003e#2502\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved HTML parser throughput stability by making hot tokeniser scan paths compile more predictably. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2507\"\u003e#2507\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e fallback markup is now parsed into an inspectable DOM subtree in both the document head and body. The fallback acts as a contained parsing island, so malformed markup cannot disrupt the surrounding document structure, while normal HTML tokenization still applies within it. This also improves round-trip serialization. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2537\"\u003e#2537\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved redirect credential handling as a defense-in-depth measure: explicit authorization headers and request cookies are no longer forwarded across origins, reducing exposure through open redirects and aligning with HTTP guidance. Cookies managed by a \u003ccode\u003eCookieStore\u003c/code\u003e continue to follow their configured scope. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2540\"\u003e#2540\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/fbc7775c462f5b023d8db54c9a73d7ec17d53300\"\u003e\u003ccode\u003efbc7775\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.23.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/133ebde65afda061ea12818e1e65a53f5d822ea4\"\u003e\u003ccode\u003e133ebde\u003c/code\u003e\u003c/a\u003e Release 1.23.2 notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/be2a74a1f6b3ad9cf2d3aeaac3f68b6c39929bc5\"\u003e\u003ccode\u003ebe2a74a\u003c/code\u003e\u003c/a\u003e Encode control chars during request URL normalization (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2585\"\u003e#2585\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/868f2eb1e6c9a2b826cd56f92b336fdbd616b241\"\u003e\u003ccode\u003e868f2eb\u003c/code\u003e\u003c/a\u003e Java 11 HTTP client reuse covers ordinary connections (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2584\"\u003e#2584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/19c758e2e4abc6a1f52193ceab09c22a7c010f8b\"\u003e\u003ccode\u003e19c758e\u003c/code\u003e\u003c/a\u003e Get Animal Sniffer to run over test code as well.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/17bb839aa5aa1519c729d78656d18adefee730cf\"\u003e\u003ccode\u003e17bb839\u003c/code\u003e\u003c/a\u003e Fix source tracking through HTML repair and malformed EOF (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2582\"\u003e#2582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cad054a61f3ae241a741b6658c50d6f962dfd43c\"\u003e\u003ccode\u003ecad054a\u003c/code\u003e\u003c/a\u003e Template stack checks need to exclude the fragment context (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2581\"\u003e#2581\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/46b620860af930eedc193a705eaf7cea5aec89a6\"\u003e\u003ccode\u003e46b6208\u003c/code\u003e\u003c/a\u003e Paranoimia\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/66be2da4e2bd7a207700a4cc9c867d15ae74a587\"\u003e\u003ccode\u003e66be2da\u003c/code\u003e\u003c/a\u003e HTTP redirects use standard URL resolution for single-slash locations (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2580\"\u003e#2580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/b035b623d3d1d0c50d84056d2946ba1a90f7f665\"\u003e\u003ccode\u003eb035b62\u003c/code\u003e\u003c/a\u003e Make hostless HTTP(S) URLs fail resolution and cleaning (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2579\"\u003e#2579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.17.2...jsoup-1.23.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.jsonwebtoken:jjwt-api` from 0.12.5 to 0.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jwtk/jjwt/releases\"\u003eio.jsonwebtoken:jjwt-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.13.0\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eThis is the last minor JJWT release branch that will support Java 7\u003c/strong\u003e.\u003c/p\u003e\n\u003cp\u003eAny necessary emergency bug fixes will be fixed in subsequent \u003ccode\u003e0.13.x\u003c/code\u003e patch releases, but all new development, including \u003ca href=\"https://github.com/jwtk/jjwt/issues?q=is%3Aissue%20label%3Ajdk8\"\u003eJava 8 compatible changes\u003c/a\u003e, will be in the next minor (\u003ccode\u003e0.14.0\u003c/code\u003e) release.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAll future JJWT major and minor versions (  \u003ccode\u003e0.14.0\u003c/code\u003e and later) will require Java 8 or later.\u003c/strong\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eThis release contains a single change:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe previously private \u003ccode\u003eJacksonDeserializer(ObjectMapper objectMapper, Map\u0026lt;String, Class\u0026lt;?\u0026gt;\u0026gt; claimTypeMap)\u003c/code\u003e constructor is now \u003ccode\u003epublic\u003c/code\u003e for those that want register a claims  type converter on their own specified \u003ccode\u003eObjectMapper\u003c/code\u003e instance. Thank you to \u003ca href=\"https://github.com/kesrishubham2510\"\u003e\u003ccode\u003e@​kesrishubham2510\u003c/code\u003e\u003c/a\u003e for PR \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/972\"\u003e#972\u003c/a\u003e. See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/914\"\u003eIssue 914\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jwtk/jjwt/compare/0.12.7...0.13.0\"\u003ehttps://github.com/jwtk/jjwt/compare/0.12.7...0.13.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.12.7\u003c/h2\u003e\n\u003cp\u003eThis patch release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdds a new Maven BOM! This is useful for multi-module projects. See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/967\"\u003eIssue 967\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllows the \u003ccode\u003eJwtParserBuilder\u003c/code\u003e to have empty nested algorithm collections, effectively disabling the parser's associated feature:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEmptying the \u003ccode\u003ezip()\u003c/code\u003e nested collection disables JWT decompression.\u003c/li\u003e\n\u003cli\u003eEmptying the \u003ccode\u003esig()\u003c/code\u003e nested collection disables JWS mac/signature verification (i.e. all JWSs will be unsupported/rejected).\u003c/li\u003e\n\u003cli\u003eEmptying either the \u003ccode\u003eenc()\u003c/code\u003e or \u003ccode\u003ekey()\u003c/code\u003e nested collections disables JWE decryption (i.e. all JWEs will be unsupported/rejected)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/996\"\u003eIssue 996\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/961\"\u003ebug 961\u003c/a\u003e where \u003ccode\u003eJwtParserBuilder\u003c/code\u003e nested collection builders were not correctly replacing algorithms with the same id.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsures a \u003ccode\u003eJwkSet\u003c/code\u003e's \u003ccode\u003ekeys\u003c/code\u003e collection is no longer entirely secret/redacted by default.  This was an overzealous default that was unnecessarily restrictive; the \u003ccode\u003ekeys\u003c/code\u003e collection itself should always be public, and each individual key within should determine which fields should be redacted when printed. See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/976\"\u003eIssue 976\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImproves performance slightly by ensuring all \u003ccode\u003ejjwt-api\u003c/code\u003e utility methods that create \u003ccode\u003e*Builder\u003c/code\u003e instances (\u003ccode\u003eJwts.builder()\u003c/code\u003e, \u003ccode\u003eJwts.parserBuilder()\u003c/code\u003e, \u003ccode\u003eJwks.builder()\u003c/code\u003e, etc) no longer use reflection.\u003c/p\u003e\n\u003cp\u003eInstead,\u003ccode\u003estatic\u003c/code\u003e factories are created via reflection only once during initial \u003ccode\u003ejjwt-api\u003c/code\u003e classloading, and then \u003ccode\u003e*Builder\u003c/code\u003es are created via standard instantiation using the \u003ccode\u003enew\u003c/code\u003e operator thereafter.  This also benefits certain environments that may not have ideal \u003ccode\u003eClassLoader\u003c/code\u003e implementations (e.g. Tomcat in some cases).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNOTE: because this changes which classes are loaded via reflection, any environments that must explicitly reference reflective class names (e.g. GraalVM applications) will need to be updated to reflect the new factory class names\u003c/strong\u003e.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/988\"\u003eIssue 988\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrades the Gson dependency to \u003ccode\u003e2.11.0\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrades the BouncyCastle dependency to \u003ccode\u003e1.78.1\u003c/code\u003e\u003c/p\u003e\n\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/sigpwned\"\u003e\u003ccode\u003e@​sigpwned\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jwtk/jjwt/pull/968\"\u003ejwtk/jjwt#968\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TheMrMilchmann\"\u003e\u003ccode\u003e@​TheMrMilchmann\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jwtk/jjwt/pull/979\"\u003ejwtk/jjwt#979\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/atanasg\"\u003e\u003ccode\u003e@​atanasg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jwtk/jjwt/pull/974\"\u003ejwtk/jjwt#974\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jwtk/jjwt/compare/0.12.6...0.12.7\"\u003ehttps://github.com/jwtk/jjwt/compare/0.12.6...0.12.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.12.6\u003c/h2\u003e\n\u003cp\u003eThis patch release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnsures that after successful JWS signature verification, an application-configured Base64Url \u003ccode\u003eDecoder\u003c/code\u003e output is\nused to construct a \u003ccode\u003eJws\u003c/code\u003e instance (instead of JJWT's default decoder). See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/947\"\u003ejwtk/jjwt#947\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jwtk/jjwt/blob/main/CHANGELOG.md\"\u003eio.jsonwebtoken:jjwt-api's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e0.13.0\u003c/h3\u003e\n\u003cp\u003eThis is the last minor JJWT release branch that will support Java 7. Any necessary emergency bug fixes will be fixed in subsequent \u003ccode\u003e0.13.x\u003c/code\u003e patch releases, but all new development, including Java 8 compatible changes, will be in the next minor (\u003ccode\u003e0.14.0\u003c/code\u003e) release.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAll future JJWT major and minor versions (  \u003ccode\u003e0.14.0\u003c/code\u003e and later) will require Java 8 or later.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThis \u003ccode\u003e0.13.0\u003c/code\u003e minor release has only one change:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe previously private \u003ccode\u003eJacksonDeserializer(ObjectMapper objectMapper, Map\u0026lt;String, Class\u0026lt;?\u0026gt;\u0026gt; claimTypeMap)\u003c/code\u003e constructor is now \u003ccode\u003epublic\u003c/code\u003e for those that want register a claims\ntype converter on their own specified \u003ccode\u003eObjectMapper\u003c/code\u003e instance.  See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/914\"\u003eIssue 914\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e0.12.7\u003c/h3\u003e\n\u003cp\u003eThis patch release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdds a new Maven BOM, useful for multi-module projects. See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/967\"\u003eIssue 967\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllows the \u003ccode\u003eJwtParserBuilder\u003c/code\u003e to have empty nested algorithm collections, effectively disabling the parser's associated feature:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEmptying the \u003ccode\u003ezip()\u003c/code\u003e nested collection disables JWT decompression.\u003c/li\u003e\n\u003cli\u003eEmptying the \u003ccode\u003esig()\u003c/code\u003e nested collection disables JWS mac/signature verification (i.e. all JWSs will be unsupported/rejected).\u003c/li\u003e\n\u003cli\u003eEmptying either the \u003ccode\u003eenc()\u003c/code\u003e or \u003ccode\u003ekey()\u003c/code\u003e nested collections disables JWE decryption (i.e. all JWEs will be unsupported/rejected)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/996\"\u003eIssue 996\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/961\"\u003ebug 961\u003c/a\u003e where \u003ccode\u003eJwtParserBuilder\u003c/code\u003e nested collection builders were not correctly replacing algorithms with the same id.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsures a \u003ccode\u003eJwkSet\u003c/code\u003e's \u003ccode\u003ekeys\u003c/code\u003e collection is no longer entirely secret/redacted by default.  This was an overzealous default that was unnecessarily restrictive; the \u003ccode\u003ekeys\u003c/code\u003e collection itself should always be public, and each individual key within should determine which fields should be redacted when printed. See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/976\"\u003eIssue 976\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImproves performance slightly by ensuring all \u003ccode\u003ejjwt-api\u003c/code\u003e utility methods that create \u003ccode\u003e*Builder\u003c/code\u003e instances (\u003ccode\u003eJwts.builder()\u003c/code\u003e, \u003ccode\u003eJwts.parserBuilder()\u003c/code\u003e, \u003ccode\u003eJwks.builder()\u003c/code\u003e, etc) no longer use reflection.\u003c/p\u003e\n\u003cp\u003eInstead,\u003ccode\u003estatic\u003c/code\u003e factories are created via reflection only once during initial \u003ccode\u003ejjwt-api\u003c/code\u003e classloading, and then \u003ccode\u003e*Builder\u003c/code\u003es are created via standard instantiation using the \u003ccode\u003enew\u003c/code\u003e operator thereafter.  This also benefits certain environments that may not have ideal \u003ccode\u003eClassLoader\u003c/code\u003e implementations (e.g. Tomcat in some cases).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNOTE: because this changes which classes are loaded via reflection, any environments that must explicitly reference reflective class names (e.g. GraalVM applications) will need to be updated to reflect the new factory class names\u003c/strong\u003e.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/988\"\u003eIssue 988\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrades the Gson dependency to \u003ccode\u003e2.11.0\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrades the BouncyCastle dependency to \u003ccode\u003e1.78.1\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e0.12.6\u003c/h3\u003e\n\u003cp\u003eThis patch release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnsures that after successful JWS signature verification, an application-configured Base64Url \u003ccode\u003eDecoder\u003c/code\u003e output is\nused to construct a \u003ccode\u003eJws\u003c/code\u003e instance (instead of JJWT's default decoder). See\n\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/947\"\u003eIssue 947\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFixes a decompression memory leak in concurrent/multi-threaded environments introduced in 0.12.0 when decompressing JWTs with a \u003ccode\u003ezip\u003c/code\u003e header of \u003ccode\u003eGZIP\u003c/code\u003e. See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/949\"\u003eIssue 949\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eUpgrades BouncyCastle to 1.78 via \u003ca href=\"https://redirect.github.com/jwtk/jjwt/pull/941\"\u003ePR 941\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnsures that a \u003ccode\u003eJwkSet\u003c/code\u003e's \u003ccode\u003ekeys\u003c/code\u003e list member is no longer considered secret and is not redacted by default. However, each individual JWK element within the \u003ccode\u003ekeys\u003c/code\u003e list may still have \u003ca href=\"https://github.com/jwtk/jjwt?tab=readme-ov-file#jwk-tostring-safety\"\u003eredacted private or secret members\u003c/a\u003e as expected. See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/976\"\u003eIssue 976\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/jwtk/jjwt/commit/a757addce04f6b6d8086beeee8dafcf670550a5b\"\u003e\u003ccode\u003ea757add\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release 0.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/e357463c59cf62c1f70503ac0102d10efcdfc37d\"\u003e\u003ccode\u003ee357463\u003c/code\u003e\u003c/a\u003e Preparing for the 0.13.0 release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/b6f8cb82a9c2e9817d842bfe72d2c8fb03124342\"\u003e\u003ccode\u003eb6f8cb8\u003c/code\u003e\u003c/a\u003e Made constructor public to allow users their own objectMapper instance (\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/03f088a4eb774bae2403c428aa885a12d3afde14\"\u003e\u003ccode\u003e03f088a\u003c/code\u003e\u003c/a\u003e Bumping development version to 0.13.0-SNAPSHOT (\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/1014\"\u003e#1014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/3f2697f854bedebe63e9eddb8c596f76086d11ca\"\u003e\u003ccode\u003e3f2697f\u003c/code\u003e\u003c/a\u003e Release 0.12.7 (\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/1012\"\u003e#1012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/efed1cf56f9b9715e60eaac7fda6b2c4b62410b9\"\u003e\u003ccode\u003eefed1cf\u003c/code\u003e\u003c/a\u003e Updated 0.12.7 change list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/ca27b122b7f44f3bdd4cd4f636d084f38cc3b3c8\"\u003e\u003ccode\u003eca27b12\u003c/code\u003e\u003c/a\u003e Resolves \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/1010\"\u003e#1010\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/1011\"\u003e#1011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/55c7b9adef88328f59534f232060830c34f25478\"\u003e\u003ccode\u003e55c7b9a\u003c/code\u003e\u003c/a\u003e Resolves \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/771\"\u003e#771\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/1009\"\u003e#1009\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/6e9c6a5a825c5ec38f90006f48cc1f8640a6d82e\"\u003e\u003ccode\u003e6e9c6a5\u003c/code\u003e\u003c/a\u003e Bump org.bouncycastle:bcpkix-jdk18on from 1.78 to 1.78.1 (\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/1008\"\u003e#1008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/7ec7dd1a19a38a1829903f88b9512697bfb7be3c\"\u003e\u003ccode\u003e7ec7dd1\u003c/code\u003e\u003c/a\u003e Enable JwtParser empty nested algorithm collections. (\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/1007\"\u003e#1007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jwtk/jjwt/compare/0.12.5...0.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.jsonwebtoken:jjwt-impl` from 0.12.5 to 0.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jwtk/jjwt/releases\"\u003eio.jsonwebtoken:jjwt-impl's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.13.0\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eThis is the last minor JJWT release branch that will support Java 7\u003c/strong\u003e.\u003c/p\u003e\n\u003cp\u003eAny necessary emergency bug fixes will be fixed in subsequent \u003ccode\u003e0.13.x\u003c/code\u003e patch releases, but all new development, including \u003ca href=\"https://github.com/jwtk/jjwt/issues?q=is%3Aissue%20label%3Ajdk8\"\u003eJava 8 compatible changes\u003c/a\u003e, will be in the next minor (\u003ccode\u003e0.14.0\u003c/code\u003e) release.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAll future JJWT major and minor versions (  \u003ccode\u003e0.14.0\u003c/code\u003e and later) will require Java 8 or later.\u003c/strong\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eThis release contains a single change:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe previously private \u003ccode\u003eJacksonDeserializer(ObjectMapper objectMapper, Map\u0026lt;String, Class\u0026lt;?\u0026gt;\u0026gt; claimTypeMap)\u003c/code\u003e constructor is now \u003ccode\u003epublic\u003c/code\u003e for those that want register a claims  type converter on their own specified \u003ccode\u003eObjectMapper\u003c/code\u003e instance. Thank you to \u003ca href=\"https://github.com/kesrishubham2510\"\u003e\u003ccode\u003e@​kesrishubham2510\u003c/code\u003e\u003c/a\u003e for PR \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/972\"\u003e#972\u003c/a\u003e. See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/914\"\u003eIssue 914\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jwtk/jjwt/compare/0.12.7...0.13.0\"\u003ehttps://github.com/jwtk/jjwt/compare/0.12.7...0.13.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.12.7\u003c/h2\u003e\n\u003cp\u003eThis patch release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdds a new Maven BOM! This is useful for multi-module projects. See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/967\"\u003eIssue 967\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllows the \u003ccode\u003eJwtParserBuilder\u003c/code\u003e to have empty nested algorithm collections, effectively disabling the parser's associated feature:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEmptying the \u003ccode\u003ezip()\u003c/code\u003e nested collection disables JWT decompression.\u003c/li\u003e\n\u003cli\u003eEmptying the \u003ccode\u003esig()\u003c/code\u003e nested collection disables JWS mac/signature verification (i.e. all JWSs will be unsupported/rejected).\u003c/li\u003e\n\u003cli\u003eEmptying either the \u003ccode\u003eenc()\u003c/code\u003e or \u003ccode\u003ekey()\u003c/code\u003e nested collections disables JWE decryption (i.e. all JWEs will be unsupported/rejected)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/996\"\u003eIssue 996\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/961\"\u003ebug 961\u003c/a\u003e where \u003ccode\u003eJwtParserBuilder\u003c/code\u003e nested collection builders were not correctly replacing algorithms with the same id.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsures a \u003ccode\u003eJwkSet\u003c/code\u003e's \u003ccode\u003ekeys\u003c/code\u003e collection is no longer entirely secret/redacted by default.  This was an overzealous default that was unnecessarily restrictive; the \u003ccode\u003ekeys\u003c/code\u003e collection itself should always be public, and each individual key within should determine which fields should be redacted when printed. See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/976\"\u003eIssue 976\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImproves performance slightly by ensuring all \u003ccode\u003ejjwt-api\u003c/code\u003e utility methods that create \u003ccode\u003e*Builder\u003c/code\u003e instances (\u003ccode\u003eJwts.builder()\u003c/code\u003e, \u003ccode\u003eJwts.parserBuilder()\u003c/code\u003e, \u003ccode\u003eJwks.builder()\u003c/code\u003e, etc) no longer use reflection.\u003c/p\u003e\n\u003cp\u003eInstead,\u003ccode\u003estatic\u003c/code\u003e factories are created via reflection only once during initial \u003ccode\u003ejjwt-api\u003c/code\u003e classloading, and then \u003ccode\u003e*Builder\u003c/code\u003es are created via standard instantiation using the \u003ccode\u003enew\u003c/code\u003e operator thereafter.  This also benefits certain environments that may not have ideal \u003ccode\u003eClassLoader\u003c/code\u003e implementations (e.g. Tomcat in some cases).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNOTE: because this changes which classes are loaded via reflection, any environments that must explicitly reference reflective class names (e.g. GraalVM applications) will need to be updated to reflect the new factory class names\u003c/strong\u003e.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/988\"\u003eIssue 988\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrades the Gson dependency to \u003ccode\u003e2.11.0\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrades the BouncyCastle dependency to \u003ccode\u003e1.78.1\u003c/code\u003e\u003c/p\u003e\n\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/sigpwned\"\u003e\u003ccode\u003e@​sigpwned\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jwtk/jjwt/pull/968\"\u003ejwtk/jjwt#968\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TheMrMilchmann\"\u003e\u003ccode\u003e@​TheMrMilchmann\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jwtk/jjwt/pull/979\"\u003ejwtk/jjwt#979\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/atanasg\"\u003e\u003ccode\u003e@​atanasg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jwtk/jjwt/pull/974\"\u003ejwtk/jjwt#974\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jwtk/jjwt/compare/0.12.6...0.12.7\"\u003ehttps://github.com/jwtk/jjwt/compare/0.12.6...0.12.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.12.6\u003c/h2\u003e\n\u003cp\u003eThis patch release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnsures that after successful JWS signature verification, an application-configured Base64Url \u003ccode\u003eDecoder\u003c/code\u003e output is\nused to construct a \u003ccode\u003eJws\u003c/code\u003e instance (instead of JJWT's default decoder). See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/947\"\u003ejwtk/jjwt#947\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jwtk/jjwt/blob/main/CHANGELOG.md\"\u003eio.jsonwebtoken:jjwt-impl's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e0.13.0\u003c/h3\u003e\n\u003cp\u003eThis is the last minor JJWT release branch that will support Java 7. Any necessary emergency bug fixes will be fixed in subsequent \u003ccode\u003e0.13.x\u003c/code\u003e patch releases, but all new development, including Java 8 compatible changes, will be in the next minor (\u003ccode\u003e0.14.0\u003c/code\u003e) release.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAll future JJWT major and minor versions (  \u003ccode\u003e0.14.0\u003c/code\u003e and later) will require Java 8 or later.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThis \u003ccode\u003e0.13.0\u003c/code\u003e minor release has only one change:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe previously private \u003ccode\u003eJacksonDeserializer(ObjectMapper objectMapper, Map\u0026lt;String, Class\u0026lt;?\u0026gt;\u0026gt; claimTypeMap)\u003c/code\u003e constructor is now \u003ccode\u003epublic\u003c/code\u003e for those that want register a claims\ntype converter on their own specified \u003ccode\u003eObjectMapper\u003c/code\u003e instance.  See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/914\"\u003eIssue 914\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e0.12.7\u003c/h3\u003e\n\u003cp\u003eThis patch release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdds a new Maven BOM, useful for multi-module projects. See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/967\"\u003eIssue 967\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllows the \u003ccode\u003eJwtParserBuilder\u003c/code\u003e to have empty nested algorithm collections, effectively disabling the parser's associated feature:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEmptying the \u003ccode\u003ezip()\u003c/code\u003e nested collection disables JWT decompression.\u003c/li\u003e\n\u003cli\u003eEmptying the \u003ccode\u003esig()\u003c/code\u003e nested collection disables JWS mac/signature verification (i.e. all JWSs will be unsupported/rejected).\u003c/li\u003e\n\u003cli\u003eEmptying either the \u003ccode\u003eenc()\u003c/code\u003e or \u003ccode\u003ekey()\u003c/code\u003e nested collections disables JWE decryption (i.e. all JWEs will be unsupported/rejected)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/996\"\u003eIssue 996\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/961\"\u003ebug 961\u003c/a\u003e where \u003ccode\u003eJwtParserBuilder\u003c/code\u003e nested collection builders were not correctly replacing algorithms with the same id.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsures a \u003ccode\u003eJwkSet\u003c/code\u003e's \u003ccode\u003ekeys\u003c/code\u003e collection is no longer entirely secret/redacted by default.  This was an overzealous default that was unnecessarily restrictive; the \u003ccode\u003ekeys\u003c/code\u003e collection itself should always be public, and each individual key within should determine which fields should be redacted when printed. See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/976\"\u003eIssue 976\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImproves performance slightly by ensuring all \u003ccode\u003ejjwt-api\u003c/code\u003e utility methods that create \u003ccode\u003e*Builder\u003c/code\u003e instances (\u003ccode\u003eJwts.builder()\u003c/code\u003e, \u003ccode\u003eJwts.parserBuilder()\u003c/code\u003e, \u003ccode\u003eJwks.builder()\u003c/code\u003e, etc) no longer use reflection.\u003c/p\u003e\n\u003cp\u003eInstead,\u003ccode\u003estatic\u003c/code\u003e factories are created via reflection only once during initial \u003ccode\u003ejjwt-api\u003c/code\u003e classloading, and then \u003ccode\u003e*Builder\u003c/code\u003es are created via standard instantiation using the \u003ccode\u003enew\u003c/code\u003e operator thereafter.  This also benefits certain environments that may not have ideal \u003ccode\u003eClassLoader\u003c/code\u003e implementations (e.g. Tomcat in some cases).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNOTE: because this changes which classes are loaded via reflection, any environments that must explicitly reference reflective class names (e.g. GraalVM applications) will need to be updated to reflect the new factory class names\u003c/strong\u003e.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/988\"\u003eIssue 988\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrades the Gson dependency to \u003ccode\u003e2.11.0\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrades the BouncyCastle dependency to \u003ccode\u003e1.78.1\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e0.12.6\u003c/h3\u003e\n\u003cp\u003eThis patch release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnsures that after successful JWS signature verification, an application-configured Base64Url \u003ccode\u003eDecoder\u003c/code\u003e output is\nused to construct a \u003ccode\u003eJws\u003c/code\u003e instance (instead of JJWT's default decoder). See\n\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/947\"\u003eIssue 947\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFixes a decompression memory leak in concurrent/multi-threaded environments introduced in 0.12.0 when decompressing JWTs with a \u003ccode\u003ezip\u003c/code\u003e header of \u003ccode\u003eGZIP\u003c/code\u003e. See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/949\"\u003eIssue 949\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eUpgrades BouncyCastle to 1.78 via \u003ca href=\"https://redirect.github.com/jwtk/jjwt/pull/941\"\u003ePR 941\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnsures that a \u003ccode\u003eJwkSet\u003c/code\u003e's \u003ccode\u003ekeys\u003c/code\u003e list member is no longer considered secret and is not redacted by default. However, each individual JWK element within the \u003ccode\u003ekeys\u003c/code\u003e list may still have \u003ca href=\"https://github.com/jwtk/jjwt?tab=readme-ov-file#jwk-tostring-safety\"\u003eredacted private or secret members\u003c/a\u003e as expected. See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/976\"\u003eIssue 976\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/jwtk/jjwt/commit/a757addce04f6b6d8086beeee8dafcf670550a5b\"\u003e\u003ccode\u003ea757add\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release 0.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/e357463c59cf62c1f70503ac0102d10efcdfc37d\"\u003e\u003ccode\u003ee357463\u003c/code\u003e\u003c/a\u003e Preparing for the 0.13.0 release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/b6f8cb82a9c2e9817d842bfe72d2c8fb03124342\"\u003e\u003ccode\u003eb6f8cb8\u003c/code\u003e\u003c/a\u003e Made constructor public to allow users their own objectMapper instance (\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/03f088a4eb774bae2403c428aa885a12d3afde14\"\u003e\u003ccode\u003e03f088a\u003c/code\u003e\u003c/a\u003e Bumping development version to 0.13.0-SNAPSHOT (\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/1014\"\u003e#1014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/3f2697f854bedebe63e9eddb8c596f76086d11ca\"\u003e\u003ccode\u003e3f2697f\u003c/code\u003e\u003c/a\u003e Release 0.12.7 (\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/1012\"\u003e#1012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/efed1cf56f9b9715e60eaac7fda6b2c4b62410b9\"\u003e\u003ccode\u003eefed1cf\u003c/code\u003e\u003c/a\u003e Updated 0.12.7 change list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/ca27b122b7f44f3bdd4cd4f636d084f38cc3b3c8\"\u003e\u003ccode\u003eca27b12\u003c/code\u003e\u003c/a\u003e Resolves \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/1010\"\u003e#1010\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/1011\"\u003e#1011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/55c7b9adef88328f59534f232060830c34f25478\"\u003e\u003ccode\u003e55c7b9a\u003c/code\u003e\u003c/a\u003e Resolves \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/771\"\u003e#771\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/1009\"\u003e#1009\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/6e9c6a5a825c5ec38f90006f48cc1f8640a6d82e\"\u003e\u003ccode\u003e6e9c6a5\u003c/code\u003e\u003c/a\u003e Bump org.bouncycastle:bcpkix-jdk18on from 1.78 to 1.78.1 (\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/1008\"\u003e#1008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/7ec7dd1a19a38a1829903f88b9512697bfb7be3c\"\u003e\u003ccode\u003e7ec7dd1\u003c/code\u003e\u003c/a\u003e Enable JwtParser empty nested algorithm collections. (\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/1007\"\u003e#1007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jwtk/jjwt/compare/0.12.5...0.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.jsonwebtoken:jjwt-jackson` from 0.12.5 to 0.13.0\n\nUpdates `com.tngtech.archunit:archunit-junit5` from 1.3.0 to 1.5.0\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.5.0\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 27 / class file major version 71 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1618\"\u003e#1618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove descriptions of \u003ccode\u003eJavaAccess.Predicates.originOwner\u003c/code\u003e and \u003ccode\u003eJavaAccess.Predicates.targetOwner\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1603\"\u003e#1603\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eExpose information on sealed classes via \u003ccode\u003eJavaClass\u003c/code\u003e: \u003ccode\u003eisSealed()\u003c/code\u003e and \u003ccode\u003egetPermittedSubclasses()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/bannmann\"\u003e\u003ccode\u003e@​bannmann\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eImportOption.DoNotIncludeTests\u003c/code\u003e and \u003ccode\u003eOnlyIncludeTests\u003c/code\u003e consider tests in custom Gradle source sets (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/Develop-KIM\"\u003e\u003ccode\u003e@​Develop-KIM\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLang\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchConditions\u003c/code\u003e offers new \u003ccode\u003eArchCondition\u0026lt;JavaClass\u0026gt; haveAnyDependenciesThat(DescribedPredicate\u0026lt;Dependency\u0026gt;)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1580\"\u003e#1580\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/wakingrufus\"\u003e\u003ccode\u003e@​wakingrufus\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchitectureMetrics.lakosMetrics\u003c/code\u003e is computed much more performantly (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1629\"\u003e#1629\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/ThanosTsiamis\"\u003e\u003ccode\u003e@​ThanosTsiamis\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTextFileBasedViolationStore\u003c/code\u003e is now thread-safe under parallel test execution (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1656\"\u003e#1656\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/kelunik\"\u003e\u003ccode\u003e@​kelunik\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eModuleDependency\u003c/code\u003e now provides stable descriptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1648\"\u003e#1648\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/DragonFSKY\"\u003e\u003ccode\u003e@​DragonFSKY\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eJUnit\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003earchunit-junit6\u003c/code\u003e supports ArchUnit with JUnit 6 (\u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1556\"\u003e#1556\u003c/a\u003e\u003c/del\u003e, \u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1658\"\u003e#1658\u003c/a\u003e\u003c/del\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1659\"\u003e#1659\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnalyzeClasses\u003c/code\u003e supports individual classes (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1569\"\u003e#1569\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003ePreparation:\u003c/em\u003e \u003ccode\u003earchunit-junit:0.9.0\u003c/code\u003e (which was renamed with \u003ca href=\"https://github.com/TNG/ArchUnit/releases/tag/v0.9.0\"\u003eArchUnit 0.9.0\u003c/a\u003e) now relocates to \u003ccode\u003earchunit-junit4:0.9.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1673\"\u003e#1673\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋) – will be published after \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1684\"\u003e#1684\u003c/a\u003e 🙈\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocument \u003ccode\u003ePriority\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1671\"\u003e#1671\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eDocument Package Identifiers in User Guide (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1672\"\u003e#1672\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eInternal Improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eText files now use UNIX line breaks (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1602\"\u003e#1602\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1611\"\u003e#1611\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eUpdate Gradle from 8 to 9; build \u0026amp; test with JDK 25 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1550\"\u003e#1550\u003c/a\u003e, and also \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1612\"\u003e#1612\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1619\"\u003e#1619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSeparate integration tests by JUnit version (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1636\"\u003e#1636\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003ejunit-dataprovider\u003c/code\u003e with \u003ccode\u003ejunit-jupiter-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1655\"\u003e#1655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eArchUnit releases now update Maven examples (and Gradle wrapper) of \u003ca href=\"https://github.com/TNG/ArchUnit-Examples\"\u003eArchUnit-Examples\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid managing hamcrest dependency (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1467\"\u003e#1467\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\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\u003ch2\u003eArchUnit 1.4.1\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 25 / class file major version 69 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1440\"\u003e#1440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\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/TNG/ArchUnit/commit/502d782bfbf2632a2c9f943a502ddd8cc3e3c46d\"\u003e\u003ccode\u003e502d782\u003c/code\u003e\u003c/a\u003e prepare release 1.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/4f26fccd784d37f469e743950f8e0a3ff686d64b\"\u003e\u003ccode\u003e4f26fcc\u003c/code\u003e\u003c/a\u003e fix testRelease exec() and task registration for Gradle 9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/96af98457c924289ecff834737eebd8a55bddda6\"\u003e\u003ccode\u003e96af984\u003c/code\u003e\u003c/a\u003e add new developers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/e427828fcb9b09117cd0e59a471314218f8331d5\"\u003e\u003ccode\u003ee427828\u003c/code\u003e\u003c/a\u003e consolidate POM checks during CI and release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a30f6e3465ed3cb0868607debf80bf83e741b5f0\"\u003e\u003ccode\u003ea30f6e3\u003c/code\u003e\u003c/a\u003e Bump gradle/actions from 6 to 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a036c08707c50e6f7091754e63389f5bd2aaec64\"\u003e\u003ccode\u003ea036c08\u003c/code\u003e\u003c/a\u003e Bump com.github.ben-manes.versions from 0.57.0 to 0.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/24a9d9e10d4bb5ba5c5678d36810ef2397470163\"\u003e\u003ccode\u003e24a9d9e\u003c/code\u003e\u003c/a\u003e Bump actions/setup-java from 5.6.0 to 5.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/9944244c116f2724ac5bc1d02c73ca10af1c92e4\"\u003e\u003ccode\u003e9944244\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/51fd6c9e90c681a3d644f8a1e86a428f64fe3418\"\u003e\u003ccode\u003e51fd6c9\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/65f4cd3a60c48b0654daa4662b563e6b8545e221\"\u003e\u003ccode\u003e65f4cd3\u003c/code\u003e\u003c/a\u003e add support for dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TNG/ArchUnit/compare/v1.3.0...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.spring.dependency-management` from 1.1.4 to 1.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-gradle-plugins/dependency-management-plugin/releases\"\u003eio.spring.dependency-management's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.7\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDependency management report task produces a deprecation warning with Gradle 8.12-rc-1 \u003ca href=\"https://redirect.github.com/spring-gradle-plugins/dependency-management-plugin/issues/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExclusionResolver makes assumptions that won't hold true with Gradle 9 \u003ca href=\"https://redirect.github.com/spring-gradle-plugins/dependency-management-plugin/pull/394\"\u003e#394\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/octylFractal\"\u003e\u003ccode\u003e@​octylFractal\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eApplying Maven-style exclusions may cause a deprecation warning with Gradle 8.8 \u003ca href=\"https://redirect.github.com/spring-gradle-plugins/dependency-management-plugin/issues/384\"\u003e#384\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/quaff\"\u003e\u003ccode\u003e@​quaff\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.5\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWhen a dependency has been substituted by changing its target, its version is managed based on its original group and artifact IDs \u003ca href=\"https://redirect.github.com/spring-gradle-plugins/dependency-management-plugin/issues/383\"\u003e#383\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePlugin triggers a deprecation warning for LenientConfiguration#getArtifacts(Spec) with Gradle 8.8 \u003ca href=\"https://redirect.github.com/spring-gradle-plugins/dependency-management-plugin/issues/381\"\u003e#381\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExclusions are calculated unnecessarily for non-transitive configurations \u003ca href=\"https://redirect.github.com/spring-gradle-plugins/dependency-management-plugin/pull/372\"\u003e#372\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/fp7\"\u003e\u003ccode\u003e@​fp7\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/spring-gradle-plugins/dependency-management-plugin/commit/99c6a876044e9b470b5ffc175a421c3b0c8d43f8\"\u003e\u003ccode\u003e99c6a87\u003c/code\u003e\u003c/a\u003e Release v1.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-gradle-plugins/dependency-management-plugin/commit/e870ef722937448bc03d4733050e0e66a006ed48\"\u003e\u003ccode\u003ee870ef7\u003c/code\u003e\u003c/a\u003e Address another deprecation warning in report take\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-gradle-plugins/dependency-management-plugin/commit/fc43f9070987dedebd5dbd261a798978ff8d3e47\"\u003e\u003ccode\u003efc43f90\u003c/code\u003e\u003c/a\u003e Stop report task from triggering a deprecation warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-gradle-plugins/dependency-management-plugin/commit/0d1b43dc3e3bef0d2159a4bc9df4b999069b7df2\"\u003e\u003ccode\u003e0d1b43d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spring-gradle-plugins/dependency-management-plugin/issues/394\"\u003e#394\u003c/a\u003e from octylFractal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-gradle-plugins/dependency-management-plugin/commit/09853a270341a2adb47ca1c885b6d7a205dcea4e\"\u003e\u003ccode\u003e09853a2\u003c/code\u003e\u003c/a\u003e Check for ModuleComponentIdentifier explicitly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-gradle-plugins/dependency-management-plugin/commit/e85cd28157e2d9b7f41b69c955deaedeea914f74\"\u003e\u003ccode\u003ee85cd28\u003c/code\u003e\u003c/a\u003e Next development version (v1.1.7-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-gradle-plugins/dependency-management-plugin/commit/caad92a64fe868a1367c36334d93e8265bbc320f\"\u003e\u003ccode\u003ecaad92a\u003c/code\u003e\u003c/a\u003e Apply exclusions earlier to avoid deprecation warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-gradle-plugins/dependency-management-plugin/commit/68f86ea8ffbb3c0401fb9214b644fbdcda5fdc2b\"\u003e\u003ccode\u003e68f86ea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spring-gradle-plugins/dependency-management-plugin/issues/387\"\u003e#387\u003c/a\u003e from quaff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-gradle-plugins/dependency-management-plugin/commit/4d44a4542d603a315a858203393108cdb529536a\"\u003e\u003ccode\u003e4d44a45\u003c/code\u003e\u003c/a\u003e Remove stray backtick\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-gradle-plugins/dependency-management-plugin/commit/90d9e1ad365bcbcfe6354e269e34712354fc46c4\"\u003e\u003ccode\u003e90d9e1a\u003c/code\u003e\u003c/a\u003e Rename property to address naming clash\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-gradle-plugins/dependency-management-plugin/compare/v1.1.4...v1.1.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.protobuf` from 0.9.4 to 0.10.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 comm...\n\n_Description has been truncated_","html_url":"https://github.com/kscold/kscold-blog-version-2/pull/1","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kscold%2Fkscold-blog-version-2/issues/1","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1/packages"},{"uuid":"5348071953","node_id":"PR_kwDOUM6qms8AAAABCMo6_Q","number":3,"state":"closed","title":"Build(deps-dev): Bump com.tngtech.archunit:archunit-junit5 from 1.4.1 to 1.5.0 in the test-libraries group","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-06T20:37:44.000Z","author_association":null,"state_reason":null,"created_at":"2026-09-04T12:29:09.000Z","updated_at":"2026-09-06T20:37:46.000Z","time_to_close":202115,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Build(deps-dev): Bump","packages":[{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.4.1","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"}],"path":"the test-libraries group","ecosystem":"maven"},"body":"Bumps the test-libraries group with 1 update: [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit).\n\nUpdates `com.tngtech.archunit:archunit-junit5` from 1.4.1 to 1.5.0\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.5.0\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 27 / class file major version 71 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1618\"\u003e#1618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove descriptions of \u003ccode\u003eJavaAccess.Predicates.originOwner\u003c/code\u003e and \u003ccode\u003eJavaAccess.Predicates.targetOwner\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1603\"\u003e#1603\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eExpose information on sealed classes via \u003ccode\u003eJavaClass\u003c/code\u003e: \u003ccode\u003eisSealed()\u003c/code\u003e and \u003ccode\u003egetPermittedSubclasses()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/bannmann\"\u003e\u003ccode\u003e@​bannmann\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eImportOption.DoNotIncludeTests\u003c/code\u003e and \u003ccode\u003eOnlyIncludeTests\u003c/code\u003e consider tests in custom Gradle source sets (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/Develop-KIM\"\u003e\u003ccode\u003e@​Develop-KIM\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLang\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchConditions\u003c/code\u003e offers new \u003ccode\u003eArchCondition\u0026lt;JavaClass\u0026gt; haveAnyDependenciesThat(DescribedPredicate\u0026lt;Dependency\u0026gt;)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1580\"\u003e#1580\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/wakingrufus\"\u003e\u003ccode\u003e@​wakingrufus\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchitectureMetrics.lakosMetrics\u003c/code\u003e is computed much more performantly (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1629\"\u003e#1629\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/ThanosTsiamis\"\u003e\u003ccode\u003e@​ThanosTsiamis\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTextFileBasedViolationStore\u003c/code\u003e is now thread-safe under parallel test execution (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1656\"\u003e#1656\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/kelunik\"\u003e\u003ccode\u003e@​kelunik\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eModuleDependency\u003c/code\u003e now provides stable descriptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1648\"\u003e#1648\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/DragonFSKY\"\u003e\u003ccode\u003e@​DragonFSKY\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eJUnit\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003earchunit-junit6\u003c/code\u003e supports ArchUnit with JUnit 6 (\u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1556\"\u003e#1556\u003c/a\u003e\u003c/del\u003e, \u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1658\"\u003e#1658\u003c/a\u003e\u003c/del\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1659\"\u003e#1659\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnalyzeClasses\u003c/code\u003e supports individual classes (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1569\"\u003e#1569\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003ePreparation:\u003c/em\u003e \u003ccode\u003earchunit-junit:0.9.0\u003c/code\u003e (which was renamed with \u003ca href=\"https://github.com/TNG/ArchUnit/releases/tag/v0.9.0\"\u003eArchUnit 0.9.0\u003c/a\u003e) now relocates to \u003ccode\u003earchunit-junit4:0.9.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1673\"\u003e#1673\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋) – will be published after \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1684\"\u003e#1684\u003c/a\u003e 🙈\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocument \u003ccode\u003ePriority\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1671\"\u003e#1671\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eDocument Package Identifiers in User Guide (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1672\"\u003e#1672\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eInternal Improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eText files now use UNIX line breaks (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1602\"\u003e#1602\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1611\"\u003e#1611\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eUpdate Gradle from 8 to 9; build \u0026amp; test with JDK 25 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1550\"\u003e#1550\u003c/a\u003e, and also \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1612\"\u003e#1612\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1619\"\u003e#1619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSeparate integration tests by JUnit version (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1636\"\u003e#1636\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003ejunit-dataprovider\u003c/code\u003e with \u003ccode\u003ejunit-jupiter-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1655\"\u003e#1655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eArchUnit releases now update Maven examples (and Gradle wrapper) of \u003ca href=\"https://github.com/TNG/ArchUnit-Examples\"\u003eArchUnit-Examples\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid managing hamcrest dependency (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1467\"\u003e#1467\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\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/502d782bfbf2632a2c9f943a502ddd8cc3e3c46d\"\u003e\u003ccode\u003e502d782\u003c/code\u003e\u003c/a\u003e prepare release 1.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/4f26fccd784d37f469e743950f8e0a3ff686d64b\"\u003e\u003ccode\u003e4f26fcc\u003c/code\u003e\u003c/a\u003e fix testRelease exec() and task registration for Gradle 9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/96af98457c924289ecff834737eebd8a55bddda6\"\u003e\u003ccode\u003e96af984\u003c/code\u003e\u003c/a\u003e add new developers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/e427828fcb9b09117cd0e59a471314218f8331d5\"\u003e\u003ccode\u003ee427828\u003c/code\u003e\u003c/a\u003e consolidate POM checks during CI and release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a30f6e3465ed3cb0868607debf80bf83e741b5f0\"\u003e\u003ccode\u003ea30f6e3\u003c/code\u003e\u003c/a\u003e Bump gradle/actions from 6 to 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a036c08707c50e6f7091754e63389f5bd2aaec64\"\u003e\u003ccode\u003ea036c08\u003c/code\u003e\u003c/a\u003e Bump com.github.ben-manes.versions from 0.57.0 to 0.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/24a9d9e10d4bb5ba5c5678d36810ef2397470163\"\u003e\u003ccode\u003e24a9d9e\u003c/code\u003e\u003c/a\u003e Bump actions/setup-java from 5.6.0 to 5.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/9944244c116f2724ac5bc1d02c73ca10af1c92e4\"\u003e\u003ccode\u003e9944244\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/51fd6c9e90c681a3d644f8a1e86a428f64fe3418\"\u003e\u003ccode\u003e51fd6c9\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/65f4cd3a60c48b0654daa4662b563e6b8545e221\"\u003e\u003ccode\u003e65f4cd3\u003c/code\u003e\u003c/a\u003e add support for dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TNG/ArchUnit/compare/v1.4.1...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.tngtech.archunit:archunit-junit5\u0026package-manager=maven\u0026previous-version=1.4.1\u0026new-version=1.5.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/vaullet-io/wallet-ledger-service/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaullet-io%2Fwallet-ledger-service/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"},{"uuid":"5343229313","node_id":"PR_kwDOUM11Uc8AAAABCIzERA","number":41,"state":"closed","title":"chore(deps-dev): bump com.tngtech.archunit:archunit-junit5 from 1.4.1 to 1.5.0 in /services/quiz-service","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-04T07:16:21.000Z","author_association":null,"state_reason":null,"created_at":"2026-09-04T01:42:57.000Z","updated_at":"2026-09-04T07:16:31.000Z","time_to_close":20004,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.4.1","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"}],"path":"/services/quiz-service","ecosystem":"maven"},"body":"Bumps [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) from 1.4.1 to 1.5.0.\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.5.0\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 27 / class file major version 71 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1618\"\u003e#1618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove descriptions of \u003ccode\u003eJavaAccess.Predicates.originOwner\u003c/code\u003e and \u003ccode\u003eJavaAccess.Predicates.targetOwner\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1603\"\u003e#1603\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eExpose information on sealed classes via \u003ccode\u003eJavaClass\u003c/code\u003e: \u003ccode\u003eisSealed()\u003c/code\u003e and \u003ccode\u003egetPermittedSubclasses()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/bannmann\"\u003e\u003ccode\u003e@​bannmann\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eImportOption.DoNotIncludeTests\u003c/code\u003e and \u003ccode\u003eOnlyIncludeTests\u003c/code\u003e consider tests in custom Gradle source sets (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/Develop-KIM\"\u003e\u003ccode\u003e@​Develop-KIM\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLang\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchConditions\u003c/code\u003e offers new \u003ccode\u003eArchCondition\u0026lt;JavaClass\u0026gt; haveAnyDependenciesThat(DescribedPredicate\u0026lt;Dependency\u0026gt;)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1580\"\u003e#1580\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/wakingrufus\"\u003e\u003ccode\u003e@​wakingrufus\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchitectureMetrics.lakosMetrics\u003c/code\u003e is computed much more performantly (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1629\"\u003e#1629\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/ThanosTsiamis\"\u003e\u003ccode\u003e@​ThanosTsiamis\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTextFileBasedViolationStore\u003c/code\u003e is now thread-safe under parallel test execution (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1656\"\u003e#1656\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/kelunik\"\u003e\u003ccode\u003e@​kelunik\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eModuleDependency\u003c/code\u003e now provides stable descriptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1648\"\u003e#1648\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/DragonFSKY\"\u003e\u003ccode\u003e@​DragonFSKY\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eJUnit\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003earchunit-junit6\u003c/code\u003e supports ArchUnit with JUnit 6 (\u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1556\"\u003e#1556\u003c/a\u003e\u003c/del\u003e, \u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1658\"\u003e#1658\u003c/a\u003e\u003c/del\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1659\"\u003e#1659\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnalyzeClasses\u003c/code\u003e supports individual classes (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1569\"\u003e#1569\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003ePreparation:\u003c/em\u003e \u003ccode\u003earchunit-junit:0.9.0\u003c/code\u003e (which was renamed with \u003ca href=\"https://github.com/TNG/ArchUnit/releases/tag/v0.9.0\"\u003eArchUnit 0.9.0\u003c/a\u003e) now relocates to \u003ccode\u003earchunit-junit4:0.9.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1673\"\u003e#1673\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋) – will be published after \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1684\"\u003e#1684\u003c/a\u003e 🙈\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocument \u003ccode\u003ePriority\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1671\"\u003e#1671\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eDocument Package Identifiers in User Guide (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1672\"\u003e#1672\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eInternal Improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eText files now use UNIX line breaks (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1602\"\u003e#1602\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1611\"\u003e#1611\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eUpdate Gradle from 8 to 9; build \u0026amp; test with JDK 25 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1550\"\u003e#1550\u003c/a\u003e, and also \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1612\"\u003e#1612\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1619\"\u003e#1619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSeparate integration tests by JUnit version (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1636\"\u003e#1636\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003ejunit-dataprovider\u003c/code\u003e with \u003ccode\u003ejunit-jupiter-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1655\"\u003e#1655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eArchUnit releases now update Maven examples (and Gradle wrapper) of \u003ca href=\"https://github.com/TNG/ArchUnit-Examples\"\u003eArchUnit-Examples\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid managing hamcrest dependency (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1467\"\u003e#1467\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\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/502d782bfbf2632a2c9f943a502ddd8cc3e3c46d\"\u003e\u003ccode\u003e502d782\u003c/code\u003e\u003c/a\u003e prepare release 1.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/4f26fccd784d37f469e743950f8e0a3ff686d64b\"\u003e\u003ccode\u003e4f26fcc\u003c/code\u003e\u003c/a\u003e fix testRelease exec() and task registration for Gradle 9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/96af98457c924289ecff834737eebd8a55bddda6\"\u003e\u003ccode\u003e96af984\u003c/code\u003e\u003c/a\u003e add new developers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/e427828fcb9b09117cd0e59a471314218f8331d5\"\u003e\u003ccode\u003ee427828\u003c/code\u003e\u003c/a\u003e consolidate POM checks during CI and release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a30f6e3465ed3cb0868607debf80bf83e741b5f0\"\u003e\u003ccode\u003ea30f6e3\u003c/code\u003e\u003c/a\u003e Bump gradle/actions from 6 to 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a036c08707c50e6f7091754e63389f5bd2aaec64\"\u003e\u003ccode\u003ea036c08\u003c/code\u003e\u003c/a\u003e Bump com.github.ben-manes.versions from 0.57.0 to 0.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/24a9d9e10d4bb5ba5c5678d36810ef2397470163\"\u003e\u003ccode\u003e24a9d9e\u003c/code\u003e\u003c/a\u003e Bump actions/setup-java from 5.6.0 to 5.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/9944244c116f2724ac5bc1d02c73ca10af1c92e4\"\u003e\u003ccode\u003e9944244\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/51fd6c9e90c681a3d644f8a1e86a428f64fe3418\"\u003e\u003ccode\u003e51fd6c9\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/65f4cd3a60c48b0654daa4662b563e6b8545e221\"\u003e\u003ccode\u003e65f4cd3\u003c/code\u003e\u003c/a\u003e add support for dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TNG/ArchUnit/compare/v1.4.1...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.tngtech.archunit:archunit-junit5\u0026package-manager=maven\u0026previous-version=1.4.1\u0026new-version=1.5.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/hhtuann/Quizopia_2.0/pull/41","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hhtuann%2FQuizopia_2.0/issues/41","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/41/packages"},{"uuid":"5343227738","node_id":"PR_kwDOUM11Uc8AAAABCIy_Uw","number":23,"state":"closed","title":"chore(deps-dev): bump com.tngtech.archunit:archunit-junit5 from 1.4.1 to 1.5.0 in /services/identity-service","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-04T07:16:12.000Z","author_association":null,"state_reason":null,"created_at":"2026-09-04T01:42:39.000Z","updated_at":"2026-09-04T07:16:20.000Z","time_to_close":20013,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.4.1","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"}],"path":"/services/identity-service","ecosystem":"maven"},"body":"Bumps [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) from 1.4.1 to 1.5.0.\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.5.0\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 27 / class file major version 71 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1618\"\u003e#1618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove descriptions of \u003ccode\u003eJavaAccess.Predicates.originOwner\u003c/code\u003e and \u003ccode\u003eJavaAccess.Predicates.targetOwner\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1603\"\u003e#1603\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eExpose information on sealed classes via \u003ccode\u003eJavaClass\u003c/code\u003e: \u003ccode\u003eisSealed()\u003c/code\u003e and \u003ccode\u003egetPermittedSubclasses()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/bannmann\"\u003e\u003ccode\u003e@​bannmann\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eImportOption.DoNotIncludeTests\u003c/code\u003e and \u003ccode\u003eOnlyIncludeTests\u003c/code\u003e consider tests in custom Gradle source sets (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/Develop-KIM\"\u003e\u003ccode\u003e@​Develop-KIM\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLang\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchConditions\u003c/code\u003e offers new \u003ccode\u003eArchCondition\u0026lt;JavaClass\u0026gt; haveAnyDependenciesThat(DescribedPredicate\u0026lt;Dependency\u0026gt;)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1580\"\u003e#1580\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/wakingrufus\"\u003e\u003ccode\u003e@​wakingrufus\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchitectureMetrics.lakosMetrics\u003c/code\u003e is computed much more performantly (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1629\"\u003e#1629\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/ThanosTsiamis\"\u003e\u003ccode\u003e@​ThanosTsiamis\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTextFileBasedViolationStore\u003c/code\u003e is now thread-safe under parallel test execution (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1656\"\u003e#1656\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/kelunik\"\u003e\u003ccode\u003e@​kelunik\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eModuleDependency\u003c/code\u003e now provides stable descriptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1648\"\u003e#1648\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/DragonFSKY\"\u003e\u003ccode\u003e@​DragonFSKY\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eJUnit\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003earchunit-junit6\u003c/code\u003e supports ArchUnit with JUnit 6 (\u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1556\"\u003e#1556\u003c/a\u003e\u003c/del\u003e, \u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1658\"\u003e#1658\u003c/a\u003e\u003c/del\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1659\"\u003e#1659\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnalyzeClasses\u003c/code\u003e supports individual classes (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1569\"\u003e#1569\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003ePreparation:\u003c/em\u003e \u003ccode\u003earchunit-junit:0.9.0\u003c/code\u003e (which was renamed with \u003ca href=\"https://github.com/TNG/ArchUnit/releases/tag/v0.9.0\"\u003eArchUnit 0.9.0\u003c/a\u003e) now relocates to \u003ccode\u003earchunit-junit4:0.9.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1673\"\u003e#1673\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋) – will be published after \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1684\"\u003e#1684\u003c/a\u003e 🙈\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocument \u003ccode\u003ePriority\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1671\"\u003e#1671\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eDocument Package Identifiers in User Guide (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1672\"\u003e#1672\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eInternal Improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eText files now use UNIX line breaks (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1602\"\u003e#1602\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1611\"\u003e#1611\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eUpdate Gradle from 8 to 9; build \u0026amp; test with JDK 25 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1550\"\u003e#1550\u003c/a\u003e, and also \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1612\"\u003e#1612\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1619\"\u003e#1619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSeparate integration tests by JUnit version (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1636\"\u003e#1636\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003ejunit-dataprovider\u003c/code\u003e with \u003ccode\u003ejunit-jupiter-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1655\"\u003e#1655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eArchUnit releases now update Maven examples (and Gradle wrapper) of \u003ca href=\"https://github.com/TNG/ArchUnit-Examples\"\u003eArchUnit-Examples\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid managing hamcrest dependency (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1467\"\u003e#1467\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\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/502d782bfbf2632a2c9f943a502ddd8cc3e3c46d\"\u003e\u003ccode\u003e502d782\u003c/code\u003e\u003c/a\u003e prepare release 1.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/4f26fccd784d37f469e743950f8e0a3ff686d64b\"\u003e\u003ccode\u003e4f26fcc\u003c/code\u003e\u003c/a\u003e fix testRelease exec() and task registration for Gradle 9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/96af98457c924289ecff834737eebd8a55bddda6\"\u003e\u003ccode\u003e96af984\u003c/code\u003e\u003c/a\u003e add new developers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/e427828fcb9b09117cd0e59a471314218f8331d5\"\u003e\u003ccode\u003ee427828\u003c/code\u003e\u003c/a\u003e consolidate POM checks during CI and release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a30f6e3465ed3cb0868607debf80bf83e741b5f0\"\u003e\u003ccode\u003ea30f6e3\u003c/code\u003e\u003c/a\u003e Bump gradle/actions from 6 to 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a036c08707c50e6f7091754e63389f5bd2aaec64\"\u003e\u003ccode\u003ea036c08\u003c/code\u003e\u003c/a\u003e Bump com.github.ben-manes.versions from 0.57.0 to 0.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/24a9d9e10d4bb5ba5c5678d36810ef2397470163\"\u003e\u003ccode\u003e24a9d9e\u003c/code\u003e\u003c/a\u003e Bump actions/setup-java from 5.6.0 to 5.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/9944244c116f2724ac5bc1d02c73ca10af1c92e4\"\u003e\u003ccode\u003e9944244\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/51fd6c9e90c681a3d644f8a1e86a428f64fe3418\"\u003e\u003ccode\u003e51fd6c9\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/65f4cd3a60c48b0654daa4662b563e6b8545e221\"\u003e\u003ccode\u003e65f4cd3\u003c/code\u003e\u003c/a\u003e add support for dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TNG/ArchUnit/compare/v1.4.1...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.tngtech.archunit:archunit-junit5\u0026package-manager=maven\u0026previous-version=1.4.1\u0026new-version=1.5.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/hhtuann/Quizopia_2.0/pull/23","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hhtuann%2FQuizopia_2.0/issues/23","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/23/packages"},{"uuid":"5343227375","node_id":"PR_kwDOUM11Uc8AAAABCIy-Ig","number":17,"state":"closed","title":"chore(deps-dev): bump com.tngtech.archunit:archunit-junit5 from 1.4.1 to 1.5.0 in /gateway","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-04T07:16:46.000Z","author_association":null,"state_reason":null,"created_at":"2026-09-04T01:42:35.000Z","updated_at":"2026-09-04T07:16:56.000Z","time_to_close":20051,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.4.1","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"}],"path":"/gateway","ecosystem":"maven"},"body":"Bumps [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) from 1.4.1 to 1.5.0.\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.5.0\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 27 / class file major version 71 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1618\"\u003e#1618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove descriptions of \u003ccode\u003eJavaAccess.Predicates.originOwner\u003c/code\u003e and \u003ccode\u003eJavaAccess.Predicates.targetOwner\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1603\"\u003e#1603\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eExpose information on sealed classes via \u003ccode\u003eJavaClass\u003c/code\u003e: \u003ccode\u003eisSealed()\u003c/code\u003e and \u003ccode\u003egetPermittedSubclasses()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/bannmann\"\u003e\u003ccode\u003e@​bannmann\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eImportOption.DoNotIncludeTests\u003c/code\u003e and \u003ccode\u003eOnlyIncludeTests\u003c/code\u003e consider tests in custom Gradle source sets (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/Develop-KIM\"\u003e\u003ccode\u003e@​Develop-KIM\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLang\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchConditions\u003c/code\u003e offers new \u003ccode\u003eArchCondition\u0026lt;JavaClass\u0026gt; haveAnyDependenciesThat(DescribedPredicate\u0026lt;Dependency\u0026gt;)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1580\"\u003e#1580\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/wakingrufus\"\u003e\u003ccode\u003e@​wakingrufus\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchitectureMetrics.lakosMetrics\u003c/code\u003e is computed much more performantly (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1629\"\u003e#1629\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/ThanosTsiamis\"\u003e\u003ccode\u003e@​ThanosTsiamis\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTextFileBasedViolationStore\u003c/code\u003e is now thread-safe under parallel test execution (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1656\"\u003e#1656\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/kelunik\"\u003e\u003ccode\u003e@​kelunik\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eModuleDependency\u003c/code\u003e now provides stable descriptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1648\"\u003e#1648\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/DragonFSKY\"\u003e\u003ccode\u003e@​DragonFSKY\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eJUnit\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003earchunit-junit6\u003c/code\u003e supports ArchUnit with JUnit 6 (\u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1556\"\u003e#1556\u003c/a\u003e\u003c/del\u003e, \u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1658\"\u003e#1658\u003c/a\u003e\u003c/del\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1659\"\u003e#1659\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnalyzeClasses\u003c/code\u003e supports individual classes (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1569\"\u003e#1569\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003ePreparation:\u003c/em\u003e \u003ccode\u003earchunit-junit:0.9.0\u003c/code\u003e (which was renamed with \u003ca href=\"https://github.com/TNG/ArchUnit/releases/tag/v0.9.0\"\u003eArchUnit 0.9.0\u003c/a\u003e) now relocates to \u003ccode\u003earchunit-junit4:0.9.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1673\"\u003e#1673\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋) – will be published after \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1684\"\u003e#1684\u003c/a\u003e 🙈\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocument \u003ccode\u003ePriority\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1671\"\u003e#1671\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eDocument Package Identifiers in User Guide (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1672\"\u003e#1672\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eInternal Improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eText files now use UNIX line breaks (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1602\"\u003e#1602\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1611\"\u003e#1611\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eUpdate Gradle from 8 to 9; build \u0026amp; test with JDK 25 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1550\"\u003e#1550\u003c/a\u003e, and also \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1612\"\u003e#1612\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1619\"\u003e#1619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSeparate integration tests by JUnit version (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1636\"\u003e#1636\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003ejunit-dataprovider\u003c/code\u003e with \u003ccode\u003ejunit-jupiter-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1655\"\u003e#1655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eArchUnit releases now update Maven examples (and Gradle wrapper) of \u003ca href=\"https://github.com/TNG/ArchUnit-Examples\"\u003eArchUnit-Examples\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid managing hamcrest dependency (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1467\"\u003e#1467\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\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/502d782bfbf2632a2c9f943a502ddd8cc3e3c46d\"\u003e\u003ccode\u003e502d782\u003c/code\u003e\u003c/a\u003e prepare release 1.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/4f26fccd784d37f469e743950f8e0a3ff686d64b\"\u003e\u003ccode\u003e4f26fcc\u003c/code\u003e\u003c/a\u003e fix testRelease exec() and task registration for Gradle 9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/96af98457c924289ecff834737eebd8a55bddda6\"\u003e\u003ccode\u003e96af984\u003c/code\u003e\u003c/a\u003e add new developers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/e427828fcb9b09117cd0e59a471314218f8331d5\"\u003e\u003ccode\u003ee427828\u003c/code\u003e\u003c/a\u003e consolidate POM checks during CI and release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a30f6e3465ed3cb0868607debf80bf83e741b5f0\"\u003e\u003ccode\u003ea30f6e3\u003c/code\u003e\u003c/a\u003e Bump gradle/actions from 6 to 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a036c08707c50e6f7091754e63389f5bd2aaec64\"\u003e\u003ccode\u003ea036c08\u003c/code\u003e\u003c/a\u003e Bump com.github.ben-manes.versions from 0.57.0 to 0.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/24a9d9e10d4bb5ba5c5678d36810ef2397470163\"\u003e\u003ccode\u003e24a9d9e\u003c/code\u003e\u003c/a\u003e Bump actions/setup-java from 5.6.0 to 5.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/9944244c116f2724ac5bc1d02c73ca10af1c92e4\"\u003e\u003ccode\u003e9944244\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/51fd6c9e90c681a3d644f8a1e86a428f64fe3418\"\u003e\u003ccode\u003e51fd6c9\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/65f4cd3a60c48b0654daa4662b563e6b8545e221\"\u003e\u003ccode\u003e65f4cd3\u003c/code\u003e\u003c/a\u003e add support for dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TNG/ArchUnit/compare/v1.4.1...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.tngtech.archunit:archunit-junit5\u0026package-manager=maven\u0026previous-version=1.4.1\u0026new-version=1.5.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/hhtuann/Quizopia_2.0/pull/17","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hhtuann%2FQuizopia_2.0/issues/17","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/17/packages"},{"uuid":"5337646216","node_id":"PR_kwDOSO-pI88AAAABCEV2eA","number":160,"state":"closed","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 8 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-09-12T06:53:54.000Z","author_association":null,"state_reason":null,"created_at":"2026-09-03T14:07:33.000Z","updated_at":"2026-09-12T06:53:56.000Z","time_to_close":751581,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":8,"packages":[{"name":"org.postgresql:postgresql","old_version":"42.7.4","new_version":"42.7.13","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"software.amazon.awssdk:bom","old_version":"2.28.11","new_version":"2.54.13"},{"name":"net.java.dev.jna:jna","old_version":"5.14.0","new_version":"5.19.1","repository_url":"https://github.com/java-native-access/jna"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.3.0","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"org.awaitility:awaitility","old_version":"4.2.0","new_version":"4.3.0","repository_url":"https://github.com/awaitility/awaitility"},{"name":"com.icegreen:greenmail-junit5","old_version":"2.1.0","new_version":"2.1.13","repository_url":"https://github.com/greenmail-mail-test/greenmail"},{"name":"io.spring.dependency-management","old_version":"1.1.6","new_version":"1.1.7","repository_url":"https://github.com/spring-gradle-plugins/dependency-management-plugin"},{"name":"gradle-wrapper","old_version":"9.5.1","new_version":"9.7.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 8 updates in the /NPDevRuntimeHost directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.4` | `42.7.13` |\n| software.amazon.awssdk:bom | `2.28.11` | `2.54.13` |\n| [net.java.dev.jna:jna](https://github.com/java-native-access/jna) | `5.14.0` | `5.19.1` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.3.0` | `1.5.0` |\n| [org.awaitility:awaitility](https://github.com/awaitility/awaitility) | `4.2.0` | `4.3.0` |\n| [com.icegreen:greenmail-junit5](https://github.com/greenmail-mail-test/greenmail) | `2.1.0` | `2.1.13` |\n| [io.spring.dependency-management](https://github.com/spring-gradle-plugins/dependency-management-plugin) | `1.1.6` | `1.1.7` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.5.1` | `9.7.1` |\n\n\nUpdates `org.postgresql:postgresql` from 42.7.4 to 42.7.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgjdbc/pgjdbc/releases\"\u003eorg.postgresql:postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev42.7.13\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: add 42.7.13 release changelog \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4270\"\u003e#4270\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdjust EditorConfig für Makefile \u003ca href=\"https://github.com/BaumiCoder\"\u003e\u003ccode\u003e@​BaumiCoder\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4279\"\u003e#4279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(scram): fail closed on channel-binding downgrade (no scram bump) \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4272\"\u003e#4272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump pgjdbc version from 42.7.12 to 42.7.13 \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4269\"\u003e#4269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: remove test-anorm-sbt module and its disabled CI wiring \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4261\"\u003e#4261\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(test-gss): convert to Java/JUnit 5 submodule of the main build \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4166\"\u003e#4166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eci: derive PG test versions from a Renovate-managed maxPgVersion \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4218\"\u003e#4218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(insert): cap reWriteBatchedInserts by the protocol limit, not 128 \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4207\"\u003e#4207\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(metadata): derive getPrimaryKeys from pg_constraint.conkey \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4202\"\u003e#4202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(protocol): defer flushes until response processing \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4196\"\u003e#4196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(build): resolve the Temurin 8 test toolchain by vendor \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4257\"\u003e#4257\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild: include multi-release source sets in the JaCoCo coverage report \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4256\"\u003e#4256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(ci): read java_vendor before overwriting java_distribution \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4255\"\u003e#4255\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eci: generate the whole matrix in one batch, coverage job included \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4253\"\u003e#4253\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eci: pass CODECOV_TOKEN so protected-branch coverage uploads succeed \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4254\"\u003e#4254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eci: collect coverage on one pinned job \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4245\"\u003e#4245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eci: apply -DqueryTimeout from the matrix query_timeout axis \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eci: make Codecov project and patch statuses informational \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(build): restore JaCoCo XML report so Codecov receives coverage \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4240\"\u003e#4240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest(replication): shrink big-transaction inserts to avoid CI timeouts \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4243\"\u003e#4243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate maintainers \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4222\"\u003e#4222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add hermetic test for localSocketAddress \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4224\"\u003e#4224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs(translation): clean up leftover German header in ja.po \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate ja.po \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/2004\"\u003e#2004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add PostgreSQL 18 to the CI test matrix \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4198\"\u003e#4198\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: silence expected SSPI warning stack trace in SSPIClientWaffleTest \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4197\"\u003e#4197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(ssl): build PKIX trust anchors without a KeyStore so FIPS-mode JVMs can load sslrootcert \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4193\"\u003e#4193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix flaky sentLocationEqualToLastReceiveLSN replication test \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4175\"\u003e#4175\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild: promote MethodCanBeStatic to error level \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4172\"\u003e#4172\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix PGInterval.setSeconds to reject out of range and NaN values \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4194\"\u003e#4194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace connectThreadFactory with connectExecutor \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4165\"\u003e#4165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix deleting temp file when spooling large stream to disk in StreamWrapper \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4190\"\u003e#4190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: Add top level /scratch to gitignore \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4164\"\u003e#4164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: favour composition over inheritance for Driver.ConnectTask \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4160\"\u003e#4160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix NumberParser.getFastLong(...) handling of overlong values \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4163\"\u003e#4163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild: produce a multi-release jar from reduced-pom.xml on Java 11+ \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4157\"\u003e#4157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd connectThreadFactory and refactor Driver to use FutureTask for loginTimeout connection attempts \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4120\"\u003e#4120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: verify custom properties reach socket factory \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4125\"\u003e#4125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix LazyCleanerTest timeouts for the lingering Java 8 cleanup thread \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4122\"\u003e#4122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: stabilise StatementTest.fastCloses on Windows \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4121\"\u003e#4121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: append default non-proxy hosts when socksNonProxyHosts is set \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4045\"\u003e#4045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: budget terminating Sync in BatchDeadlockTest small-RETURNING branch \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4116\"\u003e#4116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: make message assertions locale-independent \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4113\"\u003e#4113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild: drop xgettext default keywords; regenerate translations \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4100\"\u003e#4100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eci: opt-in scheduled workflows via ENABLE_SCHEDULED_JOBS repo variable \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4085\"\u003e#4085\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid direct java.lang.management dependency in maxResultBuffer parser \u003ca href=\"https://github.com/mblakley-casana\"\u003e\u003ccode\u003e@​mblakley-casana\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4069\"\u003e#4069\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: restore pre-describe for generated-key batches \u003ca href=\"https://github.com/bilalshehata\"\u003e\u003ccode\u003e@​bilalshehata\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4014\"\u003e#4014\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md\"\u003eorg.postgresql:postgresql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[42.7.13] (2026-07-06)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: invalidate the prepared-statement cache when the server reports a \u003ccode\u003esearch_path\u003c/code\u003e change via GUC_REPORT (PostgreSQL 18+), so cached plans are no longer used against the wrong schema [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4259\"\u003e#4259\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4259\"\u003epgjdbc/pgjdbc#4259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: \u003ccode\u003ereWriteBatchedInserts\u003c/code\u003e now merges up to 32768 rows into one multi-values \u003ccode\u003eINSERT\u003c/code\u003e (bounded by the 65535 bind-parameter limit on the extended protocol) instead of capping at 128, which speeds up batches of few-column rows. The new \u003ccode\u003ereWriteBatchedInsertsSize\u003c/code\u003e connection property lowers that cap when set; the default of \u003ccode\u003e0\u003c/code\u003e uses that maximum. [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4207\"\u003e#4207\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4207\"\u003epgjdbc/pgjdbc#4207\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: invalidate the prepared-statement cache after CREATE/DROP/ALTER so callers no longer trip on \u0026quot;cached plan must not change result type\u0026quot; without opting into \u003ccode\u003eautosave=ALWAYS\u003c/code\u003e. Controlled by the new \u003ccode\u003eflushCacheOnDdl\u003c/code\u003e connection property (default \u003ccode\u003etrue\u003c/code\u003e); set to \u003ccode\u003efalse\u003c/code\u003e for the prior behaviour. [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4067\"\u003e#4067\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4067\"\u003epgjdbc/pgjdbc#4067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: add \u003ccode\u003econnectExecutor\u003c/code\u003e connection property to customize the \u003ccode\u003eExecutor\u003c/code\u003e used to run the worker task that performs the connection attempt when \u003ccode\u003eloginTimeout\u003c/code\u003e is in effect. The value is the fully qualified name of a class implementing \u003ccode\u003ejava.util.concurrent.Executor\u003c/code\u003e. With a null value, the default, the driver retains the prior behavior of running the connection attempt on a daemon thread named \u003ccode\u003e\u0026quot;PostgreSQL JDBC driver connection thread\u0026quot;\u003c/code\u003e. The executor must run the task on a thread other than the caller's. Running the attempt on a named thread lets applications that monitor driver-created threads identify it. [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4165\"\u003e#4165\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4165\"\u003epgjdbc/pgjdbc#4165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: add \u003ccode\u003eclassLoaderStrategy\u003c/code\u003e connection property to control which classloaders the driver searches when loading a class named by a connection property, for example \u003ccode\u003esocketFactory\u003c/code\u003e. The default \u003ccode\u003edriver-first\u003c/code\u003e now falls back to the thread context classloader when the driver's classloader cannot resolve the class, which fixes class loading in non-flat class paths such as Quarkus and OSGi. Set \u003ccode\u003edriver\u003c/code\u003e to keep the previous driver-classloader-only behaviour, or \u003ccode\u003econtext-first\u003c/code\u003e to prefer the thread context classloader [Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/2112\"\u003e#2112\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/2112\"\u003epgjdbc/pgjdbc#2112\u003c/a\u003e) [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4167\"\u003e#4167\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4167\"\u003epgjdbc/pgjdbc#4167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: add OID constants for geometric arrays, \u003ccode\u003eRECORD\u003c/code\u003e, and \u003ccode\u003erefcursor\u003c/code\u003e [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4220\"\u003e#4220\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4220\"\u003epgjdbc/pgjdbc#4220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: \u003ccode\u003eLargeObject\u003c/code\u003e \u003ccode\u003eBlobInputStream\u003c/code\u003e now skips by seeking instead of reading, and the driver exposes the server version so it can select the 64-bit large-object API where available [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4204\"\u003e#4204\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4204\"\u003epgjdbc/pgjdbc#4204\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: the worker that runs the connection attempt under \u003ccode\u003eloginTimeout\u003c/code\u003e is now a \u003ccode\u003eFutureTask\u003c/code\u003e (\u003ccode\u003eConnectTask\u003c/code\u003e) instead of the hand-rolled \u003ccode\u003eConnectThread\u003c/code\u003e. When the caller hits the timeout, the task is now cancelled with \u003ccode\u003ecancel(true)\u003c/code\u003e, which interrupts the worker thread rather than letting it run to completion. This makes the connection attempt interruptible, so \u003ccode\u003eloginTimeout\u003c/code\u003e can stop a slow connection attempt instead of leaking a thread. As before, a connection that the worker still manages to establish after the caller gives up is closed by the worker so that it does not leak. There are no public API changes and this should only lead to faster background resource cleanup for connections that time out. [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4120\"\u003e#4120\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4120\"\u003epgjdbc/pgjdbc#4120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: \u003ccode\u003ePGXAConnection.ConnectionHandler\u003c/code\u003e now rejects \u003ccode\u003esetAutoCommit(false)\u003c/code\u003e and \u003ccode\u003esetSavepoint(...)\u003c/code\u003e during an active XA branch, in addition to the long-rejected \u003ccode\u003esetAutoCommit(true)\u003c/code\u003e / \u003ccode\u003ecommit()\u003c/code\u003e / \u003ccode\u003erollback()\u003c/code\u003e. The \u003ccode\u003esetSavepoint\u003c/code\u003e rejection was already meant to be in place but the guard misspelled the method name as \u003ccode\u003esetSavePoint\u003c/code\u003e, so savepoints silently went through. Both changes bring the proxy in line with JTA 1.2 §3.4. [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4114\"\u003e#4114\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4114\"\u003epgjdbc/pgjdbc#4114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: \u003ccode\u003ecommitPrepared\u003c/code\u003e / \u003ccode\u003erollback\u003c/code\u003e-of-prepared now return \u003ccode\u003eXAER_RMFAIL\u003c/code\u003e instead of \u003ccode\u003eXAER_RMERR\u003c/code\u003e when the underlying connection is left in a non-idle \u003ccode\u003eTransactionState\u003c/code\u003e. Transaction managers (Geronimo, Narayana, Atomikos) treat \u003ccode\u003eXAER_RMFAIL\u003c/code\u003e as retryable on a fresh \u003ccode\u003eXAResource\u003c/code\u003e; the prepared transaction is no longer abandoned. [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4114\"\u003e#4114\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4114\"\u003epgjdbc/pgjdbc#4114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: derive \u003ccode\u003egetPrimaryKeys\u003c/code\u003e from \u003ccode\u003epg_constraint.conkey\u003c/code\u003e [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4202\"\u003e#4202\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4202\"\u003epgjdbc/pgjdbc#4202\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: the published GitHub release now ships the released \u003ccode\u003epostgresql-\u0026lt;version\u0026gt;.jar\u003c/code\u003e and its detached PGP signature, taken from the same signed build that is uploaded to Maven Central, instead of a leftover SNAPSHOT jar [Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3812\"\u003e#3812\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3812\"\u003epgjdbc/pgjdbc#3812\u003c/a\u003e) [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3814\"\u003e#3814\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3814\"\u003epgjdbc/pgjdbc#3814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: simplify the \u003ccode\u003eStatement#cancel\u003c/code\u003e state machine by dropping the redundant \u003ccode\u003eCANCELLED\u003c/code\u003e state. \u003ccode\u003ekillTimerTask\u003c/code\u003e now waits for the state to return to \u003ccode\u003eIDLE\u003c/code\u003e directly, which removes a spin-forever case when more than one thread observes the cancel completing [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/1827\"\u003e#1827\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/1827\"\u003epgjdbc/pgjdbc#1827\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eperf: defer simple-query flushes until the driver reads the response, allowing \u003ccode\u003eBEGIN\u003c/code\u003e and the following query to share a network flush [Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3894\"\u003e#3894\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3894\"\u003epgjdbc/pgjdbc#3894\u003c/a\u003e) [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4196\"\u003e#4196\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4196\"\u003epgjdbc/pgjdbc#4196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003ereWriteBatchedInserts\u003c/code\u003e no longer throws \u003ccode\u003eIllegalArgumentException\u003c/code\u003e when batching a parameterless \u003ccode\u003eINSERT\u003c/code\u003e (for example \u003ccode\u003eINSERT INTO t VALUES (1, 2)\u003c/code\u003e) of 256 rows or more [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4207\"\u003e#4207\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4207\"\u003epgjdbc/pgjdbc#4207\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: a comment before \u003ccode\u003eCALL\u003c/code\u003e in a \u003ccode\u003eCallableStatement\u003c/code\u003e no longer hides the native call, so OUT parameter registration works for \u003ccode\u003e/* comment */ call proc(?, ?)\u003c/code\u003e and similar. \u003ccode\u003eParser.modifyJdbcCall\u003c/code\u003e now skips leading whitespace and SQL comments (both \u003ccode\u003e--\u003c/code\u003e and \u003ccode\u003e/* */\u003c/code\u003e) before the call, tolerates a trailing comment after a \u003ccode\u003e{ ... }\u003c/code\u003e escape, and no longer adds a spurious comma when moving an OUT parameter into a call whose arguments are only a comment [Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/2538\"\u003e#2538\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/2538\"\u003epgjdbc/pgjdbc#2538\u003c/a\u003e) [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4209\"\u003e#4209\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4209\"\u003epgjdbc/pgjdbc#4209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003ePreparedStatement.toString()\u003c/code\u003e no longer throws for a \u003ccode\u003ebytea\u003c/code\u003e value supplied as text via \u003ccode\u003ePGobject\u003c/code\u003e. Hex-format values (\u003ccode\u003e\\x...\u003c/code\u003e) are validated and rendered as a \u003ccode\u003ebytea\u003c/code\u003e literal, and escape-format values are quoted and cast like any other literal [Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3757\"\u003e#3757\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3757\"\u003epgjdbc/pgjdbc#3757\u003c/a\u003e) [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4201\"\u003e#4201\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4201\"\u003epgjdbc/pgjdbc#4201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: the driver no longer nulls the \u003ccode\u003econtextClassLoader\u003c/code\u003e of shared \u003ccode\u003eForkJoinPool.commonPool()\u003c/code\u003e worker threads, which previously left unrelated tasks on those threads running with a \u003ccode\u003enull\u003c/code\u003e classloader [Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4155\"\u003e#4155\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4155\"\u003epgjdbc/pgjdbc#4155\u003c/a\u003e) [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4156\"\u003e#4156\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4156\"\u003epgjdbc/pgjdbc#4156\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003ePgResultSet#getCharacterStream\u003c/code\u003e wraps \u003ccode\u003eString\u003c/code\u003e in a \u003ccode\u003eStringReader\u003c/code\u003e [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4063\"\u003e#4063\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4063\"\u003epgjdbc/pgjdbc#4063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003ePGXAConnection\u003c/code\u003e no longer saves and restores the underlying connection's JDBC \u003ccode\u003eautoCommit\u003c/code\u003e flag. All XA-protocol SQL (\u003ccode\u003eBEGIN\u003c/code\u003e, \u003ccode\u003ePREPARE TRANSACTION\u003c/code\u003e, \u003ccode\u003eCOMMIT\u003c/code\u003e, \u003ccode\u003eROLLBACK\u003c/code\u003e, \u003ccode\u003eCOMMIT PREPARED\u003c/code\u003e, \u003ccode\u003eROLLBACK PREPARED\u003c/code\u003e, the \u003ccode\u003erecover()\u003c/code\u003e SELECT) is sent through \u003ccode\u003eQUERY_SUPPRESS_BEGIN\u003c/code\u003e, so the caller's \u003ccode\u003eautoCommit\u003c/code\u003e value is invariant across every \u003ccode\u003eXAResource\u003c/code\u003e call. Fixes the \u0026quot;2nd phase commit must be issued using an idle connection\u0026quot; failure during recovery on managed datasources that pool connections with \u003ccode\u003eautoCommit=false\u003c/code\u003e (TomEE, WildFly, WebSphere Liberty) [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4114\"\u003e#4114\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4114\"\u003epgjdbc/pgjdbc#4114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003ePGXAConnection.prepare()\u003c/code\u003e now mutates XA state only after \u003ccode\u003ePREPARE TRANSACTION\u003c/code\u003e succeeds. A failed \u003ccode\u003ePREPARE\u003c/code\u003e previously left the driver thinking the branch was already prepared, so the follow-up \u003ccode\u003erollback(xid)\u003c/code\u003e tried \u003ccode\u003eROLLBACK PREPARED\u003c/code\u003e against a non-existent gid and returned \u003ccode\u003eXAER_RMERR\u003c/code\u003e. Transaction managers (Narayana) escalated this to \u003ccode\u003eHeuristicMixedException\u003c/code\u003e. With the fix, \u003ccode\u003erollback(xid)\u003c/code\u003e takes the active-branch path and issues a plain \u003ccode\u003eROLLBACK\u003c/code\u003e, which the server accepts cleanly. Fixes [Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3153\"\u003e#3153\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3153\"\u003epgjdbc/pgjdbc#3153\u003c/a\u003e), [Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3123\"\u003e#3123\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3123\"\u003epgjdbc/pgjdbc#3123\u003c/a\u003e). [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4114\"\u003e#4114\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4114\"\u003epgjdbc/pgjdbc#4114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: an updatable result set over an unqualified table name is now classified using only the table visible through \u003ccode\u003esearch_path\u003c/code\u003e. When two schemas held a table with the same name and the same primary or unique index name but a different set of key columns, the driver took the union of both schemas' columns, so the result set could be wrongly rejected as not updatable [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4214\"\u003e#4214\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4214\"\u003epgjdbc/pgjdbc#4214\u003c/a\u003e). Supersedes [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3400\"\u003e#3400\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3400\"\u003epgjdbc/pgjdbc#3400\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003eLargeObject.close()\u003c/code\u003e now flushes a buffered output stream before marking the object closed, so closing a large object without an explicit \u003ccode\u003eflush()\u003c/code\u003e no longer drops buffered writes. The flush runs while the object is still open (it calls back into \u003ccode\u003eLargeObject.write()\u003c/code\u003e), and \u003ccode\u003elo_close\u003c/code\u003e always runs afterward; a failure from \u003ccode\u003elo_close\u003c/code\u003e no longer masks an earlier flush error, and the transaction is not committed when the flush failed [Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4247\"\u003e#4247\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4247\"\u003epgjdbc/pgjdbc#4247\u003c/a\u003e) [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4248\"\u003e#4248\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4248\"\u003epgjdbc/pgjdbc#4248\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003efix: reject empty \u003ccode\u003etimestamp\u003c/code\u003e, \u003ccode\u003etimestamptz\u003c/code\u003e, and \u003ccode\u003edate\u003c/code\u003e text with a clear \u003ccode\u003eSQLException\u003c/code\u003e (SQLState \u003ccode\u003e22007\u003c/code\u003e) instead of an \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4278\"\u003e#4278\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4278\"\u003epgjdbc/pgjdbc#4278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: return null \u003ccode\u003eCHAR_OCTET_LENGTH\u003c/code\u003e for non-character columns [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4231\"\u003e#4231\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4231\"\u003epgjdbc/pgjdbc#4231\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: honor scale in \u003ccode\u003eResultSet.getBigDecimal(int, int)\u003c/code\u003e [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4211\"\u003e#4211\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4211\"\u003epgjdbc/pgjdbc#4211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: support \u003ccode\u003ejava.time\u003c/code\u003e values in an updatable \u003ccode\u003eResultSet\u003c/code\u003e \u003ccode\u003eupdateRow()\u003c/code\u003e / \u003ccode\u003einsertRow()\u003c/code\u003e [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3848\"\u003e#3848\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3848\"\u003epgjdbc/pgjdbc#3848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: improve batching when the \u003ccode\u003eRETURNING\u003c/code\u003e clause contains \u003ccode\u003evarchar\u003c/code\u003e or \u003ccode\u003enumeric\u003c/code\u003e types [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4014\"\u003e#4014\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4014\"\u003epgjdbc/pgjdbc#4014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct \u003ccode\u003eestimatedReceiveBufferBytes\u003c/code\u003e accounting after a forced \u003ccode\u003eSync\u003c/code\u003e [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4014\"\u003e#4014\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4014\"\u003epgjdbc/pgjdbc#4014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: avoid creating a transient \u003ccode\u003eResultSet\u003c/code\u003e for describe-statement purposes, and restore the pre-describe path for generated-key batches [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4014\"\u003e#4014\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4014\"\u003epgjdbc/pgjdbc#4014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add an explicit failure message when a multi-statement command executes in a batch [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4014\"\u003e#4014\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4014\"\u003epgjdbc/pgjdbc#4014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: detect \u003ccode\u003esearch_path\u003c/code\u003e changes case-insensitively [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4216\"\u003e#4216\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4216\"\u003epgjdbc/pgjdbc#4216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: auto-detect the SSL key format instead of relying on the \u003ccode\u003e.key\u003c/code\u003e extension [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3946\"\u003e#3946\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3946\"\u003epgjdbc/pgjdbc#3946\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: build PKIX trust anchors without a \u003ccode\u003eKeyStore\u003c/code\u003e so FIPS JVMs work [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4193\"\u003e#4193\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4193\"\u003epgjdbc/pgjdbc#4193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use \u003ccode\u003egssResponseTimeout\u003c/code\u003e rather than \u003ccode\u003esslResponseTimeout\u003c/code\u003e for GSS connections [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4076\"\u003e#4076\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4076\"\u003epgjdbc/pgjdbc#4076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: skip the autosave savepoint for \u003ccode\u003eSET LOCAL\u003c/code\u003e / \u003ccode\u003eSET SESSION TRANSACTION\u003c/code\u003e [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4203\"\u003e#4203\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4203\"\u003epgjdbc/pgjdbc#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: do not throw \u003ccode\u003eAssertionError\u003c/code\u003e from \u003ccode\u003eBatchResultHandler\u003c/code\u003e on a closed connection [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4187\"\u003e#4187\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4187\"\u003epgjdbc/pgjdbc#4187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: reject \u003ccode\u003eSQL_TSI_FRAC_SECOND\u003c/code\u003e with an explicit, explained error [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4229\"\u003e#4229\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4229\"\u003epgjdbc/pgjdbc#4229\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: reject a null URL in \u003ccode\u003eDriver.acceptsURL\u003c/code\u003e with a clear \u003ccode\u003eNullPointerException\u003c/code\u003e [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4205\"\u003e#4205\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4205\"\u003epgjdbc/pgjdbc#4205\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: reject overlong inputs in \u003ccode\u003eNumberParser.getFastLong\u003c/code\u003e instead of silently wrapping [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4163\"\u003e#4163\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4163\"\u003epgjdbc/pgjdbc#4163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: reject out-of-range and NaN values in \u003ccode\u003ePGInterval.setSeconds\u003c/code\u003e [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4194\"\u003e#4194\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4194\"\u003epgjdbc/pgjdbc#4194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: close the socket when \u003ccode\u003ePgConnection\u003c/code\u003e setup fails after connect [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4161\"\u003e#4161\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4161\"\u003epgjdbc/pgjdbc#4161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: keep the \u003ccode\u003eLazyCleanerImpl\u003c/code\u003e cleanup task alive across a transient empty queue [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4038\"\u003e#4038\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4038\"\u003epgjdbc/pgjdbc#4038\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/pgjdbc/pgjdbc/commit/3297557c6a8059d0d6e3522c79f0bd9a6f82ee07\"\u003e\u003ccode\u003e3297557\u003c/code\u003e\u003c/a\u003e docs: add 42.7.13 release changelog (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4270\"\u003e#4270\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/d93d370984fbbccd099fc6466e4075ba46d8ec59\"\u003e\u003ccode\u003ed93d370\u003c/code\u003e\u003c/a\u003e style: apply Autostyle to docs/ and .github/\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/2e05ff9e3ea9e8249f25dcb7017984285f1f76b1\"\u003e\u003ccode\u003e2e05ff9\u003c/code\u003e\u003c/a\u003e build: check docs/ and .github/ formatting with Autostyle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/b4a6087d2f07b578923a5272fa0155602ade9d40\"\u003e\u003ccode\u003eb4a6087\u003c/code\u003e\u003c/a\u003e Adjust EditorConfig für Makefiles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/725cebbb4e13be777483bd916b19dfcd428b5f26\"\u003e\u003ccode\u003e725cebb\u003c/code\u003e\u003c/a\u003e fix(jdbc): reject empty timestamp/timestamptz text with a clear error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/23a1b0dac5a8fc633cc163e883eb21f0219ea521\"\u003e\u003ccode\u003e23a1b0d\u003c/code\u003e\u003c/a\u003e fix(scram): fail closed on channel-binding downgrade (no scram bump)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/0b4077a529b2448cc55a6ca87b2be8667243c9ab\"\u003e\u003ccode\u003e0b4077a\u003c/code\u003e\u003c/a\u003e Bump pgjdbc version from 42.7.12 to 42.7.13 (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4269\"\u003e#4269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/394800a38aebf54f9f293f6198e1fc5c8b19f10f\"\u003e\u003ccode\u003e394800a\u003c/code\u003e\u003c/a\u003e fix: flush LargeObject output stream before marking closed (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4248\"\u003e#4248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/83780f130e0c83a77bb67350603f3cca8d4b9bb2\"\u003e\u003ccode\u003e83780f1\u003c/code\u003e\u003c/a\u003e Maintain consistency with the use of the word maintainer vs comitter (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4234\"\u003e#4234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/d42cad5cd12a13197e68aa53f09a7721336dce7a\"\u003e\u003ccode\u003ed42cad5\u003c/code\u003e\u003c/a\u003e fix(jdbc): classify updatable result set by search_path visibility\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgjdbc/pgjdbc/compare/REL42.7.4...REL42.7.13\"\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.28.11 to 2.54.13\n\nUpdates `net.java.dev.jna:jna` from 5.14.0 to 5.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/java-native-access/jna/blob/master/CHANGES.md\"\u003enet.java.dev.jna:jna's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease 5.19.1\u003c/h1\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1730\"\u003e#1730\u003c/a\u003e: Replace usage of \u003ccode\u003eMethodHandle\u003c/code\u003e with reflection to restore support for older Android releases - \u003ca href=\"https://github.com/matthiasblaesing\"\u003e\u003ccode\u003e@​matthiasblaesing\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eRelease 5.19.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1696\"\u003e#1696\u003c/a\u003e: Add \u003ccode\u003eLARGE_INTEGER.ByValue\u003c/code\u003e to \u003ccode\u003eLARGE_INTEGER\u003c/code\u003e in \u003ccode\u003eWinNT.java\u003c/code\u003e - \u003ca href=\"https://github.com/baier233\"\u003e\u003ccode\u003e@​baier233\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1697\"\u003e#1697\u003c/a\u003e: Add WlanApi module - \u003ca href=\"https://github.com/eranl\"\u003e\u003ccode\u003e@​eranl\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1718\"\u003e#1718\u003c/a\u003e: Add \u003ccode\u003eCups\u003c/code\u003e to \u003ccode\u003ec.s.j.p.unix\u003c/code\u003e providing CUPS printing system bindings for destinations, jobs, options, and server configuration - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1720\"\u003e#1720\u003c/a\u003e: Add \u003ccode\u003egroupCount\u003c/code\u003e and \u003ccode\u003egroupMasks\u003c/code\u003e fields to \u003ccode\u003eCACHE_RELATIONSHIP\u003c/code\u003e in \u003ccode\u003ec.s.j.p.win32.WinNT\u003c/code\u003e, matching the updated Windows struct layout - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1719\"\u003e#1719\u003c/a\u003e: Add \u003ccode\u003eCoreGraphics\u003c/code\u003e to \u003ccode\u003ec.s.j.p.mac\u003c/code\u003e with Quartz Window Services and Display Services bindings; implement \u003ccode\u003egetAllWindows()\u003c/code\u003e in \u003ccode\u003eMacWindowUtils\u003c/code\u003e - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1723\"\u003e#1723\u003c/a\u003e: Add \u003ccode\u003eProcFdInfo\u003c/code\u003e, \u003ccode\u003eInSockInfo\u003c/code\u003e, \u003ccode\u003eTcpSockInfo\u003c/code\u003e, \u003ccode\u003eproc_pidfdinfo\u003c/code\u003e, \u003ccode\u003estatfs64\u003c/code\u003e, and \u003ccode\u003evm_deallocate\u003c/code\u003e to \u003ccode\u003ec.s.j.p.mac.SystemB\u003c/code\u003e - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1725\"\u003e#1725\u003c/a\u003e: Add \u003ccode\u003eBluetoothApis\u003c/code\u003e to \u003ccode\u003ec.s.j.p.win32\u003c/code\u003e providing Bluetooth device and radio enumeration via \u003ccode\u003eBluetoothFindFirstRadio\u003c/code\u003e, \u003ccode\u003eBluetoothFindFirstDevice\u003c/code\u003e, and related functions - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1644\"\u003e#1644\u003c/a\u003e: Fix bug in VARDESC and TYPEDESC causing an illegal memory access - \u003ca href=\"https://github.com/lwahonen\"\u003e\u003ccode\u003e@​lwahonen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1715\"\u003e#1715\u003c/a\u003e: Fix \u003ccode\u003eUdevDevice.getSysname()\u003c/code\u003e calling \u003ccode\u003eudev_device_get_syspath\u003c/code\u003e instead of \u003ccode\u003eudev_device_get_sysname\u003c/code\u003e - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1721\"\u003e#1721\u003c/a\u003e: Fix switched \u003ccode\u003eserverName\u003c/code\u003e/\u003ccode\u003edomainName\u003c/code\u003e arguments in \u003ccode\u003eNetapi32Util#getDCName\u003c/code\u003e - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1722\"\u003e#1722\u003c/a\u003e: Fix \u003ccode\u003eAdvapi32#RegisterServiceCtrlHandler\u003c/code\u003e using wrong \u003ccode\u003eHandler\u003c/code\u003e type - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1636\"\u003e#1636\u003c/a\u003e: Drop hard dependency on java.lang.SecurityManager/java.security.AccessController - \u003ca href=\"https://github.com/matthiasblaesing\"\u003e\u003ccode\u003e@​matthiasblaesing\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1724\"\u003e#1724\u003c/a\u003e: Fix \u003ccode\u003ehost_page_size\u003c/code\u003e in \u003ccode\u003ec.s.j.p.mac.SystemB\u003c/code\u003e and \u003ccode\u003egetxattr\u003c/code\u003e/\u003ccode\u003esetxattr\u003c/code\u003e/\u003ccode\u003elistxattr\u003c/code\u003e in \u003ccode\u003ec.s.j.p.mac.XAttr\u003c/code\u003e using \u003ccode\u003elong\u003c/code\u003e instead of pointer-sized types for \u003ccode\u003esize_t\u003c/code\u003e/\u003ccode\u003essize_t\u003c/code\u003e parameters - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1727\"\u003e#1727\u003c/a\u003e: Include DragonFlyBSD in \u003ccode\u003eNativeLibrary\u003c/code\u003e versioned library resolution, libc special-case loading, and 64-bit search paths - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1709\"\u003e#1709\u003c/a\u003e: Rebuild native library for OpenBSD 7.9 x86-64, drop OpenBSD x86 - \u003ca href=\"https://github.com/matthiasblaesing\"\u003e\u003ccode\u003e@​matthiasblaesing\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eRelease 5.18.1\u003c/h1\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1686\"\u003e#1686\u003c/a\u003e: Fix \u003ccode\u003esortFields\u003c/code\u003e race condition while getting fields - \u003ca href=\"https://github.com/bendk\"\u003e\u003ccode\u003e@​bendk\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eRelease 5.18.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1671\"\u003e#1671\u003c/a\u003e: Add \u003ccode\u003eisRISCV\u003c/code\u003e to \u003ccode\u003ec.s.j.Platform\u003c/code\u003e - \u003ca href=\"https://github.com/Glavo\"\u003e\u003ccode\u003e@​Glavo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1672\"\u003e#1672\u003c/a\u003e: Add \u003ccode\u003eCFLocale\u003c/code\u003e, \u003ccode\u003eCFLocaleCopyCurrent\u003c/code\u003e, \u003ccode\u003eCFCFDateFormatter\u003c/code\u003e, \u003ccode\u003eCFDateFormatterStyle\u003c/code\u003e, \u003ccode\u003eCFDateFormatterCreate\u003c/code\u003e and \u003ccode\u003eCFDateFormatterGetFormat\u003c/code\u003e to \u003ccode\u003ec.s.j.p.mac.CoreFoundation\u003c/code\u003e - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1669\"\u003e#1669\u003c/a\u003e: Document requirement for running on JDK 24+ - \u003ca href=\"https://github.com/matthiasblaesing\"\u003e\u003ccode\u003e@​matthiasblaesing\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1681\"\u003e#1681\u003c/a\u003e: Fix deadlock in Structure constructor introduced in 5.16.0 - \u003ca href=\"https://github.com/brettwooldridge\"\u003e\u003ccode\u003e@​brettwooldridge\u003c/code\u003e\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/java-native-access/jna/commit/1a91122853f6ab6f1fb2a4a284a6cf2ed8af0a4d\"\u003e\u003ccode\u003e1a91122\u003c/code\u003e\u003c/a\u003e Release 5.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/cbfcb4add73065d8006869acd3da72b579cfb52c\"\u003e\u003ccode\u003ecbfcb4a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1731\"\u003e#1731\u003c/a\u003e from matthiasblaesing/ancient_android\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/4ba086b3eca0b937b6e73640b0b8a9f20ffd9fe2\"\u003e\u003ccode\u003e4ba086b\u003c/code\u003e\u003c/a\u003e Restore support for Android versions not supporting MethodHandles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/699935fc29d624abe73b4ae258897bd5a1380abc\"\u003e\u003ccode\u003e699935f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1729\"\u003e#1729\u003c/a\u003e from thesamesam/parallel-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/3fe4cb5fdc035e14d19d85b19a27711d1eebc356\"\u003e\u003ccode\u003e3fe4cb5\u003c/code\u003e\u003c/a\u003e native: fix parallel build issue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/01c7807fe7b66ff9cfcd04d283ebfeb0ad7d7c16\"\u003e\u003ccode\u003e01c7807\u003c/code\u003e\u003c/a\u003e Prepare next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/9ff138107f4b258423229166a49f92c83d980b2f\"\u003e\u003ccode\u003e9ff1381\u003c/code\u003e\u003c/a\u003e Release 5.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/2d038ef24c547abc82ddf39e17a5ce26b2781519\"\u003e\u003ccode\u003e2d038ef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1726\"\u003e#1726\u003c/a\u003e from matthiasblaesing/openbsd\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/eecab35757229a73db4bdd2dbbbcfad034782ad1\"\u003e\u003ccode\u003eeecab35\u003c/code\u003e\u003c/a\u003e Update native built for OpenBSD 7.9 (x86-64 only)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/f6708688b61d1ed10194086c5bd65bbc9bee6985\"\u003e\u003ccode\u003ef670868\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1727\"\u003e#1727\u003c/a\u003e from dbwiddis/fix/dragonflybsd-library-loading\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/java-native-access/jna/compare/5.14.0...5.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.tngtech.archunit:archunit-junit5` from 1.3.0 to 1.5.0\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.5.0\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 27 / class file major version 71 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1618\"\u003e#1618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove descriptions of \u003ccode\u003eJavaAccess.Predicates.originOwner\u003c/code\u003e and \u003ccode\u003eJavaAccess.Predicates.targetOwner\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1603\"\u003e#1603\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eExpose information on sealed classes via \u003ccode\u003eJavaClass\u003c/code\u003e: \u003ccode\u003eisSealed()\u003c/code\u003e and \u003ccode\u003egetPermittedSubclasses()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/bannmann\"\u003e\u003ccode\u003e@​bannmann\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eImportOption.DoNotIncludeTests\u003c/code\u003e and \u003ccode\u003eOnlyIncludeTests\u003c/code\u003e consider tests in custom Gradle source sets (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/Develop-KIM\"\u003e\u003ccode\u003e@​Develop-KIM\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLang\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchConditions\u003c/code\u003e offers new \u003ccode\u003eArchCondition\u0026lt;JavaClass\u0026gt; haveAnyDependenciesThat(DescribedPredicate\u0026lt;Dependency\u0026gt;)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1580\"\u003e#1580\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/wakingrufus\"\u003e\u003ccode\u003e@​wakingrufus\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchitectureMetrics.lakosMetrics\u003c/code\u003e is computed much more performantly (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1629\"\u003e#1629\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/ThanosTsiamis\"\u003e\u003ccode\u003e@​ThanosTsiamis\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTextFileBasedViolationStore\u003c/code\u003e is now thread-safe under parallel test execution (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1656\"\u003e#1656\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/kelunik\"\u003e\u003ccode\u003e@​kelunik\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eModuleDependency\u003c/code\u003e now provides stable descriptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1648\"\u003e#1648\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/DragonFSKY\"\u003e\u003ccode\u003e@​DragonFSKY\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eJUnit\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003earchunit-junit6\u003c/code\u003e supports ArchUnit with JUnit 6 (\u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1556\"\u003e#1556\u003c/a\u003e\u003c/del\u003e, \u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1658\"\u003e#1658\u003c/a\u003e\u003c/del\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1659\"\u003e#1659\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnalyzeClasses\u003c/code\u003e supports individual classes (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1569\"\u003e#1569\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003ePreparation:\u003c/em\u003e \u003ccode\u003earchunit-junit:0.9.0\u003c/code\u003e (which was renamed with \u003ca href=\"https://github.com/TNG/ArchUnit/releases/tag/v0.9.0\"\u003eArchUnit 0.9.0\u003c/a\u003e) now relocates to \u003ccode\u003earchunit-junit4:0.9.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1673\"\u003e#1673\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋) – will be published after \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1684\"\u003e#1684\u003c/a\u003e 🙈\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocument \u003ccode\u003ePriority\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1671\"\u003e#1671\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eDocument Package Identifiers in User Guide (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1672\"\u003e#1672\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eInternal Improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eText files now use UNIX line breaks (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1602\"\u003e#1602\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1611\"\u003e#1611\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eUpdate Gradle from 8 to 9; build \u0026amp; test with JDK 25 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1550\"\u003e#1550\u003c/a\u003e, and also \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1612\"\u003e#1612\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1619\"\u003e#1619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSeparate integration tests by JUnit version (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1636\"\u003e#1636\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003ejunit-dataprovider\u003c/code\u003e with \u003ccode\u003ejunit-jupiter-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1655\"\u003e#1655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eArchUnit releases now update Maven examples (and Gradle wrapper) of \u003ca href=\"https://github.com/TNG/ArchUnit-Examples\"\u003eArchUnit-Examples\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid managing hamcrest dependency (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1467\"\u003e#1467\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\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\u003ch2\u003eArchUnit 1.4.1\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 25 / class file major version 69 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1440\"\u003e#1440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\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/TNG/ArchUnit/commit/502d782bfbf2632a2c9f943a502ddd8cc3e3c46d\"\u003e\u003ccode\u003e502d782\u003c/code\u003e\u003c/a\u003e prepare release 1.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/4f26fccd784d37f469e743950f8e0a3ff686d64b\"\u003e\u003ccode\u003e4f26fcc\u003c/code\u003e\u003c/a\u003e fix testRelease exec() and task registration for Gradle 9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/96af98457c924289ecff834737eebd8a55bddda6\"\u003e\u003ccode\u003e96af984\u003c/code\u003e\u003c/a\u003e add new developers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/e427828fcb9b09117cd0e59a471314218f8331d5\"\u003e\u003ccode\u003ee427828\u003c/code\u003e\u003c/a\u003e consolidate POM checks during CI and release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a30f6e3465ed3cb0868607debf80bf83e741b5f0\"\u003e\u003ccode\u003ea30f6e3\u003c/code\u003e\u003c/a\u003e Bump gradle/actions from 6 to 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a036c08707c50e6f7091754e63389f5bd2aaec64\"\u003e\u003ccode\u003ea036c08\u003c/code\u003e\u003c/a\u003e Bump com.github.ben-manes.versions from 0.57.0 to 0.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/24a9d9e10d4bb5ba5c5678d36810ef2397470163\"\u003e\u003ccode\u003e24a9d9e\u003c/code\u003e\u003c/a\u003e Bump actions/setup-java from 5.6.0 to 5.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/9944244c116f2724ac5bc1d02c73ca10af1c92e4\"\u003e\u003ccode\u003e9944244\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/51fd6c9e90c681a3d644f8a1e86a428f64fe3418\"\u003e\u003ccode\u003e51fd6c9\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/65f4cd3a60c48b0654daa4662b563e6b8545e221\"\u003e\u003ccode\u003e65f4cd3\u003c/code\u003e\u003c/a\u003e add support for dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TNG/ArchUnit/compare/v1.3.0...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.awaitility:awaitility` from 4.2.0 to 4.3.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/awaitility/awaitility/blob/master/changelog.txt\"\u003eorg.awaitility:awaitility's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChangelog 4.3.0 (2025-02-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport for kotlin.time.Duration in Kotlin DSL (thanks to Ivo Šmíd for PR)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgraded kotlin version in the awaitility-kotlin module to 2.1.10\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUsing a more descriptive error message when using VERY long wait conditions or poll durations (issue 290)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded an overloaded method of untilAsserted(..) that takes a supplier and a consumer. For example, lets say you have a class like this:\npublic class MyClass {\npublic String myFunction() {\n// Imagine stuff being executed in asynchronously here and the result of this\n// operation is a string called \u0026quot;my value\u0026quot;\nreturn \u0026quot;my value\u0026quot;\n}\n}\u003c/p\u003e\n\u003cp\u003e// Then in your test you can wait for the \u0026quot;myFunction\u0026quot; to be asserted by a \u0026quot;consumer\u0026quot; that uses\n// assertj to make sure that \u0026quot;myFunction\u0026quot; returns \u0026quot;\u0026quot;my value\u0026quot;\nawait().untilAsserted(myClass::myFunction, value -\u0026gt; Assertions.assertThat(value).isEqualTo(\u0026quot;my value\u0026quot;));\u003c/p\u003e\n\u003cp\u003eThis has also been implemented for all atomic, adder, and accumulator methods.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChangelog 4.2.2 (2024-08-07)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport JDK EA builds in JavaVersionDetector (thanks to Oleg Estekhin for pull request)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChangelog 4.2.1 (2024-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpgraded Kotlin to 1.9.22\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded extension properties forever, then, and, given to the Kotlin extension. This allows you to do e.g.:\u003c/p\u003e\n\u003cp\u003eawait.forever until { .. }\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded shortcut for enabling logging. Before you had to do e.g.\u003c/p\u003e\n\u003cp\u003eawait()\n.with()\n.conditionEvaluationListener(new ConditionEvaluationLogger(log::info))\n.pollInterval(ONE_HUNDRED_MILLISECONDS)\n.until(logs::size, is(4));\u003c/p\u003e\n\u003cp\u003eYou can now instead use the \u0026quot;logging\u0026quot; shortcut:\u003c/p\u003e\n\u003cp\u003eawait()\n.with()\n.logging(log::info)\n.pollInterval(ONE_HUNDRED_MILLISECONDS)\n.until(logs::size, is(4));\u003c/p\u003e\n\u003cp\u003eor simply \u0026quot;.logging()\u0026quot; for \u0026quot;System.out\u0026quot;.\u003c/p\u003e\n\u003cp\u003eThis shortcut has also been added globally:\u003c/p\u003e\n\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/awaitility/awaitility/commit/e3ff879b33c10261ae8d58e50ecf601b2037bd11\"\u003e\u003ccode\u003ee3ff879\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release awaitility-4.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/awaitility/awaitility/commit/d1167123be35a952bcabb14922f995d731fcc1ad\"\u003e\u003ccode\u003ed116712\u003c/code\u003e\u003c/a\u003e [ci skip] Preparing changelog for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/awaitility/awaitility/commit/4e186dfa453599599ea325d5e629cdab16e7a089\"\u003e\u003ccode\u003e4e186df\u003c/code\u003e\u003c/a\u003e Added kotlin source folder explicitly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/awaitility/awaitility/commit/e8d3ab7b6347bdc0a15fb32a497dbfbf3c0db9e6\"\u003e\u003ccode\u003ee8d3ab7\u003c/code\u003e\u003c/a\u003e Upgraded lots of plugin dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/awaitility/awaitility/commit/a7a167a4896983e784d5f84836f62d3a0d79c090\"\u003e\u003ccode\u003ea7a167a\u003c/code\u003e\u003c/a\u003e Added an overloaded method of untilAsserted(..) that takes a supplier and a c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/awaitility/awaitility/commit/ef8f66309809ed4fe8d641f63c228dee10707f35\"\u003e\u003ccode\u003eef8f663\u003c/code\u003e\u003c/a\u003e Make ConditionFactory safer to use in java 8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/awaitility/awaitility/commit/5550079b8a45dbb5ead8f1f3567e3dea648de371\"\u003e\u003ccode\u003e5550079\u003c/code\u003e\u003c/a\u003e Using a more descriptive error message when using VERY long wait conditions o...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/awaitility/awaitility/commit/2a9814b2045c35a6c7670c5d40a83cc7887c8844\"\u003e\u003ccode\u003e2a9814b\u003c/code\u003e\u003c/a\u003e Upgraded kotlin version in the awaitility-kotlin module to 2.1.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/awaitility/awaitility/commit/8f22c003290f0f5f775235e782da4f53fbbab765\"\u003e\u003ccode\u003e8f22c00\u003c/code\u003e\u003c/a\u003e [ci skip] Updated changelog.txt to reflect latest changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/awaitility/awaitility/commit/6a35c247c324a48febb62cdcc44dd33b307d88bb\"\u003e\u003ccode\u003e6a35c24\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/awaitility/awaitility/issues/235\"\u003e#235\u003c/a\u003e Support for kotlin.time.Duration in Kotlin DSL (\u003ca href=\"https://redirect.github.com/awaitility/awaitility/issues/285\"\u003e#285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/awaitility/awaitility/compare/awaitility-4.2.0...awaitility-4.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.icegreen:greenmail-junit5` from 2.1.0 to 2.1.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/greenmail-mail-test/greenmail/releases\"\u003ecom.icegreen:greenmail-junit5's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.1.13\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid NPE when forcing IMAP close without an active response by \u003ca href=\"https://github.com/kalayciburak\"\u003e\u003ccode\u003e@​kalayciburak\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1047\"\u003egreenmail-mail-test/greenmail#1047\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eByte-stuff bare-lf dot lines in POP3 RETR response by \u003ca href=\"https://github.com/netliomax25-code\"\u003e\u003ccode\u003e@​netliomax25-code\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1049\"\u003egreenmail-mail-test/greenmail#1049\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix array index in SaslXoauth2Message.parse on separator-less input by \u003ca href=\"https://github.com/netliomax25-code\"\u003e\u003ccode\u003e@​netliomax25-code\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1051\"\u003egreenmail-mail-test/greenmail#1051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject malformed SEARCH criteria with BAD instead of closing connection by \u003ca href=\"https://github.com/netliomax25-code\"\u003e\u003ccode\u003e@​netliomax25-code\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1053\"\u003egreenmail-mail-test/greenmail#1053\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject malformed message set with BAD instead of closing connection by \u003ca href=\"https://github.com/netliomax25-code\"\u003e\u003ccode\u003e@​netliomax25-code\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1054\"\u003egreenmail-mail-test/greenmail#1054\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump org.bouncycastle:bc-jdk18on-bom from 1.85 to 1.85.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1048\"\u003egreenmail-mail-test/greenmail#1048\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.fasterxml.jackson:jackson-bom from 2.22.1 to 2.22.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1055\"\u003egreenmail-mail-test/greenmail#1055\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/greenmail-mail-test/greenmail/compare/release-2.1.12...release-2.1.13\"\u003ehttps://github.com/greenmail-mail-test/greenmail/compare/release-2.1.12...release-2.1.13\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003erelease-2.1.12\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClear user keywords on STORE FLAGS replace by \u003ca href=\"https://github.com/netliomax25-code\"\u003e\u003ccode\u003e@​netliomax25-code\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1034\"\u003egreenmail-mail-test/greenmail#1034\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip implicit \\Seen on read-only mailbox in FETCH by \u003ca href=\"https://github.com/netliomax25-code\"\u003e\u003ccode\u003e@​netliomax25-code\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1035\"\u003egreenmail-mail-test/greenmail#1035\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix FETCH BODYSTRUCTURE npe on multipart without parsable subparts by \u003ca href=\"https://github.com/netliomax25-code\"\u003e\u003ccode\u003e@​netliomax25-code\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1036\"\u003egreenmail-mail-test/greenmail#1036\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eValidate literal octet count in consumeLiteralAsBytes by \u003ca href=\"https://github.com/netliomax25-code\"\u003e\u003ccode\u003e@​netliomax25-code\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1038\"\u003egreenmail-mail-test/greenmail#1038\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve mailbox before INBOX guard in deleteMailbox by \u003ca href=\"https://github.com/netliomax25-code\"\u003e\u003ccode\u003e@​netliomax25-code\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1039\"\u003egreenmail-mail-test/greenmail#1039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect message mime part size computation (was ignoring newlines) \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/issues/967\"\u003e#967\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix BODYSTRUCTURE linecount computation by \u003ca href=\"https://github.com/marcelmay\"\u003e\u003ccode\u003e@​marcelmay\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/issues/1044\"\u003e#1044\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve new parent before detaching mailbox in renameMailbox by \u003ca href=\"https://github.com/netliomax25-code\"\u003e\u003ccode\u003e@​netliomax25-code\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1041\"\u003egreenmail-mail-test/greenmail#1041\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDelete nested mailboxes deepest-first when removing a user by \u003ca href=\"https://github.com/kalayciburak\"\u003e\u003ccode\u003e@​kalayciburak\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1046\"\u003egreenmail-mail-test/greenmail#1046\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrate and update Azul openjdk image to 21.0.12 by \u003ca href=\"https://github.com/marcelmay\"\u003e\u003ccode\u003e@​marcelmay\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1042\"\u003egreenmail-mail-test/greenmail#1042\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/kalayciburak\"\u003e\u003ccode\u003e@​kalayciburak\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1046\"\u003egreenmail-mail-test/greenmail#1046\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/greenmail-mail-test/greenmail/compare/release-2.1.11...release-2.1.12\"\u003ehttps://github.com/greenmail-mail-test/greenmail/compare/release-2.1.11...release-2.1.12\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.1.11\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReject STORE, EXPUNGE and MOVE on read-only selected mailbox by \u003ca href=\"https://github.com/netliomax25-code\"\u003e\u003ccode\u003e@​netliomax25-code\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1032\"\u003egreenmail-mail-test/greenmail#1032\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[SECURITY] Uncontrolled data used in path expression \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/issues/1033\"\u003e#1033\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSELECT FLAGS response never lists custom keywords  \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/issues/1027\"\u003e#1027\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/greenmail-mail-test/greenmail/compare/release-2.1.10...release-2.1.11\"\u003ehttps://github.com/greenmail-mail-test/greenmail/compare/release-2.1.10...release-2.1.11\u003c/a\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/greenmail-mail-test/greenmail/commit/cd4d14ff26fca905dae8e250c29879402287d32d\"\u003e\u003ccode\u003ecd4d14f\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release release-2.1.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenmail-mail-test/greenmail/commit/1d7d3ddb0f0d84e8376738638e0f42c2c1ea222c\"\u003e\u003ccode\u003e1d7d3dd\u003c/code\u003e\u003c/a\u003e Chore: Updating docs for 2.1.13 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenmail-mail-test/greenmail/commit/f5ca3e31d2d44d947654c8ff340cb1cc83365bc2\"\u003e\u003ccode\u003ef5ca3e3\u003c/code\u003e\u003c/a\u003e Minor fixes (spelling, code style, ...)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenmail-mail-test/greenmail/commit/99d18fd8153c0deda037c0bac18996c6c0885b21\"\u003e\u003ccode\u003e99d18fd\u003c/code\u003e\u003c/a\u003e reject malformed message set with protocol exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenmail-mail-test/greenmail/commit/659cd219e9730e58077c68045b646f2ea17e5535\"\u003e\u003ccode\u003e659cd21\u003c/code\u003e\u003c/a\u003e Build(deps): Bump com.fasterxml.jackson:jackson-bom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenmail-mail-test/greenmail/commit/1377a54d7d290018296ac2f1ac5b19bf12eb7147\"\u003e\u003ccode\u003e1377a54\u003c/code\u003e\u003c/a\u003e Build: Remove deprecated finbbugs plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenmail-mail-test/greenmail/commit/c7fbba6b6ba641f29539e68e161a76292a830c9b\"\u003e\u003ccode\u003ec7fbba6\u003c/code\u003e\u003c/a\u003e Build: Fix scm tag and added jakarta.ee javadoc links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenmail-mail-test/greenmail/commit/b21a84b8859a2c402c6eea542b73e3d5342bcf4e\"\u003e\u003ccode\u003eb21a84b\u003c/code\u003e\u003c/a\u003e Renamed Copilot instructions to more generic AGENTS.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenmail-mail-test/greenmail/commit/a4b56562b5a5ad4e8e705f86751ec76deee1763c\"\u003e\u003ccode\u003ea4b5656\u003c/code\u003e\u003c/a\u003e reject malformed SEARCH criteria with BAD instead of closing connection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenmail-mail-test/greenmail/commit/517c7d3354316af22007160730cd3290e6d233ff\"\u003e\u003ccode\u003e517c7d3\u003c/code\u003e\u003c/a\u003e guard xoauth2 part count before indexing in SaslXoauth2Message\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/greenmail-mail-test/greenmail/compare/release-2.1.0...release-2.1.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.spring.dependency-management` from 1.1.6 to 1.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-gradle-plugins/dependency-management-plugin/releases\"\u003eio.spring.dependency-management's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.7\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDependency management report task produces a deprecation warning with Gradle 8.12-rc-1 \u003ca href=\"https://redirect.github.com/spring-gradle-plugins/dependency-management-plugin/issues/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExclusionResolver makes assumptions that won't hold true with Gradle 9 \u003ca href=\"https://redirect.github.com/spring-gradle-plugins/dependency-management-plugin/pull/394\"\u003e#394\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/octylFractal\"\u003e\u003ccode\u003e@​octylFractal\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...\n\n_Description has been truncated_","html_url":"https://github.com/MarceloGiazzon/NPDevGeneral/pull/160","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarceloGiazzon%2FNPDevGeneral/issues/160","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/160/packages"},{"uuid":"5337644723","node_id":"PR_kwDOSO-pI88AAAABCEVxhQ","number":156,"state":"closed","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 2 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-09-12T06:53:42.000Z","author_association":null,"state_reason":null,"created_at":"2026-09-03T14:07:24.000Z","updated_at":"2026-09-12T06:53:44.000Z","time_to_close":751578,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":2,"packages":[{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.3.0","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"gradle-wrapper","old_version":"9.5.1","new_version":"9.7.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 2 updates in the / directory: [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) and [gradle-wrapper](https://github.com/gradle/gradle).\n\nUpdates `com.tngtech.archunit:archunit-junit5` from 1.3.0 to 1.5.0\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.5.0\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 27 / class file major version 71 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1618\"\u003e#1618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove descriptions of \u003ccode\u003eJavaAccess.Predicates.originOwner\u003c/code\u003e and \u003ccode\u003eJavaAccess.Predicates.targetOwner\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1603\"\u003e#1603\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eExpose information on sealed classes via \u003ccode\u003eJavaClass\u003c/code\u003e: \u003ccode\u003eisSealed()\u003c/code\u003e and \u003ccode\u003egetPermittedSubclasses()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/bannmann\"\u003e\u003ccode\u003e@​bannmann\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eImportOption.DoNotIncludeTests\u003c/code\u003e and \u003ccode\u003eOnlyIncludeTests\u003c/code\u003e consider tests in custom Gradle source sets (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/Develop-KIM\"\u003e\u003ccode\u003e@​Develop-KIM\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLang\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchConditions\u003c/code\u003e offers new \u003ccode\u003eArchCondition\u0026lt;JavaClass\u0026gt; haveAnyDependenciesThat(DescribedPredicate\u0026lt;Dependency\u0026gt;)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1580\"\u003e#1580\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/wakingrufus\"\u003e\u003ccode\u003e@​wakingrufus\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchitectureMetrics.lakosMetrics\u003c/code\u003e is computed much more performantly (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1629\"\u003e#1629\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/ThanosTsiamis\"\u003e\u003ccode\u003e@​ThanosTsiamis\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTextFileBasedViolationStore\u003c/code\u003e is now thread-safe under parallel test execution (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1656\"\u003e#1656\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/kelunik\"\u003e\u003ccode\u003e@​kelunik\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eModuleDependency\u003c/code\u003e now provides stable descriptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1648\"\u003e#1648\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/DragonFSKY\"\u003e\u003ccode\u003e@​DragonFSKY\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eJUnit\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003earchunit-junit6\u003c/code\u003e supports ArchUnit with JUnit 6 (\u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1556\"\u003e#1556\u003c/a\u003e\u003c/del\u003e, \u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1658\"\u003e#1658\u003c/a\u003e\u003c/del\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1659\"\u003e#1659\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnalyzeClasses\u003c/code\u003e supports individual classes (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1569\"\u003e#1569\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003ePreparation:\u003c/em\u003e \u003ccode\u003earchunit-junit:0.9.0\u003c/code\u003e (which was renamed with \u003ca href=\"https://github.com/TNG/ArchUnit/releases/tag/v0.9.0\"\u003eArchUnit 0.9.0\u003c/a\u003e) now relocates to \u003ccode\u003earchunit-junit4:0.9.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1673\"\u003e#1673\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋) – will be published after \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1684\"\u003e#1684\u003c/a\u003e 🙈\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocument \u003ccode\u003ePriority\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1671\"\u003e#1671\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eDocument Package Identifiers in User Guide (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1672\"\u003e#1672\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eInternal Improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eText files now use UNIX line breaks (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1602\"\u003e#1602\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1611\"\u003e#1611\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eUpdate Gradle from 8 to 9; build \u0026amp; test with JDK 25 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1550\"\u003e#1550\u003c/a\u003e, and also \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1612\"\u003e#1612\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1619\"\u003e#1619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSeparate integration tests by JUnit version (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1636\"\u003e#1636\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003ejunit-dataprovider\u003c/code\u003e with \u003ccode\u003ejunit-jupiter-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1655\"\u003e#1655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eArchUnit releases now update Maven examples (and Gradle wrapper) of \u003ca href=\"https://github.com/TNG/ArchUnit-Examples\"\u003eArchUnit-Examples\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid managing hamcrest dependency (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1467\"\u003e#1467\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\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\u003ch2\u003eArchUnit 1.4.1\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 25 / class file major version 69 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1440\"\u003e#1440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\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/TNG/ArchUnit/commit/502d782bfbf2632a2c9f943a502ddd8cc3e3c46d\"\u003e\u003ccode\u003e502d782\u003c/code\u003e\u003c/a\u003e prepare release 1.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/4f26fccd784d37f469e743950f8e0a3ff686d64b\"\u003e\u003ccode\u003e4f26fcc\u003c/code\u003e\u003c/a\u003e fix testRelease exec() and task registration for Gradle 9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/96af98457c924289ecff834737eebd8a55bddda6\"\u003e\u003ccode\u003e96af984\u003c/code\u003e\u003c/a\u003e add new developers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/e427828fcb9b09117cd0e59a471314218f8331d5\"\u003e\u003ccode\u003ee427828\u003c/code\u003e\u003c/a\u003e consolidate POM checks during CI and release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a30f6e3465ed3cb0868607debf80bf83e741b5f0\"\u003e\u003ccode\u003ea30f6e3\u003c/code\u003e\u003c/a\u003e Bump gradle/actions from 6 to 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a036c08707c50e6f7091754e63389f5bd2aaec64\"\u003e\u003ccode\u003ea036c08\u003c/code\u003e\u003c/a\u003e Bump com.github.ben-manes.versions from 0.57.0 to 0.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/24a9d9e10d4bb5ba5c5678d36810ef2397470163\"\u003e\u003ccode\u003e24a9d9e\u003c/code\u003e\u003c/a\u003e Bump actions/setup-java from 5.6.0 to 5.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/9944244c116f2724ac5bc1d02c73ca10af1c92e4\"\u003e\u003ccode\u003e9944244\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/51fd6c9e90c681a3d644f8a1e86a428f64fe3418\"\u003e\u003ccode\u003e51fd6c9\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/65f4cd3a60c48b0654daa4662b563e6b8545e221\"\u003e\u003ccode\u003e65f4cd3\u003c/code\u003e\u003c/a\u003e add support for dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TNG/ArchUnit/compare/v1.3.0...v1.5.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.5.1 to 9.7.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.7.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.7.1.\u003c/p\u003e\n\u003cp\u003eThis is a patch release for 9.7.0. We recommend using 9.7.1 instead of 9.7.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of 9.7.0 release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIsolated Projects graduates to incubating\u003c/li\u003e\n\u003cli\u003eBroader Configuration Cache compatibility\u003c/li\u003e\n\u003cli\u003eResilient Sync helps you fix broken builds\u003c/li\u003e\n\u003cli\u003eMore source locations in problem reports\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.7.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/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/Gautam-aman\"\u003eAman Gautam\u003c/a\u003e,\n\u003ca href=\"https://github.com/YukiCodepth\"\u003eAman Kumar\u003c/a\u003e,\n\u003ca href=\"https://github.com/adubrouski\"\u003eAnton Dubrouski\u003c/a\u003e,\n\u003ca href=\"https://github.com/liutikas\"\u003eAurimas\u003c/a\u003e,\n\u003ca href=\"https://github.com/gbhavya07\"\u003egbhavya07\u003c/a\u003e,\n\u003ca href=\"https://github.com/joshfriend\"\u003eJosh Friend\u003c/a\u003e,\n\u003ca href=\"https://github.com/nicklauslittle-gov\"\u003enicklauslittle-gov\u003c/a\u003e,\n\u003ca href=\"https://github.com/psoni674\"\u003ePragati\u003c/a\u003e,\n\u003ca href=\"https://github.com/Project516\"\u003eproject516\u003c/a\u003e,\n\u003ca href=\"https://github.com/Uomocapra\"\u003eQin Mi\u003c/a\u003e,\n\u003ca href=\"https://github.com/rkdfx\"\u003eRavi\u003c/a\u003e,\n\u003ca href=\"https://github.com/sk-reddy17\"\u003esk-reddy17\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/ShreckYe\"\u003eYongshun Ye\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.7.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew :wrapper --gradle-version=9.7.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.7.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.7.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.7.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.7.0.\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/gradle/gradle/commit/92f0512e7f06d84621afba191f75e265363890cf\"\u003e\u003ccode\u003e92f0512\u003c/code\u003e\u003c/a\u003e update fixed issues for 9.7.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38892\"\u003e#38892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/820ee75a99a179bbffa41bcedc6477b685fabb9f\"\u003e\u003ccode\u003e820ee75\u003c/code\u003e\u003c/a\u003e update fixed issues for 9.7.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/82c23f9bd2a89b4cc644e1f90a28a8668feb3dee\"\u003e\u003ccode\u003e82c23f9\u003c/code\u003e\u003c/a\u003e Fix annotation parameter ordering problem in KTS (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38878\"\u003e#38878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ef11a7268fe8cc8d6ab849ec911aa11220180553\"\u003e\u003ccode\u003eef11a72\u003c/code\u003e\u003c/a\u003e Fix annotation parameter ordering issue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/bb0d8a974a71b1003efea41e4046e98855cd5ff8\"\u003e\u003ccode\u003ebb0d8a9\u003c/code\u003e\u003c/a\u003e Make relevant tests polyglot (run for multiple DSLs)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/336e129d7f95c03486acafc97abf59734acfed48\"\u003e\u003ccode\u003e336e129\u003c/code\u003e\u003c/a\u003e Update signing configuration (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38874\"\u003e#38874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4bdf0da2dad9884d089a6062a45ea7183e7d735d\"\u003e\u003ccode\u003e4bdf0da\u003c/code\u003e\u003c/a\u003e Update signing configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/cd9b92c1b82856248cf1dc58b50378238bec7b52\"\u003e\u003ccode\u003ecd9b92c\u003c/code\u003e\u003c/a\u003e List issues resolved in 9.7.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38839\"\u003e#38839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/5f4e381964897ad8d6b99e5a7c77f26dba3259fb\"\u003e\u003ccode\u003e5f4e381\u003c/code\u003e\u003c/a\u003e List issues resolved in 9.7.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/1e08ab551367aeb5fb48b26e72807e1d2b27c939\"\u003e\u003ccode\u003e1e08ab5\u003c/code\u003e\u003c/a\u003e Keep type-use annotations in extracted ABI classes (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38810\"\u003e#38810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.5.1...v9.7.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/MarceloGiazzon/NPDevGeneral/pull/156","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarceloGiazzon%2FNPDevGeneral/issues/156","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/156/packages"},{"uuid":"5295693985","node_id":"PR_kwDOST0KW88AAAABBi1Zyg","number":2680,"state":"closed","title":"chore(deps): bump the backend-minor-and-patch group across 1 directory with 21 updates","user":"dependabot[bot]","labels":["dependencies","area:backend"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-09-07T02:10:27.000Z","author_association":null,"state_reason":null,"created_at":"2026-08-31T02:10:56.000Z","updated_at":"2026-09-07T02:10:31.000Z","time_to_close":604771,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"backend-minor-and-patch","update_count":21,"packages":[{"name":"io.quarkus.platform:quarkus-bom","old_version":"3.37.2","new_version":"3.39.1","repository_url":"https://github.com/quarkusio/quarkus-platform"},{"name":"io.quarkus.platform:quarkus-maven-plugin","old_version":"3.37.2","new_version":"3.39.1","repository_url":"https://github.com/quarkusio/quarkus-platform"},{"name":"org.hibernate.orm:hibernate-spatial","old_version":"7.4.5.Final","new_version":"7.4.6.Final","repository_url":"https://github.com/hibernate/hibernate-orm"},{"name":"org.junit.jupiter:junit-jupiter","old_version":"6.1.2","new_version":"6.1.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.jupiter:junit-jupiter-params","old_version":"6.1.2","new_version":"6.1.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"nl.jqno.equalsverifier:equalsverifier","old_version":"4.5","new_version":"4.5.2","repository_url":"https://github.com/jqno/equalsverifier"},{"name":"org.neo4j:neo4j-ogm-core","old_version":"5.0.7","new_version":"5.0.8","repository_url":"https://github.com/neo4j/neo4j-ogm"},{"name":"org.neo4j:neo4j-ogm-bolt-driver","old_version":"5.0.7","new_version":"5.0.8","repository_url":"https://github.com/neo4j/neo4j-ogm"},{"name":"org.neo4j:neo4j-cypher-dsl","old_version":"2025.3.0","new_version":"2025.3.1","repository_url":"https://github.com/neo4j/cypher-dsl"},{"name":"eu.michael-simons.neo4j:neo4j-migrations","old_version":"4.1.2","new_version":"4.1.3","repository_url":"https://github.com/michael-simons/neo4j-migrations"},{"name":"edu.kit.datamanager:ro-crate-java","old_version":"2.1.1","new_version":"2.1.2","repository_url":"https://github.com/kit-data-manager/ro-crate-java"},{"name":"io.quarkiverse.wiremock:quarkus-wiremock-test","old_version":"1.6.3","new_version":"1.7.0","repository_url":"https://github.com/quarkiverse/quarkus-wiremock"},{"name":"org.jsoup:jsoup","old_version":"1.22.2","new_version":"1.23.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.4.2","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"org.commonmark:commonmark","old_version":"0.29.0","new_version":"0.30.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"org.commonmark:commonmark-ext-gfm-tables","old_version":"0.29.0","new_version":"0.30.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"org.commonmark:commonmark-ext-gfm-strikethrough","old_version":"0.29.0","new_version":"0.30.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"org.commonmark:commonmark-ext-task-list-items","old_version":"0.29.0","new_version":"0.30.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"com.twelvemonkeys.imageio:imageio-tiff","old_version":"3.13.1","new_version":"3.14.0"},{"name":"com.github.spotbugs:spotbugs-maven-plugin","old_version":"4.10.3.0","new_version":"4.10.4.0","repository_url":"https://github.com/spotbugs/spotbugs-maven-plugin"},{"name":"org.apache.maven.plugins:maven-jar-plugin","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/apache/maven-jar-plugin"}],"path":null,"ecosystem":"maven"},"body":"Bumps the backend-minor-and-patch group with 21 updates in the /backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [io.quarkus.platform:quarkus-bom](https://github.com/quarkusio/quarkus-platform) | `3.37.2` | `3.39.1` |\n| [io.quarkus.platform:quarkus-maven-plugin](https://github.com/quarkusio/quarkus-platform) | `3.37.2` | `3.39.1` |\n| [org.hibernate.orm:hibernate-spatial](https://github.com/hibernate/hibernate-orm) | `7.4.5.Final` | `7.4.6.Final` |\n| [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) | `6.1.2` | `6.1.3` |\n| [org.junit.jupiter:junit-jupiter-params](https://github.com/junit-team/junit-framework) | `6.1.2` | `6.1.3` |\n| [nl.jqno.equalsverifier:equalsverifier](https://github.com/jqno/equalsverifier) | `4.5` | `4.5.2` |\n| [org.neo4j:neo4j-ogm-core](https://github.com/neo4j/neo4j-ogm) | `5.0.7` | `5.0.8` |\n| [org.neo4j:neo4j-ogm-bolt-driver](https://github.com/neo4j/neo4j-ogm) | `5.0.7` | `5.0.8` |\n| [org.neo4j:neo4j-cypher-dsl](https://github.com/neo4j/cypher-dsl) | `2025.3.0` | `2025.3.1` |\n| [eu.michael-simons.neo4j:neo4j-migrations](https://github.com/michael-simons/neo4j-migrations) | `4.1.2` | `4.1.3` |\n| [edu.kit.datamanager:ro-crate-java](https://github.com/kit-data-manager/ro-crate-java) | `2.1.1` | `2.1.2` |\n| [io.quarkiverse.wiremock:quarkus-wiremock-test](https://github.com/quarkiverse/quarkus-wiremock) | `1.6.3` | `1.7.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.2` | `1.23.2` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.4.2` | `1.5.0` |\n| [org.commonmark:commonmark](https://github.com/commonmark/commonmark-java) | `0.29.0` | `0.30.0` |\n| [org.commonmark:commonmark-ext-gfm-tables](https://github.com/commonmark/commonmark-java) | `0.29.0` | `0.30.0` |\n| [org.commonmark:commonmark-ext-gfm-strikethrough](https://github.com/commonmark/commonmark-java) | `0.29.0` | `0.30.0` |\n| [org.commonmark:commonmark-ext-task-list-items](https://github.com/commonmark/commonmark-java) | `0.29.0` | `0.30.0` |\n| com.twelvemonkeys.imageio:imageio-tiff | `3.13.1` | `3.14.0` |\n| [com.github.spotbugs:spotbugs-maven-plugin](https://github.com/spotbugs/spotbugs-maven-plugin) | `4.10.3.0` | `4.10.4.0` |\n| [org.apache.maven.plugins:maven-jar-plugin](https://github.com/apache/maven-jar-plugin) | `3.5.0` | `3.5.1` |\n\n\nUpdates `io.quarkus.platform:quarkus-bom` from 3.37.2 to 3.39.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/77e4498fe1311354ceaffc0fa45a4972b784b47c\"\u003e\u003ccode\u003e77e4498\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release 3.39.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/225cd01857a210fd8e57d6442abadef528644f77\"\u003e\u003ccode\u003e225cd01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2150\"\u003e#2150\u003c/a\u003e from quarkusio/quarkus-3.39.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/2a77d8faa996d4446dc5f7afa71d299f4238c270\"\u003e\u003ccode\u003e2a77d8f\u003c/code\u003e\u003c/a\u003e Upgrade to Quarkus 3.39.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/2a6e81ac404f5a46e1240fe708f6a42cddd2375c\"\u003e\u003ccode\u003e2a6e81a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2145\"\u003e#2145\u003c/a\u003e from JiriOndrusek/cq3.39.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/e831a8b58bd0dacea326506e0cdbd332c86d57dd\"\u003e\u003ccode\u003ee831a8b\u003c/code\u003e\u003c/a\u003e Upgrade to Camel Quarkus 3.39.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/64ef3545d25bc932825ab3decc6202f900eafecd\"\u003e\u003ccode\u003e64ef354\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2143\"\u003e#2143\u003c/a\u003e from quarkusio/update-automation/main-cxf-3.39.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/89c68967aa58e2212cba1463e1f73c3f6029896c\"\u003e\u003ccode\u003e89c6896\u003c/code\u003e\u003c/a\u003e Update CXF to 3.39.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/6088b7ca2d9fb0a76bea1b23c6b9ace4386138eb\"\u003e\u003ccode\u003e6088b7c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2142\"\u003e#2142\u003c/a\u003e from gsmet/notify-qpid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/36a282a379b1e495e27ee2894717da085137ce86\"\u003e\u003ccode\u003e36a282a\u003c/code\u003e\u003c/a\u003e Notify Robbie for QPid JMS pull requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/5760da1af94b2f10ac32f5cc1a4b45be56f5f16b\"\u003e\u003ccode\u003e5760da1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2136\"\u003e#2136\u003c/a\u003e from gemmellr/update-quarkus-qpid-jms-2.13.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/quarkusio/quarkus-platform/compare/3.37.2...3.39.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.quarkus.platform:quarkus-maven-plugin` from 3.37.2 to 3.39.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/77e4498fe1311354ceaffc0fa45a4972b784b47c\"\u003e\u003ccode\u003e77e4498\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release 3.39.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/225cd01857a210fd8e57d6442abadef528644f77\"\u003e\u003ccode\u003e225cd01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2150\"\u003e#2150\u003c/a\u003e from quarkusio/quarkus-3.39.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/2a77d8faa996d4446dc5f7afa71d299f4238c270\"\u003e\u003ccode\u003e2a77d8f\u003c/code\u003e\u003c/a\u003e Upgrade to Quarkus 3.39.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/2a6e81ac404f5a46e1240fe708f6a42cddd2375c\"\u003e\u003ccode\u003e2a6e81a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2145\"\u003e#2145\u003c/a\u003e from JiriOndrusek/cq3.39.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/e831a8b58bd0dacea326506e0cdbd332c86d57dd\"\u003e\u003ccode\u003ee831a8b\u003c/code\u003e\u003c/a\u003e Upgrade to Camel Quarkus 3.39.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/64ef3545d25bc932825ab3decc6202f900eafecd\"\u003e\u003ccode\u003e64ef354\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2143\"\u003e#2143\u003c/a\u003e from quarkusio/update-automation/main-cxf-3.39.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/89c68967aa58e2212cba1463e1f73c3f6029896c\"\u003e\u003ccode\u003e89c6896\u003c/code\u003e\u003c/a\u003e Update CXF to 3.39.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/6088b7ca2d9fb0a76bea1b23c6b9ace4386138eb\"\u003e\u003ccode\u003e6088b7c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2142\"\u003e#2142\u003c/a\u003e from gsmet/notify-qpid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/36a282a379b1e495e27ee2894717da085137ce86\"\u003e\u003ccode\u003e36a282a\u003c/code\u003e\u003c/a\u003e Notify Robbie for QPid JMS pull requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/5760da1af94b2f10ac32f5cc1a4b45be56f5f16b\"\u003e\u003ccode\u003e5760da1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2136\"\u003e#2136\u003c/a\u003e from gemmellr/update-quarkus-qpid-jms-2.13.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/quarkusio/quarkus-platform/compare/3.37.2...3.39.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.hibernate.orm:hibernate-spatial` from 7.4.5.Final to 7.4.6.Final\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hibernate/hibernate-orm/releases\"\u003eorg.hibernate.orm:hibernate-spatial's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 7.4.6\u003c/h2\u003e\n\u003ch1\u003eHibernate ORM 7.4.6.Final released\u003c/h1\u003e\n\u003cp\u003eToday, we published a new release of Hibernate ORM 7.4: 7.4.6.Final.\u003c/p\u003e\n\u003cp\u003eYou can find the full list of 7.4.6.Final changes \u003ca href=\"https://hibernate.atlassian.net/issues/?jql=project%20%3D%20HHH%20AND%20fixVersion%20%3D%207.4.6\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's new\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSee the \u003ca href=\"https://hibernate.org/orm/releases/7.4\"\u003ewebsite\u003c/a\u003e for requirements and compatibilities.\u003c/li\u003e\n\u003cli\u003eSee the \u003ca href=\"https://docs.hibernate.org/orm/7.4/whats-new/whats-new.html\"\u003eWhat's New\u003c/a\u003e guide for details about new features and capabilities.\u003c/li\u003e\n\u003cli\u003eSee the \u003ca href=\"https://docs.hibernate.org/orm/7.4/migration-guide/\"\u003eMigration Guide\u003c/a\u003e for details about migration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eConclusion\u003c/h2\u003e\n\u003cp\u003eFor additional details, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ethe \u003ca href=\"https://hibernate.org/orm/releases/7.4/\"\u003erelease page\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ethe \u003ca href=\"https://docs.hibernate.org/orm/7.4/migration-guide/\"\u003eMigration Guide\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ethe \u003ca href=\"https://docs.hibernate.org/orm/7.4/introduction/html_single/\"\u003eIntroduction Guide\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ethe \u003ca href=\"https://docs.hibernate.org/orm/7.4/userguide/html_single/\"\u003eUser Guide\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ethe \u003ca href=\"https://docs.hibernate.org/orm/7.4/javadocs\"\u003eAPI docs\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee also the following resources related to supported APIs:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ethe \u003ca href=\"https://hibernate.org/community/compatibility-policy/\"\u003ecompatibility policy\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ethe \u003ca href=\"https://docs.hibernate.org/orm/7.4/incubating/incubating.txt\"\u003eincubating API report\u003c/a\u003e (\u003ccode\u003e@Incubating\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ethe \u003ca href=\"https://docs.hibernate.org/orm/7.4/deprecated/deprecated.txt\"\u003edeprecated API report\u003c/a\u003e (\u003ccode\u003e@Deprecated\u003c/code\u003e + \u003ccode\u003e@Remove\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ethe \u003ca href=\"https://docs.hibernate.org/orm/7.4/internals/internal.txt\"\u003einternal API report\u003c/a\u003e (internal packages, \u003ccode\u003e@Internal\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVisit the \u003ca href=\"https://hibernate.org/community/\"\u003ewebsite\u003c/a\u003e for details on getting in touch with us.\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/hibernate/hibernate-orm/blob/7.4.6/changelog.txt\"\u003eorg.hibernate.orm:hibernate-spatial's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges in 7.4.6.Final (August 23, 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://hibernate.atlassian.net/projects/HHH/versions/40133\"\u003ehttps://hibernate.atlassian.net/projects/HHH/versions/40133\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e** Bug\n* HHH-20788 [Quarkus 3.20.5 / Hibernate ORM 6.6.40.Final] quarkus.otel.logs.enabled=true fails SessionFactory build for TABLE_PER_CLASS collections\n* HHH-20783 hibernate.transactions{result=\u0026quot;failure\u0026quot;} metric can transiently go negative due to non-atomic counter reads, breaking the whole Prometheus scrape on Micrometer 1.14+\n* HHH-20779 Envers: unwrap proxies in collection-change audit work units\n* HHH-20776 CriteriaBuilder.literal() mistypes an enum constant declared with a class body\n* HHH-20772 ARRAY_AGG column in Jakarta Data query method cannot be mapped to result type property\n* HHH-20743 \u003ccode\u003ehibernate-maven-plugin\u003c/code\u003e \u003ccode\u003eenhance\u003c/code\u003e goal computes wrong class names when \u003ccode\u003efileSets\u003c/code\u003e directory differs from \u003ccode\u003eclassesDirectory\u003c/code\u003e\n* HHH-20707 Missing import for inner interface type in CDI accessor metamodel methods\n* HHH-20696 Implicit name of list index columns not applied by MetadataBuilder\n* HHH-20661 HQL UNION fails when unioning java.util.Date from different attribute paths\n* HHH-20624 StackOverflowError when creating entity manager with attribute converter hierarchy with generic parameter\n* HHH-20515 Adjust default for SessionCheckMode on Session.findMultiple()\n* HHH-20472 Generated metamodel class missing \u003ccode\u003eList\u003c/code\u003e import\n* HHH-20452 \u003ca href=\"https://github.com/OneToMany\"\u003e\u003ccode\u003e@​OneToMany\u003c/code\u003e\u003c/a\u003e mapping silently dropped when orm.xml contributes a partial overlay (entity-listeners only) to an entity whose \u003ca href=\"https://github.com/Id\"\u003e\u003ccode\u003e@​Id\u003c/code\u003e\u003c/a\u003e is inherited from a \u003ca href=\"https://github.com/MappedSuperclass\"\u003e\u003ccode\u003e@​MappedSuperclass\u003c/code\u003e\u003c/a\u003e\n* HHH-20438 Basic-array body predicates fail with AssertionError from SqmMappingModelHelper.resolveSqmPath\n* HHH-20348 \u003ccode\u003eDataException\u003c/code\u003e / \u003ccode\u003eClassCastException\u003c/code\u003e when aggregating primitive\u003c/p\u003e\n\u003cp\u003e** Task\n* HHH-20736 Tune the content of javadocs to reduce the size of files published to Maven Central\n* HHH-20710 Update to hibernate-models 1.1.2\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/hibernate/hibernate-orm/commit/43e2e9a1a537bfa1862e98981fc0c9a37f20ced8\"\u003e\u003ccode\u003e43e2e9a\u003c/code\u003e\u003c/a\u003e [Jenkins release job] Preparing release 7.4.6.Final\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/cd34e60c213b92bf172bfcbaa41ee5e21b5d67fd\"\u003e\u003ccode\u003ecd34e60\u003c/code\u003e\u003c/a\u003e [Jenkins release job] changelog.txt updated by release build 7.4.6.Final\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/229571c602c981958dd4374bc49fdfd8cc9eb8c5\"\u003e\u003ccode\u003e229571c\u003c/code\u003e\u003c/a\u003e HHH-20710 Add test for generic Map subtype resolution with JSON mapping\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/de419cead5e32adefb8c66d903e7b46af613e8a2\"\u003e\u003ccode\u003ede419ce\u003c/code\u003e\u003c/a\u003e HHH-20710 Update to hibernate-models 1.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/284a4be3f68550e61b2763f1b51d9b3590ea9b03\"\u003e\u003ccode\u003e284a4be\u003c/code\u003e\u003c/a\u003e HHH-20788 Return null for TablePerSubclass and clarify informational nature o...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/f74ba5851f93095535ee1ab04928cb20b45acf07\"\u003e\u003ccode\u003ef74ba58\u003c/code\u003e\u003c/a\u003e Make testsuite fit for JDK 28 Valhalla preview\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/33465feb156678d81378ddb0361015cf81d07eff\"\u003e\u003ccode\u003e33465fe\u003c/code\u003e\u003c/a\u003e Add JDK 28 to the testing JDK list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/5e398fd1d50d08a1335c71e3f80a835ee8511aa1\"\u003e\u003ccode\u003e5e398fd\u003c/code\u003e\u003c/a\u003e Skip some tests causing nightly failures on MySQL due to a bug\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/cf53ffa00f0fe3f3de31ce04913c6fb21441712c\"\u003e\u003ccode\u003ecf53ffa\u003c/code\u003e\u003c/a\u003e HHH-20783 Add a dedicated failed-transactions counter to Statistics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/f4e0be32785efaa123d61739dbb6e095ff7e0e0d\"\u003e\u003ccode\u003ef4e0be3\u003c/code\u003e\u003c/a\u003e HHH-20772 add \u003ca href=\"https://github.com/Incubating\"\u003e\u003ccode\u003e@​Incubating\u003c/code\u003e\u003c/a\u003e to new Processor options\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hibernate/hibernate-orm/compare/7.4.5...7.4.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.jupiter:junit-jupiter` from 6.1.2 to 6.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.jupiter:junit-jupiter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.3 = Platform 6.1.3 + Jupiter 6.1.3 + Vintage 6.1.3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.3/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\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/junit-team/junit-framework/commit/f59f60d2cebdf2224235d81f781b1f310cbc8138\"\u003e\u003ccode\u003ef59f60d\u003c/code\u003e\u003c/a\u003e Release 6.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/cd8ec9202ce8260a434edb38a8565e36f620e8d6\"\u003e\u003ccode\u003ecd8ec92\u003c/code\u003e\u003c/a\u003e Finalize 6.1.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/c8729f26aacd8e2dd6fa564b929fe047faaa7dc9\"\u003e\u003ccode\u003ec8729f2\u003c/code\u003e\u003c/a\u003e Restore compatibility with GraalVM 25 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5901\"\u003e#5901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/ddc9e74e5d21c2dd18bc0cfe4681d5ff50ac379c\"\u003e\u003ccode\u003eddc9e74\u003c/code\u003e\u003c/a\u003e Update graalvm/setup-graalvm action to v1.6.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5959\"\u003e#5959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/fe2c52a780fcbda6c7ccf5d6576beb7ad2d80bf8\"\u003e\u003ccode\u003efe2c52a\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.7 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5923\"\u003e#5923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/62afc02b541ee9dfa16b121705f79b7d44f4dae0\"\u003e\u003ccode\u003e62afc02\u003c/code\u003e\u003c/a\u003e Delay GraalVM plugin updates for 3 days\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0cc29022801365a409c1213a811a8877cb88cce3\"\u003e\u003ccode\u003e0cc2902\u003c/code\u003e\u003c/a\u003e Skip \u003ccode\u003egraalVmTest\u003c/code\u003e task if GraalVM env vars are not set\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f6bbfc53e7e00b1b25e7d3b0bc09eef05cc4b721\"\u003e\u003ccode\u003ef6bbfc5\u003c/code\u003e\u003c/a\u003e Move GraalVM tests to separate test task (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/e87e0521d4fbd75116a5fda42566fcb7a56eb340\"\u003e\u003ccode\u003ee87e052\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5899\"\u003e#5899\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1cd56df89754fb8523ac9fbbf888e9a552e33ee8\"\u003e\u003ccode\u003e1cd56df\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5880\"\u003e#5880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.jupiter:junit-jupiter-params` from 6.1.2 to 6.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.jupiter:junit-jupiter-params's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.3 = Platform 6.1.3 + Jupiter 6.1.3 + Vintage 6.1.3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.3/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\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/junit-team/junit-framework/commit/f59f60d2cebdf2224235d81f781b1f310cbc8138\"\u003e\u003ccode\u003ef59f60d\u003c/code\u003e\u003c/a\u003e Release 6.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/cd8ec9202ce8260a434edb38a8565e36f620e8d6\"\u003e\u003ccode\u003ecd8ec92\u003c/code\u003e\u003c/a\u003e Finalize 6.1.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/c8729f26aacd8e2dd6fa564b929fe047faaa7dc9\"\u003e\u003ccode\u003ec8729f2\u003c/code\u003e\u003c/a\u003e Restore compatibility with GraalVM 25 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5901\"\u003e#5901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/ddc9e74e5d21c2dd18bc0cfe4681d5ff50ac379c\"\u003e\u003ccode\u003eddc9e74\u003c/code\u003e\u003c/a\u003e Update graalvm/setup-graalvm action to v1.6.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5959\"\u003e#5959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/fe2c52a780fcbda6c7ccf5d6576beb7ad2d80bf8\"\u003e\u003ccode\u003efe2c52a\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.7 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5923\"\u003e#5923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/62afc02b541ee9dfa16b121705f79b7d44f4dae0\"\u003e\u003ccode\u003e62afc02\u003c/code\u003e\u003c/a\u003e Delay GraalVM plugin updates for 3 days\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0cc29022801365a409c1213a811a8877cb88cce3\"\u003e\u003ccode\u003e0cc2902\u003c/code\u003e\u003c/a\u003e Skip \u003ccode\u003egraalVmTest\u003c/code\u003e task if GraalVM env vars are not set\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f6bbfc53e7e00b1b25e7d3b0bc09eef05cc4b721\"\u003e\u003ccode\u003ef6bbfc5\u003c/code\u003e\u003c/a\u003e Move GraalVM tests to separate test task (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/e87e0521d4fbd75116a5fda42566fcb7a56eb340\"\u003e\u003ccode\u003ee87e052\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5899\"\u003e#5899\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1cd56df89754fb8523ac9fbbf888e9a552e33ee8\"\u003e\u003ccode\u003e1cd56df\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5880\"\u003e#5880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.jupiter:junit-jupiter-params` from 6.1.2 to 6.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.jupiter:junit-jupiter-params's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.3 = Platform 6.1.3 + Jupiter 6.1.3 + Vintage 6.1.3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.3/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\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/junit-team/junit-framework/commit/f59f60d2cebdf2224235d81f781b1f310cbc8138\"\u003e\u003ccode\u003ef59f60d\u003c/code\u003e\u003c/a\u003e Release 6.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/cd8ec9202ce8260a434edb38a8565e36f620e8d6\"\u003e\u003ccode\u003ecd8ec92\u003c/code\u003e\u003c/a\u003e Finalize 6.1.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/c8729f26aacd8e2dd6fa564b929fe047faaa7dc9\"\u003e\u003ccode\u003ec8729f2\u003c/code\u003e\u003c/a\u003e Restore compatibility with GraalVM 25 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5901\"\u003e#5901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/ddc9e74e5d21c2dd18bc0cfe4681d5ff50ac379c\"\u003e\u003ccode\u003eddc9e74\u003c/code\u003e\u003c/a\u003e Update graalvm/setup-graalvm action to v1.6.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5959\"\u003e#5959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/fe2c52a780fcbda6c7ccf5d6576beb7ad2d80bf8\"\u003e\u003ccode\u003efe2c52a\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.7 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5923\"\u003e#5923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/62afc02b541ee9dfa16b121705f79b7d44f4dae0\"\u003e\u003ccode\u003e62afc02\u003c/code\u003e\u003c/a\u003e Delay GraalVM plugin updates for 3 days\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0cc29022801365a409c1213a811a8877cb88cce3\"\u003e\u003ccode\u003e0cc2902\u003c/code\u003e\u003c/a\u003e Skip \u003ccode\u003egraalVmTest\u003c/code\u003e task if GraalVM env vars are not set\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f6bbfc53e7e00b1b25e7d3b0bc09eef05cc4b721\"\u003e\u003ccode\u003ef6bbfc5\u003c/code\u003e\u003c/a\u003e Move GraalVM tests to separate test task (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/e87e0521d4fbd75116a5fda42566fcb7a56eb340\"\u003e\u003ccode\u003ee87e052\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5899\"\u003e#5899\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1cd56df89754fb8523ac9fbbf888e9a552e33ee8\"\u003e\u003ccode\u003e1cd56df\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5880\"\u003e#5880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nl.jqno.equalsverifier:equalsverifier` from 4.5 to 4.5.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jqno/equalsverifier/releases\"\u003enl.jqno.equalsverifier:equalsverifier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease equalsverifier-4.5.2\u003c/h2\u003e\n\u003cp\u003eFor a list of changes in this version, see \u003ca href=\"https://github.com/jqno/equalsverifier/blob/main/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eRelease equalsverifier-4.5.1\u003c/h2\u003e\n\u003cp\u003eFor a list of changes in this version, see \u003ca href=\"https://github.com/jqno/equalsverifier/blob/main/CHANGELOG.md\"\u003eCHANGELOG.md\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/jqno/equalsverifier/blob/main/CHANGELOG.md\"\u003enl.jqno.equalsverifier:equalsverifier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.5.2] - 2026-08-27\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSignificant fields error when first implementation of a sealed interface is a single-value enum. (\u003ca href=\"https://redirect.github.com/jqno/equalsverifier/issues/1236\"\u003eIssue 1236\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.5.1] - 2026-08-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdds prefab values for \u003ccode\u003ejava.util.LinkedHashSet\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/jqno/equalsverifier/issues/1231\"\u003eIssue 1231\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jqno/equalsverifier/issues/1232\"\u003eIssue 1232\u003c/a\u003e; thanks kalayciburak!)\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/jqno/equalsverifier/commit/2e0dae067cbc2119a987c400a5b351a7f279de8d\"\u003e\u003ccode\u003e2e0dae0\u003c/code\u003e\u003c/a\u003e Bumps version to 4.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/8818df1f3395f5885735788dfad57ecf7b3f5a57\"\u003e\u003ccode\u003e8818df1\u003c/code\u003e\u003c/a\u003e Updates CHANGELOG for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/ff374a30ae538cf9de18e869a8e9b0c416d3f30c\"\u003e\u003ccode\u003eff374a3\u003c/code\u003e\u003c/a\u003e Adds PR number to changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/f051bc7fc1fc25de92a1473aca37ab7807f2fc42\"\u003e\u003ccode\u003ef051bc7\u003c/code\u003e\u003c/a\u003e Fixes singificant fields error when first sealed interface implementation is ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/2669ffa162a63c754b0ffe6cfd4800d86ae599e3\"\u003e\u003ccode\u003e2669ffa\u003c/code\u003e\u003c/a\u003e Prepares for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/d89077132eef0b285415b6d1e88b7f93538e2aa4\"\u003e\u003ccode\u003ed890771\u003c/code\u003e\u003c/a\u003e Bumps version to 4.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/cec51b862a432ff3f2d606cd8bf0cc34d3445516\"\u003e\u003ccode\u003ecec51b8\u003c/code\u003e\u003c/a\u003e Updates CHANGELOG for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/1e5a37ab83e3c1495505bc68171e0f1c4a8da326\"\u003e\u003ccode\u003e1e5a37a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jqno/equalsverifier/issues/1235\"\u003e#1235\u003c/a\u003e from jqno/dependabot/maven/dependencies-1b33e0e210\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/7b46e333d8f9b14f00dfd2fdd2cbc40965f69fcc\"\u003e\u003ccode\u003e7b46e33\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jqno/equalsverifier/issues/1234\"\u003e#1234\u003c/a\u003e from jqno/dependabot/github_actions/dependencies-9c0...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/5706e86be30806f4958ee6a9ac62fc1a7ed60b49\"\u003e\u003ccode\u003e5706e86\u003c/code\u003e\u003c/a\u003e Bump the dependencies group with 2 updates\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jqno/equalsverifier/compare/equalsverifier-4.5...equalsverifier-4.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.neo4j:neo4j-ogm-core` from 5.0.7 to 5.0.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/neo4j/neo4j-ogm/releases\"\u003eorg.neo4j:neo4j-ogm-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.0.8\u003c/h2\u003e\n\u003cp\u003eThis is a recommended update for all users. It includes several important security fixes and has no breaking changes or other side effects.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[fix] Group entities also by removed / updated properties before multi-statement updates. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1473\"\u003e#1473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Replace variable placeholder \u003ccode\u003e$\u003c/code\u003e in favor of passing the variable down the call stack. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1472\"\u003e#1472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Use the full classname to lookup class info during query execution and deletion. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1471\"\u003e#1471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Use Cypher-DSL Schema Names support to uniformly escape names. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1470\"\u003e#1470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.2 to 6.1.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1465\"\u003e#1465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j.driver:neo4j-java-driver from 6.2.0 to 6.2.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1466\"\u003e#1466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1467\"\u003e#1467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.1 to 1.6.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1468\"\u003e#1468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven:apache-maven from 3.9.11 to 3.9.16 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[chore] Minor remaining polishing of the \u003ccode\u003eConfiguration\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.jreleaser:jreleaser-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1448\"\u003e#1448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1452\"\u003e#1452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump kotlin.version from 2.4.0 to 2.4.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1453\"\u003e#1453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.mycila:license-maven-plugin from 5.0.0 to 5.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1454\"\u003e#1454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.10 to 1.18.11 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1447\"\u003e#1447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1449\"\u003e#1449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.1 to 6.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven.plugins:maven-jar-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1455\"\u003e#1455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump brace-expansion, \u003ccode\u003e@​antora/cli\u003c/code\u003e, \u003ccode\u003e@​antora/site-generator-default\u003c/code\u003e and nodemon (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1458\"\u003e#1458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.37 to 1.6.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1459\"\u003e#1459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1460\"\u003e#1460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Fully rebuild the URL without the \u003ccode\u003euserInfo\u003c/code\u003e part instead of search and replace. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1464\"\u003e#1464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Throw \u003ccode\u003eIllegalArgumentException\u003c/code\u003e when a non-supported \u003ccode\u003eencryptionLevel\u003c/code\u003e is used. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Handle colons in passwords proper. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Add page-tabs attributes (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1461\"\u003e#1461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.0 to 6.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1441\"\u003e#1441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1442\"\u003e#1442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump commons-logging:commons-logging from 1.3.6 to 1.4.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1443\"\u003e#1443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.8 to 1.18.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1444\"\u003e#1444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.34 to 1.5.37 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1445\"\u003e#1445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[build] Pin all actions (including officials) to their current sha. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1446\"\u003e#1446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Remove broken Stackoverflow badge.\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/neo4j/neo4j-ogm/blob/master/CHANGES.adoc\"\u003eorg.neo4j:neo4j-ogm-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 5.0.8\u003c/p\u003e\n\u003cp\u003eThis is a recommended update for all users. It includes several important security fixes and has no breaking changes or other side effects.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[fix] Group entities also by removed / updated properties before multi-statement updates. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1473\"\u003e#1473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Replace variable placeholder \u003ccode\u003e$\u003c/code\u003e in favor of passing the variable down the call stack. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1472\"\u003e#1472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Use the full classname to lookup class info during query execution and deletion. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1471\"\u003e#1471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Use Cypher-DSL Schema Names support to uniformly escape names. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1470\"\u003e#1470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.2 to 6.1.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1465\"\u003e#1465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j.driver:neo4j-java-driver from 6.2.0 to 6.2.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1466\"\u003e#1466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1467\"\u003e#1467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.1 to 1.6.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1468\"\u003e#1468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven:apache-maven from 3.9.11 to 3.9.16 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[chore] Minor remaining polishing of the \u003ccode\u003eConfiguration\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.jreleaser:jreleaser-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1448\"\u003e#1448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1452\"\u003e#1452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump kotlin.version from 2.4.0 to 2.4.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1453\"\u003e#1453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.mycila:license-maven-plugin from 5.0.0 to 5.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1454\"\u003e#1454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.10 to 1.18.11 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1447\"\u003e#1447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1449\"\u003e#1449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.1 to 6.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven.plugins:maven-jar-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1455\"\u003e#1455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump brace-expansion, \u003ccode\u003e@​antora/cli\u003c/code\u003e, \u003ccode\u003e@​antora/site-generator-default\u003c/code\u003e and nodemon (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1458\"\u003e#1458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.37 to 1.6.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1459\"\u003e#1459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1460\"\u003e#1460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Fully rebuild the URL without the \u003ccode\u003euserInfo\u003c/code\u003e part instead of search and replace. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1464\"\u003e#1464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Throw \u003ccode\u003eIllegalArgumentException\u003c/code\u003e when a non-supported \u003ccode\u003eencryptionLevel\u003c/code\u003e is used. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Handle colons in passwords proper. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Add page-tabs attributes (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1461\"\u003e#1461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.0 to 6.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1441\"\u003e#1441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1442\"\u003e#1442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump commons-logging:commons-logging from 1.3.6 to 1.4.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1443\"\u003e#1443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.8 to 1.18.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1444\"\u003e#1444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.34 to 1.5.37 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1445\"\u003e#1445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[build] Pin all actions (including officials) to their current sha. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1446\"\u003e#1446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Remove broken Stackoverflow badge.\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/neo4j/neo4j-ogm/commit/f2f0ce3820cd91ec7aff59c22aa4f3804b46e185\"\u003e\u003ccode\u003ef2f0ce3\u003c/code\u003e\u003c/a\u003e Release 5.0.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/218ecb72c235242b17987d69d55cd7c0b50075de\"\u003e\u003ccode\u003e218ecb7\u003c/code\u003e\u003c/a\u003e Fix: Group entities also by removed / updated properties before multi-stateme...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/450604b44511a967fd287e6dc440bafa4e203076\"\u003e\u003ccode\u003e450604b\u003c/code\u003e\u003c/a\u003e refactor: Replace variable placeholder \u003ccode\u003e$\u003c/code\u003e in favor of passing the variable d...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/dc20994e9489be30c660c08af7d833a8532d2aa0\"\u003e\u003ccode\u003edc20994\u003c/code\u003e\u003c/a\u003e fix: Use full classname to lookup class info during query execution and delet...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/b10d9fb6e123ddf433b2b778e420f71dece81ec3\"\u003e\u003ccode\u003eb10d9fb\u003c/code\u003e\u003c/a\u003e refactor: Use Cypher-DSL Schema Names support to uniformly escape names. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1470\"\u003e#1470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/6b2d23017d855fa4bda93e037505afac4d1f2f0e\"\u003e\u003ccode\u003e6b2d230\u003c/code\u003e\u003c/a\u003e build(deps): Bump org.junit:junit-bom from 6.1.2 to 6.1.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1465\"\u003e#1465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/4d7e9160a79e9309f8a589da101a63e97752f4b9\"\u003e\u003ccode\u003e4d7e916\u003c/code\u003e\u003c/a\u003e build(deps): Bump org.neo4j.driver:neo4j-java-driver from 6.2.0 to 6.2.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1466\"\u003e#1466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/5f0f1cb66233c6220fa08422a673355cacbb2c72\"\u003e\u003ccode\u003e5f0f1cb\u003c/code\u003e\u003c/a\u003e build(deps): Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1467\"\u003e#1467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/55283fd89af4f8f177a7f1d425a567da4561c97c\"\u003e\u003ccode\u003e55283fd\u003c/code\u003e\u003c/a\u003e build(deps): Bump ch.qos.logback:logback-classic from 1.6.1 to 1.6.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1468\"\u003e#1468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/585b761b2383247c272651f7c46752005dd06b4b\"\u003e\u003ccode\u003e585b761\u003c/code\u003e\u003c/a\u003e build(deps): Bump org.apache.maven:apache-maven from 3.9.11 to 3.9.16 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/neo4j/neo4j-ogm/compare/v5.0.7...v5.0.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.neo4j:neo4j-ogm-bolt-driver` from 5.0.7 to 5.0.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/neo4j/neo4j-ogm/releases\"\u003eorg.neo4j:neo4j-ogm-bolt-driver's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.0.8\u003c/h2\u003e\n\u003cp\u003eThis is a recommended update for all users. It includes several important security fixes and has no breaking changes or other side effects.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[fix] Group entities also by removed / updated properties before multi-statement updates. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1473\"\u003e#1473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Replace variable placeholder \u003ccode\u003e$\u003c/code\u003e in favor of passing the variable down the call stack. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1472\"\u003e#1472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Use the full classname to lookup class info during query execution and deletion. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1471\"\u003e#1471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Use Cypher-DSL Schema Names support to uniformly escape names. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1470\"\u003e#1470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.2 to 6.1.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1465\"\u003e#1465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j.driver:neo4j-java-driver from 6.2.0 to 6.2.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1466\"\u003e#1466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1467\"\u003e#1467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.1 to 1.6.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1468\"\u003e#1468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven:apache-maven from 3.9.11 to 3.9.16 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[chore] Minor remaining polishing of the \u003ccode\u003eConfiguration\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.jreleaser:jreleaser-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1448\"\u003e#1448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1452\"\u003e#1452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump kotlin.version from 2.4.0 to 2.4.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1453\"\u003e#1453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.mycila:license-maven-plugin from 5.0.0 to 5.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1454\"\u003e#1454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.10 to 1.18.11 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1447\"\u003e#1447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1449\"\u003e#1449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.1 to 6.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven.plugins:maven-jar-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1455\"\u003e#1455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump brace-expansion, \u003ccode\u003e@​antora/cli\u003c/code\u003e, \u003ccode\u003e@​antora/site-generator-default\u003c/code\u003e and nodemon (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1458\"\u003e#1458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.37 to 1.6.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1459\"\u003e#1459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1460\"\u003e#1460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Fully rebuild the URL without the \u003ccode\u003euserInfo\u003c/code\u003e part instead of search and replace. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1464\"\u003e#1464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Throw \u003ccode\u003eIllegalArgumentException\u003c/code\u003e when a non-supported \u003ccode\u003eencryptionLevel\u003c/code\u003e is used. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Handle colons in passwords proper. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Add page-tabs attributes (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1461\"\u003e#1461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.0 to 6.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1441\"\u003e#1441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1442\"\u003e#1442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump commons-logging:commons-logging from 1.3.6 to 1.4.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1443\"\u003e#1443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.8 to 1.18.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1444\"\u003e#1444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.34 to 1.5.37 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1445\"\u003e#1445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[build] Pin all actions (including officials) to their current sha. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1446\"\u003e#1446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Remove broken Stackoverflow badge.\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/neo4j/neo4j-ogm/blob/master/CHANGES.adoc\"\u003eorg.neo4j:neo4j-ogm-bolt-driver's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 5.0.8\u003c/p\u003e\n\u003cp\u003eThis is a recommended update for all users. It includes several important security fixes and has no breaking changes or other side effects.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[fix] Group entities also by removed / updated properties before multi-statement updates. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1473\"\u003e#1473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Replace variable placeholder \u003ccode\u003e$\u003c/code\u003e in favor of passing the variable down the call stack. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1472\"\u003e#1472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Use the full classname to lookup class info during query execution and deletion. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1471\"\u003e#1471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Use Cypher-DSL Schema Names support to uniformly escape names. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1470\"\u003e#1470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.2 to 6.1.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1465\"\u003e#1465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j.driver:neo4j-java-driver from 6.2.0 to 6.2.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1466\"\u003e#1466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1467\"\u003e#1467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.1 to 1.6.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1468\"\u003e#1468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven:apache-maven from 3.9.11 to 3.9.16 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[chore] Minor remaining polishing of the \u003ccode\u003eConfiguration\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.jreleaser:jreleaser-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1448\"\u003e#1448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1452\"\u003e#1452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump kotlin.version from 2.4.0 to 2.4.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1453\"\u003e#1453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.mycila:license-maven-plugin from 5.0.0 to 5.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1454\"\u003e#1454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.10 to 1.18.11 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1447\"\u003e#1447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1449\"\u003e#1449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.1 to 6.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven.plugins:maven-jar-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1455\"\u003e#1455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump brace-expansion, \u003ccode\u003e@​antora/cli\u003c/code\u003e, \u003ccode\u003e@​antora/site-generator-default\u003c/code\u003e and nodemon (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1458\"\u003e#1458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.37 to 1.6.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1459\"\u003e#1459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1460\"\u003e#1460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Fully rebuild the URL without the \u003ccode\u003euserInfo\u003c/code\u003e part instead of search and replace. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1464\"\u003e#1464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Throw \u003ccode\u003eIllegalArgumentException\u003c/code\u003e when a non-supported \u003ccode\u003eencryptionLevel\u003c/code\u003e is used. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Handle colons in passwords proper. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Add page-tabs attributes (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1461\"\u003e#1461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.0 to 6.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1441\"\u003e#1441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1442\"\u003e#1442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump commons-logging:commons-logging from 1.3.6 to 1.4.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1443\"\u003e#1443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.8 to 1.18.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1444\"\u003e#1444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.34 to 1.5.37 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1445\"\u003e#1445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[build] Pin all actions (including officials) to their current sha. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1446\"\u003e#1446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Remove broken Stackoverflow badge.\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/neo4j/neo4j-ogm/commit/f2f0ce3820cd91ec7aff59c22aa4f3804b46e185\"\u003e\u003ccode\u003ef2f0ce3\u003c/code\u003e\u003c/a\u003e Release 5.0.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/218ecb72c235242b17987d69d55cd7c0b50075de\"\u003e\u003ccode\u003e218ecb7\u003c/code\u003e\u003c/a\u003e Fix: Group entities also by removed / updated properties before multi-stateme...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/450604b44511a967fd287e6dc440bafa4e203076\"\u003e\u003ccode\u003e450604b\u003c/code\u003e\u003c/a\u003e refactor: Replace variable placeholder \u003ccode\u003e$\u003c/code\u003e in favor of passing the variable d...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/dc20994e9489be30c660c08af7d833a8532d2aa0\"\u003e\u003ccode\u003edc20994\u003c/code\u003e\u003c/a\u003e fix: Use full classname to lookup class info during query execution and delet...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/b10d9fb6e123ddf433b2b778e420f71dece81ec3\"\u003e\u003ccode\u003eb10d9fb\u003c/code\u003e\u003c/a\u003e refactor: Use Cypher-DSL Schema Names support to uniformly escape names. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1470\"\u003e#1470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/6b2d23017d855fa4bda93e037505afac4d1f2f0e\"\u003e\u003ccode\u003e6b2d230\u003c/code\u003e\u003c/a\u003e build(deps): Bump org.junit:junit-bom from 6.1.2 to 6.1.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1465\"\u003e#1465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/4d7e9160a79e9309f8a589da101a63e97752f4b9\"\u003e\u003ccode\u003e4d7e916\u003c/code\u003e\u003c/a\u003e build(deps): Bump org.neo4j.driver:neo4j-java-driver from 6.2.0 to 6.2.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1466\"\u003e#1466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/5f0f1cb66233c6220fa08422a673355cacbb2c72\"\u003e\u003ccode\u003e5f0f1cb\u003c/code\u003e\u003c/a\u003e build(deps): Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1467\"\u003e#1467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/55283fd89af4f8f177a7f1d425a567da4561c97c\"\u003e\u003ccode\u003e55283fd\u003c/code\u003e\u003c/a\u003e build(deps): Bump ch.qos.logback:logback-classic from 1.6.1 to 1.6.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1468\"\u003e#1468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/585b761b2383247c272651f7c46752005dd06b4b\"\u003e\u003ccode\u003e585b761\u003c/code\u003e\u003c/a\u003e build(deps): Bump org.apache.maven:apache-maven from 3.9.11 to 3.9.16 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/neo4j/neo4j-ogm/compare/v5.0.7...v5.0.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.neo4j:neo4j-ogm-bolt-driver` from 5.0.7 to 5.0.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/neo4j/neo4j-ogm/releases\"\u003eorg.neo4j:neo4j-ogm-bolt-driver's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.0.8\u003c/h2\u003e\n\u003cp\u003eThis is a recommended update for all users. It includes several important security fixes and has no breaking changes or other side effects.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[fix] Group entities also by removed / updated properties before multi-statement updates. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1473\"\u003e#1473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Replace variable placeholder \u003ccode\u003e$\u003c/code\u003e in favor of passing the variable down the call stack. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1472\"\u003e#1472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Use the full classname to lookup class info during query execution and deletion. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1471\"\u003e#1471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Use Cypher-DSL Schema Names support to uniformly escape names. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1470\"\u003e#1470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.2 to 6.1.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1465\"\u003e#1465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j.driver:neo4j-java-driver from 6.2.0 to 6.2.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1466\"\u003e#1466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1467\"\u003e#1467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.1 to 1.6.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1468\"\u003e#1468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven:apache-maven from 3.9.11 to 3.9.16 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[chore] Minor remaining polishing of the \u003ccode\u003eConfiguration\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.jreleaser:jreleaser-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1448\"\u003e#1448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1452\"\u003e#1452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump kotlin.version from 2.4.0 to 2.4.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1453\"\u003e#1453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.mycila:license-maven-plugin from 5.0.0 to 5.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1454\"\u003e#1454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.10 to 1.18.11 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1447\"\u003e#1447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1449\"\u003e#1449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.1 to 6.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven.plugins:maven-jar-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1455\"\u003e#1455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump brace-expansion, \u003ccode\u003e@​antora/cli\u003c/code\u003e, \u003ccode\u003e@​antora/site-generator-default\u003c/code\u003e and nodemon (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1458\"\u003e#1458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.37 to 1.6.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1459\"\u003e#1459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1460\"\u003e#1460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Fully rebuild the URL without the \u003ccode\u003euserInfo\u003c/code\u003e part instead of search and replace. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1464\"\u003e#1464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Throw \u003ccode\u003eIllegalArgumentException\u003c/code\u003e when a non-supported \u003ccode\u003eencryptionLevel\u003c/code\u003e is used. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Handle colons in passwords proper. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Add page-tabs attributes (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1461\"\u003e#1461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.0 to 6.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1441\"\u003e#1441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1442\"\u003e#1442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump commons-logging:commons-logging from 1.3.6 to 1.4.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1443\"\u003e#1443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.8 to 1.18.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1444\"\u003e#1444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.34 to 1.5.37 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1445\"\u003e#1445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[build] Pin all actions (including officials) to their current sha. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1446\"\u003e#1446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Remove broken Stackoverflow badge.\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/neo4j/neo4j-ogm/blob/master/CHANGES.adoc\"\u003eorg.neo4j:neo4j-ogm-bolt-driver's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 5.0.8\u003c/p\u003e\n\u003cp\u003eThis is a recommended update for all users. It includes several important security fixes and has no breaking changes or other side effects.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[fix] Group entities also by removed / updated properties before multi-statement updates. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1473\"\u003e#1473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Replace variable placeholder \u003ccode\u003e$\u003c/code\u003e in favor of passing the variable down the call stack. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1472\"\u003e#1472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Use the full classname to lookup class info during query execution and deletion. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1471\"\u003e#1471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Use Cypher-DSL Schema Names support to uniformly escape names. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1470\"\u003e#1470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.2 to 6.1.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1465\"\u003e#1465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j.driver:neo4j-java-driver from 6.2.0 to 6.2.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1466\"\u003e#1466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1467\"\u003e#1467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.1 to 1.6.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1468\"\u003e#1468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven:apache-maven from 3.9.11 to 3.9.16 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[chore] Minor remaining polishing of the \u003ccode\u003eConfiguration\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.jreleaser:jreleaser-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1448\"\u003e#1448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1452\"\u003e#1452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump kotlin.version from 2.4.0 to 2.4.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1453\"\u003e#1453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.mycila:license-maven-plugin from 5.0.0 to 5.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1454\"\u003e#1454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.10 to 1.18.11 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1447\"\u003e#1447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1449\"\u003e#1449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.1 to 6.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven.plugins:maven-jar-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1455\"\u003e#1455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump brace-expansion, \u003ccode\u003e@​antora/cli\u003c/code\u003e, \u003ccode\u003e@​antora/site-generator-default\u003c/code\u003e and nodemon (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1458\"\u003e#1458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.37 to 1.6.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1459\"\u003e#1459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1460\"\u003e#1460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Fully rebuild the URL without the \u003ccode\u003euserInfo\u003c/code\u003e part instead of search and replace. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1464\"\u003e#1464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Throw \u003ccode\u003eIllegalArgumentException\u003c/code\u003e when a non-supported \u003ccode\u003eencryptionLevel\u003c/code\u003e is used. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Handle colons in passwords proper. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Add page-tabs attributes (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1461\"\u003e#1461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.0 to 6.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1441\"\u003e#1441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1442\"\u003e#1442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump commons-logging:commons-logging from 1.3.6 to 1.4.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1443\"\u003e#1443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.8 to 1.18.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1444\"\u003e#1444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.34 to 1.5.37 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1445\"\u003e#1445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[build] Pin all actions (including officials) to their current sha. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1446\"\u003e#1446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Remove broken Stackoverflow badge.\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/neo4j/neo4j-ogm/commit/f2f0ce3820cd91ec7aff59c22aa4f3804b46e185\"\u003e\u003ccode\u003ef2f0ce3\u003c/code\u003e\u003c/a\u003e Release 5.0.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/218ecb72c235242b17987d69d55cd7c0b50075de\"\u003e\u003ccode\u003e218ecb7\u003c/code\u003e\u003c/a\u003e Fix: Group entities also by removed / updated properties before multi-stateme...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/450604b44511a967fd287e6dc440bafa4e203076\"\u003e\u003ccode\u003e450604b\u003c/code\u003e\u003c/a\u003e refactor: Replace variable placeholder \u003ccode\u003e$\u003c/code\u003e in favor of passing the variable d...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/dc20994e9489be30c660c08af7d833a8532d2aa0\"\u003e\u003ccode\u003edc20994\u003c/code\u003e\u003c/a\u003e fix: Use full classname to lookup class info during query execution and delet...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/b10d9fb6e123ddf433b2b778e420f71dece81ec3\"\u003e\u003ccode\u003eb10d9fb\u003c/code\u003e\u003c/a\u003e refactor: Use Cypher-DSL Schema Names support to uniformly escape names. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/is...\n\n_Description has been truncated_","html_url":"https://github.com/noheton/shepard/pull/2680","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/noheton%2Fshepard/issues/2680","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2680/packages"},{"uuid":"5295576921","node_id":"PR_kwDOQertjM8AAAABBivu9g","number":437,"state":"closed","title":"build(deps): bump the routine-java group across 1 directory with 9 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-07T01:48:01.000Z","author_association":null,"state_reason":null,"created_at":"2026-08-31T01:47:15.000Z","updated_at":"2026-09-07T01:48:03.000Z","time_to_close":604846,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"routine-java","update_count":9,"packages":[{"name":"org.springframework.boot:spring-boot-starter-parent","old_version":"4.0.5","new_version":"4.1.1","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.junit:junit-bom","old_version":"6.0.2","new_version":"6.1.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.springframework.modulith:spring-modulith-bom","old_version":"2.0.5","new_version":"2.1.1","repository_url":"https://github.com/spring-projects/spring-modulith"},{"name":"io.opentelemetry:opentelemetry-bom","old_version":"1.61.0","new_version":"1.65.0","repository_url":"https://github.com/open-telemetry/opentelemetry-java"},{"name":"org.bouncycastle:bcprov-jdk15to18","old_version":"1.84","new_version":"1.85.2","repository_url":"https://github.com/bcgit/bc-java"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.4.1","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"org.apache.maven.plugins:maven-enforcer-plugin","old_version":"3.6.1","new_version":"3.6.3","repository_url":"https://github.com/apache/maven-enforcer"},{"name":"org.jacoco:jacoco-maven-plugin","old_version":"0.8.14","new_version":"0.8.15","repository_url":"https://github.com/jacoco/jacoco"},{"name":"org.pitest:pitest-maven","old_version":"1.22.0","new_version":"1.30.0","repository_url":"https://github.com/hcoles/pitest"}],"path":null,"ecosystem":"maven"},"body":"Bumps the routine-java group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.springframework.boot:spring-boot-starter-parent](https://github.com/spring-projects/spring-boot) | `4.0.5` | `4.1.1` |\n| [org.junit:junit-bom](https://github.com/junit-team/junit-framework) | `6.0.2` | `6.1.3` |\n| [org.springframework.modulith:spring-modulith-bom](https://github.com/spring-projects/spring-modulith) | `2.0.5` | `2.1.1` |\n| [io.opentelemetry:opentelemetry-bom](https://github.com/open-telemetry/opentelemetry-java) | `1.61.0` | `1.65.0` |\n| [org.bouncycastle:bcprov-jdk15to18](https://github.com/bcgit/bc-java) | `1.84` | `1.85.2` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.4.1` | `1.5.0` |\n| [org.apache.maven.plugins:maven-enforcer-plugin](https://github.com/apache/maven-enforcer) | `3.6.1` | `3.6.3` |\n| [org.jacoco:jacoco-maven-plugin](https://github.com/jacoco/jacoco) | `0.8.14` | `0.8.15` |\n| [org.pitest:pitest-maven](https://github.com/hcoles/pitest) | `1.22.0` | `1.30.0` |\n\n\nUpdates `org.springframework.boot:spring-boot-starter-parent` from 4.0.5 to 4.1.1\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:spring-boot-starter-parent's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch2\u003e:warning: Attention Required\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpring Boot's Gradle plugin no longer automatically configures gRPC when the Protobuf plugin is applied. This behavior caused problems for those using Protobuf without gRPC. To opt in to the configuration of gRPC, configure the \u003ccode\u003eprotobuf\u003c/code\u003e extension with the \u003ccode\u003egrpc\u003c/code\u003e plugin using an empty block. The Spring Boot Gradle plugin will then automatically configure the use of \u003ccode\u003eprotoc-gen-grpc-java\u003c/code\u003e as before. \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50822\"\u003e#50822\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKafka consumer-specific security protocol is not taken into account \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51369\"\u003e#51369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStructured logging: a failed JSON encode corrupts the next log event written on the same thread \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51156\"\u003e#51156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMicrometer registries pin the application context \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51135\"\u003e#51135\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTemporary file is not deleted when ExportedImageTar construction fails \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51132\"\u003e#51132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMetadata annotation processor ignores getter-level \u003ccode\u003e@NestedConfigurationProperty\u003c/code\u003e for records \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51098\"\u003e#51098\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-h2-console pulls servlet-api as transitive dependency \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51095\"\u003e#51095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropertiesLauncher does not log nested archive paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51089\"\u003e#51089\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMethods that return the result of Map#remove are not declared with a \u003ccode\u003e@Nullable\u003c/code\u003e return type \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51087\"\u003e#51087\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNativeImageResourceProvider flattens Flyway migration paths in subdirectories \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50964\"\u003e#50964\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ordering of Kotlinx Serialization CodecCustomizer \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50961\"\u003e#50961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJarFile is not closed when finding main class from archive \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50959\"\u003e#50959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplication-managed JUL bridge handler should only be removed if installed \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50950\"\u003e#50950\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCloudFoundry reactive auto-configuration should not require a WebClient.Builder bean to be defined \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50944\"\u003e#50944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails on reactive Cloud Foundry when using Actuator without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50942\"\u003e#50942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResources are not cleaned up when resolving an image that is not yet present in the builder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50941\"\u003e#50941\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGraphQlWebMvcAutoConfiguration should apply customizers in order \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50914\"\u003e#50914\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configured RedisMessageListenerContainer does not use virtual threads when spring.threads.virtual.enabled is true \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50884\"\u003e#50884\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails when using Actuator on Jersey without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50872\"\u003e#50872\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails on Cloud Foundry when using Actuator without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50871\"\u003e#50871\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIllegalStateException when binding properties to a \u003ccode\u003e@Validated\u003c/code\u003e class that contains a map whose value type is a wildcard \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50856\"\u003e#50856\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHigh number of connections due to Mongo health indicator \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50852\"\u003e#50852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInconsistent handling of empty string values of spring.security.oauth2.resourceserver.jwt issuer-uri and jwk-set-uri \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50849\"\u003e#50849\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn type nullability of ApplicationContextAssert's getBean methods does not indicate that bean may be null \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50845\"\u003e#50845\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropertiesWebClientHttpServiceGroupConfigurer has highest precedence, preventing other configurers from being ordered ahead of it \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50843\"\u003e#50843\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExposing gRPC test server port should backoff if gRPC is not present \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50825\"\u003e#50825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJpaBaseConfiguration#entityManagerConfiguration can cause a dependency loop on beans declaring AsyncTaskExecutor \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50801\"\u003e#50801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.grpc.server.health.include-overall-health is not taken into account \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50799\"\u003e#50799\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSetting 'server.servlet.session.cookie.partitioned' to false still emits the 'Partitioned' cookie attribute \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50790\"\u003e#50790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eManaged version of Prometheus Client is not aligned with Micrometer's micrometer-registry-prometheus \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50780\"\u003e#50780\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMap properties bound from empty strings fail with ConverterNotFoundException \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50773\"\u003e#50773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProtobuf Common Protos should not be a managed dependency \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50772\"\u003e#50772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAn application that depends on spring-boot-security-oauth2-resource-server may fail to start with a ClassNotFoundException when Reactor is on the classpath but WebFlux is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50764\"\u003e#50764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eW3CHeaderParser's decoding is not compliant with RFC 3986 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50650\"\u003e#50650\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\u003eDescription of spring.graphql.websocket.connection-init-timeout does not render correctly in the reference guide \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51348\"\u003e#51348\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.profiles.group should have a 'spring-profile-name' hint provider \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51284\"\u003e#51284\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove reference to removed InfluxDB auto-configuration \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51176\"\u003e#51176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse JacksonJsonSerde in Kafka Streams documentation \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51161\"\u003e#51161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument alternatives to HttpMessageConverters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51129\"\u003e#51129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix stale type reference for OTLP logging transport metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51119\"\u003e#51119\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMetadata for spring.test.mockmvc.htmlunit.url declares the wrong type \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51115\"\u003e#51115\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/6fdf67ea1552691e932604d4bf67a5e08ff0b0ea\"\u003e\u003ccode\u003e6fdf67e\u003c/code\u003e\u003c/a\u003e Release 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/fde599b28b40932e4ea6194399d89245923a01e7\"\u003e\u003ccode\u003efde599b\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Pulsar 2.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9daa58f7d98b82bf16febcb91943ce267c220a50\"\u003e\u003ccode\u003e9daa58f\u003c/code\u003e\u003c/a\u003e Upgrade to Spring HATEOAS 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/353993ebc1d7b1ceccbb981b0439a42ba122a816\"\u003e\u003ccode\u003e353993e\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Data Bom 2026.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/24ba596bc4fa000614834016452435c834fdeda2\"\u003e\u003ccode\u003e24ba596\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Session 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/5cb5c294d1f4780e78d010a964049e47c074e4d6\"\u003e\u003ccode\u003e5cb5c29\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Security 7.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4adc8eb130c4e0c688ed85316f385f4e04d47679\"\u003e\u003ccode\u003e4adc8eb\u003c/code\u003e\u003c/a\u003e Upgrade to Spring LDAP 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4d9c19cbc0589f57a7265052b507bf4b961082ac\"\u003e\u003ccode\u003e4d9c19c\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Kafka 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f30f6120c4f6f8f873ac56cba478ae1f011c276c\"\u003e\u003ccode\u003ef30f612\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 7.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/b930283d97e92eb24da1de3721cdd41625266dea\"\u003e\u003ccode\u003eb930283\u003c/code\u003e\u003c/a\u003e Upgrade to Spring gRPC 1.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.5...v4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit:junit-bom` from 6.0.2 to 6.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit:junit-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.3 = Platform 6.1.3 + Jupiter 6.1.3 + Vintage 6.1.3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.3/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.2 = Platform 6.1.2 + Jupiter 6.1.2 + Vintage 6.1.2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.2/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.1...r6.1.2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.1...r6.1.2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.1 = Platform 6.1.1 + Jupiter 6.1.1 + Vintage 6.1.1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.1/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.0...r6.1.1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.0...r6.1.1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0 = Platform 6.1.0 + Jupiter 6.1.0 + Vintage 6.1.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JarvisCraft\"\u003e\u003ccode\u003e@​JarvisCraft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5633\"\u003ejunit-team/junit-framework#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Maran23\"\u003e\u003ccode\u003e@​Maran23\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5644\"\u003ejunit-team/junit-framework#5644\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-RC1 = Platform 6.1.0-RC1 + Jupiter 6.1.0-RC1 + Vintage 6.1.0-RC1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-RC1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariokhoury4\"\u003e\u003ccode\u003e@​mariokhoury4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4574\"\u003ejunit-team/junit-framework#4574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ogu1208\"\u003e\u003ccode\u003e@​Ogu1208\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5145\"\u003ejunit-team/junit-framework#5145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HyungGeun94\"\u003e\u003ccode\u003e@​HyungGeun94\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5271\"\u003ejunit-team/junit-framework#5271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yalishevant\"\u003e\u003ccode\u003e@​yalishevant\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5316\"\u003ejunit-team/junit-framework#5316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JINU-CHANG\"\u003e\u003ccode\u003e@​JINU-CHANG\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5290\"\u003ejunit-team/junit-framework#5290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaschdoc\"\u003e\u003ccode\u003e@​jaschdoc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5427\"\u003ejunit-team/junit-framework#5427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kawshikbuet17\"\u003e\u003ccode\u003e@​kawshikbuet17\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5561\"\u003ejunit-team/junit-framework#5561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/msridhar\"\u003e\u003ccode\u003e@​msridhar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5602\"\u003ejunit-team/junit-framework#5602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-M1 = Platform 6.1.0-M1 + Jupiter 6.1.0-M1 + Vintage 6.1.0-M1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-M1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vy\"\u003e\u003ccode\u003e@​vy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5041\"\u003ejunit-team/junit-framework#5041\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/junit-team/junit-framework/commit/f59f60d2cebdf2224235d81f781b1f310cbc8138\"\u003e\u003ccode\u003ef59f60d\u003c/code\u003e\u003c/a\u003e Release 6.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/cd8ec9202ce8260a434edb38a8565e36f620e8d6\"\u003e\u003ccode\u003ecd8ec92\u003c/code\u003e\u003c/a\u003e Finalize 6.1.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/c8729f26aacd8e2dd6fa564b929fe047faaa7dc9\"\u003e\u003ccode\u003ec8729f2\u003c/code\u003e\u003c/a\u003e Restore compatibility with GraalVM 25 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5901\"\u003e#5901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/ddc9e74e5d21c2dd18bc0cfe4681d5ff50ac379c\"\u003e\u003ccode\u003eddc9e74\u003c/code\u003e\u003c/a\u003e Update graalvm/setup-graalvm action to v1.6.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5959\"\u003e#5959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/fe2c52a780fcbda6c7ccf5d6576beb7ad2d80bf8\"\u003e\u003ccode\u003efe2c52a\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.7 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5923\"\u003e#5923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/62afc02b541ee9dfa16b121705f79b7d44f4dae0\"\u003e\u003ccode\u003e62afc02\u003c/code\u003e\u003c/a\u003e Delay GraalVM plugin updates for 3 days\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0cc29022801365a409c1213a811a8877cb88cce3\"\u003e\u003ccode\u003e0cc2902\u003c/code\u003e\u003c/a\u003e Skip \u003ccode\u003egraalVmTest\u003c/code\u003e task if GraalVM env vars are not set\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f6bbfc53e7e00b1b25e7d3b0bc09eef05cc4b721\"\u003e\u003ccode\u003ef6bbfc5\u003c/code\u003e\u003c/a\u003e Move GraalVM tests to separate test task (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/e87e0521d4fbd75116a5fda42566fcb7a56eb340\"\u003e\u003ccode\u003ee87e052\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5899\"\u003e#5899\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1cd56df89754fb8523ac9fbbf888e9a552e33ee8\"\u003e\u003ccode\u003e1cd56df\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5880\"\u003e#5880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.2...r6.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.modulith:spring-modulith-bom` from 2.0.5 to 2.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-modulith/releases\"\u003eorg.springframework.modulith:spring-modulith-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.1.1\u003c/h2\u003e\n\u003ch2\u003e:bulb: Improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse Namastack version property in \u003ccode\u003espring-modulith-events-core\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1807\"\u003e#1807\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:beetle: Bugs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEvent externalization throws \u003ccode\u003eClassCastException\u003c/code\u003e with event listener using \u003ccode\u003eApplicationListener.forPayload(…)\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1832\"\u003e#1832\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRabbitJackson2Configuration and RabbitJacksonConfiguration conflict when Jackson 2.x is on classpath (e.g. Eureka Client) \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1830\"\u003e#1830\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAmbiguous violation message when referring to a non-exposed type in a module generally available for access \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1827\"\u003e#1827\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConcurrentModificationException in TestExecutionCondition when running tests with JUnit parallel class execution \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1824\"\u003e#1824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in \u003ccode\u003espring.modulith.events.staleness.check-interval\u003c/code\u003e configuration property \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1822\"\u003e#1822\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePotential \u003ccode\u003eNullPointerException\u003c/code\u003e in \u003ccode\u003eFormattableType.of(…)\u003c/code\u003e for wildcard types \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1806\"\u003e#1806\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Testcontainers setup to ensure fresh containers for SQL databases \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1802\"\u003e#1802\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMongoDB event publication tests use default localhost connection instead of Testcontainers \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1755\"\u003e#1755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnbounded wildcard / type-variable generic parameters break \u003ccode\u003eFormattableType\u003c/code\u003e (NPE in \u003ccode\u003eDefaultObservedModule.render\u003c/code\u003e) \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1754\"\u003e#1754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRoot module Flyway migrations are not executed during a test \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1753\"\u003e#1753\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 Spring Boot 4.1.1 \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1820\"\u003e#1820\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Namastack Outbox 1.7.3 \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1796\"\u003e#1796\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1814\"\u003e#1814\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Spring Framework 7.0.9 \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1813\"\u003e#1813\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Micrometer Tracing 1.7.1 \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1812\"\u003e#1812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to jGit 7.7.1.202607240634-r \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1797\"\u003e#1797\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/arendomoda\"\u003e\u003ccode\u003e@​arendomoda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arimu1\"\u003e\u003ccode\u003e@​arimu1\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/char-yb\"\u003e\u003ccode\u003e@​char-yb\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/DragonFSKY\"\u003e\u003ccode\u003e@​DragonFSKY\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Hashim1999164\"\u003e\u003ccode\u003e@​Hashim1999164\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/kalayciburak\"\u003e\u003ccode\u003e@​kalayciburak\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/seonwooj0810\"\u003e\u003ccode\u003e@​seonwooj0810\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.1 GA\u003c/h2\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003ch3\u003eOutbox\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for event outbox via Namastack \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1517\"\u003e#1517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport for externalizing events via JobRunr \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1637\"\u003e#1637\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid executing Flyway migrations for modules without any migrations \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1684\"\u003e#1684\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEPR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow opting out of event publication registry handling for an \u003ccode\u003e@TransactionalEventListener\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1630\"\u003e#1630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable JDBC event publication schema creation by default \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1563\"\u003e#1563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake sure that JDBC EPR schema initialization runs after Boot's file-based one \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1568\"\u003e#1568\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTesting\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for application module testing in combination with Boot's slice test support \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1573\"\u003e#1573\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOpen up \u003ccode\u003ePublishedEvents\u003c/code\u003e and \u003ccode\u003eScenario\u003c/code\u003e to see events from all threads by default \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1564\"\u003e#1564\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eObservability\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/spring-projects/spring-modulith/commit/83ce54cfc5229f9fe748afc332d8c728ecd0b81c\"\u003e\u003ccode\u003e83ce54c\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1833\"\u003eGH-1833\u003c/a\u003e - Release version 2.1.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/ef8d256c7970b50e98438f6016b573433958eba9\"\u003e\u003ccode\u003eef8d256\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1832\"\u003eGH-1832\u003c/a\u003e - Polishing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/51e2cc4b00e2a369a6b7f882f1764b3a2cb14d19\"\u003e\u003ccode\u003e51e2cc4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1832\"\u003eGH-1832\u003c/a\u003e - Invoke listeners through SimpleApplicationEventMulticaster.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/3066000f64b78485569103826fe73a92175958e5\"\u003e\u003ccode\u003e3066000\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1830\"\u003eGH-1830\u003c/a\u003e - Polishing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/8127446a79ae94ceed65e0cf89cad499aca874fd\"\u003e\u003ccode\u003e8127446\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1830\"\u003eGH-1830\u003c/a\u003e - Resolve Rabbit Jackson configuration conflict.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/2bdcdc312c5d45e1b18a3778eec7698e653eb06c\"\u003e\u003ccode\u003e2bdcdc3\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1827\"\u003eGH-1827\u003c/a\u003e - Polishing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/f93a92832d589b2c6c59e0f9d0540bbb67f6c3d0\"\u003e\u003ccode\u003ef93a928\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1827\"\u003eGH-1827\u003c/a\u003e - Clarify violation for non-exposed types in allowed modules.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/dacf640cc72de00f5ef72e70dd9fd0738cea8a70\"\u003e\u003ccode\u003edacf640\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1824\"\u003eGH-1824\u003c/a\u003e - Use ConcurrentHashMap for the module dependency cache.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/6827fd5563f65964dbd3b0f6cfd033ae50aba432\"\u003e\u003ccode\u003e6827fd5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1822\"\u003eGH-1822\u003c/a\u003e - Polishing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/ccd78daa4606f50ed724ce76fbba6592941a1f06\"\u003e\u003ccode\u003eccd78da\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1822\"\u003eGH-1822\u003c/a\u003e - Fix typo in staleness check-interval property\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-modulith/compare/2.0.5...2.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.opentelemetry:opentelemetry-bom` from 1.61.0 to 1.65.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-java/releases\"\u003eio.opentelemetry:opentelemetry-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.65.0\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNOTE:\u003c/strong\u003e The \u003ccode\u003eopentelemetry-exporter-zipkin\u003c/code\u003e artifact has stopped being published. It was deprecated in a prior release. Users should migrate to OTLP or use a Zipkin-compatible collector exporter.\u003c/p\u003e\n\u003ch3\u003eAPI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore empty baggage keys in \u003ccode\u003eImmutableBaggage.put\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8658\"\u003e#8658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eNumberFormatException\u003c/code\u003e in baggage decoder (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8593\"\u003e#8593\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTraceStateBuilder.remove\u003c/code\u003e corrupting the builder when the same key is removed twice (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8613\"\u003e#8613\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eIncubating\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd bound instrument APIs (\u003ccode\u003eBoundLongCounter\u003c/code\u003e, \u003ccode\u003eBoundDoubleCounter\u003c/code\u003e, \u003ccode\u003eBoundLongHistogram\u003c/code\u003e, \u003ccode\u003eBoundDoubleHistogram\u003c/code\u003e, \u003ccode\u003eBoundLongUpDownCounter\u003c/code\u003e, \u003ccode\u003eBoundDoubleUpDownCounter\u003c/code\u003e, \u003ccode\u003eBoundLongGauge\u003c/code\u003e, \u003ccode\u003eBoundDoubleGauge\u003c/code\u003e) to the incubator metrics API (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8527\"\u003e#8527\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eExtensions\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eTrace propagators: Fix \u003ccode\u003eJaegerPropagator\u003c/code\u003e baggage header key case sensitivity (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8496\"\u003e#8496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTrace propagators: Do not overwrite existing baggage with empty baggage in \u003ccode\u003eJaegerPropagator\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8632\"\u003e#8632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTrace propagators: Skip empty baggage keys in \u003ccode\u003eOtTracePropagator\u003c/code\u003e extract (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8631\"\u003e#8631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTrace propagators: Stop parsing a \u003ccode\u003ejaeger-baggage\u003c/code\u003e header after 64 tokens, including malformed tokens (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8702\"\u003e#8702\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSDK\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate SDK attributes implementation (\u003ccode\u003eAttributesMap\u003c/code\u003e) to enforce last-value-win semantics based on string value of \u003ccode\u003eAttributeKey.getKey()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8548\"\u003e#8548\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eTraces\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eSampler\u003c/code\u003e shutdown lifecycle: \u003ccode\u003eSampler\u003c/code\u003e now extends \u003ccode\u003eCloseable\u003c/code\u003e and exposes a default \u003ccode\u003eshutdown()\u003c/code\u003e invoked when the \u003ccode\u003eSdkTracerProvider\u003c/code\u003e is shut down; \u003ccode\u003eJaegerRemoteSampler\u003c/code\u003e implements it to stop its polling executor (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8574\"\u003e#8574\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eMetrics\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eGate \u003ccode\u003ePeriodicMetricReader\u003c/code\u003e self-observability metrics by internal telemetry version (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8597\"\u003e#8597\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRecord \u003ccode\u003eerror.type\u003c/code\u003e on failed collections in \u003ccode\u003ePeriodicMetricReader\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8650\"\u003e#8650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTesting: Fix \u003ccode\u003eLongExemplarAssert.hasFilteredAttributesSatisfyingExactly\u003c/code\u003e to enforce exact attribute matching (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8518\"\u003e#8518\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eLogs\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eReadWriteLogRecord\u003c/code\u003e default \u003ccode\u003egetObservedTimestampEpochNanos\u003c/code\u003e returning the record timestamp (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8504\"\u003e#8504\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eProfiles\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix profiles data model attribute count parameter name and timestamp doc unit (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8514\"\u003e#8514\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eExporters\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eWARNING\u003c/strong\u003e Zipkin: Delete \u003ccode\u003eopentelemetry-exporter-zipkin\u003c/code\u003e; the artifact is no longer published (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8677\"\u003e#8677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOTLP: Use HTTP error response bodies in \u003ccode\u003eHttpExporter\u003c/code\u003e warning logs (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8428\"\u003e#8428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOTLP: Fix \u003ccode\u003eOkHttpHttpSender\u003c/code\u003e mTLS when using the platform default trust store (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8565\"\u003e#8565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOTLP: Fix sign extension on \u003ccode\u003eLogRecord\u003c/code\u003e flags in the low-allocation log marshaler (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8493\"\u003e#8493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOTLP: Standardize \u003ccode\u003eOkHttpHttpSender\u003c/code\u003e, \u003ccode\u003eJdkHttpSender\u003c/code\u003e, and \u003ccode\u003eUpstreamGrpcSender\u003c/code\u003e shutdown to await executor/channel termination (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8495\"\u003e#8495\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8627\"\u003e#8627\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8624\"\u003e#8624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOTLP: Log the underlying except/ion when a gRPC response frame is invalid (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8626\"\u003e#8626\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-java/blob/main/CHANGELOG.md\"\u003eio.opentelemetry:opentelemetry-bom's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.65.0 (2026-08-07)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNOTE:\u003c/strong\u003e The \u003ccode\u003eopentelemetry-exporter-zipkin\u003c/code\u003e artifact has stopped being published. It was\ndeprecated in a prior release. Users should migrate to OTLP or use a Zipkin-compatible collector\nexporter.\u003c/p\u003e\n\u003ch3\u003eAPI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore empty baggage keys in \u003ccode\u003eImmutableBaggage.put\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8658\"\u003e#8658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eNumberFormatException\u003c/code\u003e in baggage decoder\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8593\"\u003e#8593\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTraceStateBuilder.remove\u003c/code\u003e corrupting the builder when the same key is removed twice\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8613\"\u003e#8613\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eIncubating\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd bound instrument APIs (\u003ccode\u003eBoundLongCounter\u003c/code\u003e, \u003ccode\u003eBoundDoubleCounter\u003c/code\u003e, \u003ccode\u003eBoundLongHistogram\u003c/code\u003e,\n\u003ccode\u003eBoundDoubleHistogram\u003c/code\u003e, \u003ccode\u003eBoundLongUpDownCounter\u003c/code\u003e, \u003ccode\u003eBoundDoubleUpDownCounter\u003c/code\u003e, \u003ccode\u003eBoundLongGauge\u003c/code\u003e,\n\u003ccode\u003eBoundDoubleGauge\u003c/code\u003e) to the incubator metrics API\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8527\"\u003e#8527\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eExtensions\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eTrace propagators: Fix \u003ccode\u003eJaegerPropagator\u003c/code\u003e baggage header key case sensitivity\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8496\"\u003e#8496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTrace propagators: Do not overwrite existing baggage with empty baggage in \u003ccode\u003eJaegerPropagator\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8632\"\u003e#8632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTrace propagators: Skip empty baggage keys in \u003ccode\u003eOtTracePropagator\u003c/code\u003e extract\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8631\"\u003e#8631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTrace propagators: Stop parsing a \u003ccode\u003ejaeger-baggage\u003c/code\u003e header after 64 tokens, including malformed\ntokens (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8702\"\u003e#8702\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSDK\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate SDK attributes implementation (\u003ccode\u003eAttributesMap\u003c/code\u003e) to enforce last-value-win semantics based\non string value of \u003ccode\u003eAttributeKey.getKey()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8548\"\u003e#8548\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eTraces\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eSampler\u003c/code\u003e shutdown lifecycle: \u003ccode\u003eSampler\u003c/code\u003e now extends \u003ccode\u003eCloseable\u003c/code\u003e and exposes a default\n\u003ccode\u003eshutdown()\u003c/code\u003e invoked when the \u003ccode\u003eSdkTracerProvider\u003c/code\u003e is shut down; \u003ccode\u003eJaegerRemoteSampler\u003c/code\u003e implements\nit to stop its polling executor\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8574\"\u003e#8574\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eMetrics\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eGate \u003ccode\u003ePeriodicMetricReader\u003c/code\u003e self-observability metrics by internal telemetry version\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8597\"\u003e#8597\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/open-telemetry/opentelemetry-java/commit/7bc11edca518d4de168230c84a71484a66cbac40\"\u003e\u003ccode\u003e7bc11ed\u003c/code\u003e\u003c/a\u003e [release/v1.65.x] Prepare release 1.65.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/issues/8705\"\u003e#8705\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java/commit/60d7ecfe270354f8a329a0ecad42fca2650cc36e\"\u003e\u003ccode\u003e60d7ecf\u003c/code\u003e\u003c/a\u003e Prepare 1.65.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/issues/8700\"\u003e#8700\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java/commit/6d41aa40ed39eed5fb000e7595e1b1dd279fed91\"\u003e\u003ccode\u003e6d41aa4\u003c/code\u003e\u003c/a\u003e Bound jaeger-baggage parsing work by tokens rather than accepted entries (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/issues/8702\"\u003e#8702\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java/commit/db1d6bee36537b4f356a6b7d616e587217938177\"\u003e\u003ccode\u003edb1d6be\u003c/code\u003e\u003c/a\u003e Enforce last-value-wins semantics in AttributesMap without performance regres...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java/commit/995cb3c4328f76a21f12e79b2667c684845899ca\"\u003e\u003ccode\u003e995cb3c\u003c/code\u003e\u003c/a\u003e Avoid unsafe string encoder on Android (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/issues/8637\"\u003e#8637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java/commit/48b0185d06a8d34d713d4fc24d6c70502b6f1531\"\u003e\u003ccode\u003e48b0185\u003c/code\u003e\u003c/a\u003e Do not overwrite existing baggage with empty baggage in JaegerPropagator (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/issues/8632\"\u003e#8632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java/commit/2009d5840f24251e65aac98c0f2da2f304e0bf7b\"\u003e\u003ccode\u003e2009d58\u003c/code\u003e\u003c/a\u003e Avoid exposing configuration values in errors (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/issues/8669\"\u003e#8669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java/commit/3cafbbb6206afc6cebb984d9b81e2339a506f148\"\u003e\u003ccode\u003e3cafbbb\u003c/code\u003e\u003c/a\u003e Deprecate OpenCensus shim public API (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/issues/8674\"\u003e#8674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java/commit/0e033e2ca8128ca470abd33f3ef1f2f684bcf610\"\u003e\u003ccode\u003e0e033e2\u003c/code\u003e\u003c/a\u003e Remove stray token from addLogRecordProcessorCustomizer Javadoc (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/issues/8641\"\u003e#8641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java/commit/3d1cce87bd4a78432cca4214a96586046a6e4590\"\u003e\u003ccode\u003e3d1cce8\u003c/code\u003e\u003c/a\u003e Fix ObfuscatedLoggerProvider Javadoc copy-paste example (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/issues/8639\"\u003e#8639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-java/compare/v1.61.0...v1.65.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.bouncycastle:bcprov-jdk15to18` from 1.84 to 1.85.2\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.md\"\u003eorg.bouncycastle:bcprov-jdk15to18's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eBouncy Castle Crypto Package - Release Notes\u003c/h1\u003e\n\u003ch2\u003e1.0 Introduction\u003c/h2\u003e\n\u003cp\u003eThe Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. The package is organised so that it contains a light-weight API suitable for use in any environment (including the J2ME) with the additional infrastructure to conform the algorithms to the JCE framework.\u003c/p\u003e\n\u003ch2\u003e2.0 Release History\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003e2.1.1 Version\u003c/h3\u003e\n\u003cp\u003eRelease: 1.86\u003cbr /\u003e\nDate: 2026, TBD\u003c/p\u003e\n\u003ch3\u003e2.1.2 Defects Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe high-level OpenPGP API (org.bouncycastle.openpgp.api) let a subkey inherit the primary key's Key Flags when its own Subkey Binding signature carried no Key Flags subpacket, which made the two capability decisions taken for one subkey disagree. OpenPGPCertificate.OpenPGPComponentKey.isSigningKey() reads the effective flags, which fell back to the primary key's direct-key or primary user ID self-signature, so a subkey bound with no flags of its own counted as signing-capable; verifyEmbeddedPrimaryKeyBinding reads the binding signature's own flags, found no signing capability there, and so skipped the embedded Primary Key Binding (cross-certification) signature that RFC 9580 sec. 5.2.1.8 and sec. 10.1.3 require of a subkey that can issue signatures. A data signature made by such a subkey was therefore attributed to the certificate and reported valid by OpenPGPSignature.OpenPGPDocumentSignature.isValid() with the cross-certification requirement never applied, where GnuPG refuses the same certificate and message as not cross-certified. An attacker holding a third party's public signing subkey - which is public material - could bind it to their own primary key with a Subkey Binding signature they are able to make, carrying no Key Flags and no embedded Primary Key Binding signature, which they cannot make without the subkey's private key, and have that party's genuine signatures verify as valid under the attacker's own identity: misattribution of a real signature rather than a forgery of a new one, since the signature still has to be one the subkey actually made. Key Flags are a statement about the key the carrying signature refers to (RFC 9580 sec. 5.2.3.29), so a subkey no longer inherits them from the certificate-wide signatures of the primary key: a Subkey Binding signature that omits the subpacket now leaves the subkey with no capabilities rather than the primary's, which makes the flags the cross-certification check consults the same flags every other decision consults. Preferences and the other subpackets a direct-key signature carries are inherited as before, and the primary key itself - whose flags legitimately come from its direct-key or user ID self-signature - is unaffected. The low-level PGPSignature / PGPPublicKeyRing API performs no binding checks by design and is unchanged.\u003c/li\u003e\n\u003cli\u003eNeither the HSS nor the XMSS^MT private key decoder checked its declared index against the traversal state stored beside it, although the two are independent records of the same position in the key and so can be compared. For HSS the records are the top-level index and the component keys' one-time indices q; for XMSS^MT they are the global index and the per-layer BDS states. A stored key whose index had been rolled back while its state stayed advanced - a partial write, a restore from backup, a buggy storage layer - was therefore accepted, and it then signed a second message under a one-time key the key had already used, producing a signature that verified, so nothing anywhere surfaced the reuse. RFC 8554 sec. 1 and RFC 8391 sec. 1.1 both require each one-time key to be used exactly once, and this is the failure those requirements exist to prevent; the single-tree XMSS decoder has tied its BDS state to its index since that state was first validated, and this brings the two multi-tree schemes into line. HSS decode now requires the declared index to equal the position the component q values imply - a level above the last contributes (q - 1) leaves of the levels beneath it, since its q has already advanced past the subtree it signed - and XMSS^MT decode now requires each present layer's BDS index to equal the leaf index that layer derives from the global index, allowing the one position where a layer has moved into a new subtree and its state legitimately still carries the previous subtree's final index. A layer with no state yet is unaffected, since those are built lazily at signing time. Related, and the same shape of omission: an XMSS or XMSS^MT private key encoding carries the tree root twice - the key's own root field and the root node of the BDS state stored beside it, which for XMSS^MT is the top layer's - and the two were never compared either. A corrupted root was accepted and then poisoned every signature the key made, because the root is hashed into the message digest: the signature did not verify and nothing indicated why. Decode now requires the two copies to agree. The BDS node values themselves are not checkable the way the LMS tree cache above is - a BDS authentication path, stack, retain or keep node does not have its children stored alongside it, so recomputing one means building a subtree, which is the work the state exists to avoid. Both checks are integer comparisons over the levels of the key, too small to measure against the surrounding decode, and both were verified not to reject any legitimate key by walking every index a key can reach: the full key space of the two-level HSS and the h=4/d=2, h=6/d=2, h=6/d=3, h=9/d=3 and h=8/d=4 XMSS^MT parameter sets, plus a three-level HSS key across a subtree boundary and an HSS shard. Since those node values cannot be recomputed, the encoded state now carries a checksum over itself instead, with the owning key's public seed hashed in front of it. Any corruption of the stored state is refused at decode rather than being loaded and then producing signatures that silently do not verify, and because the public seed is bound in, a state transplanted between two keys of the same parameter set is refused too, even though it is internally consistent and arrives with its own matching root. The public seed is bound rather than the secret seed or the PRF key deliberately: the state's own root and index are inside the encoding and so are already covered, hashing secret material would make the stored checksum a commitment to it for no gain in detection, and the PRF key does not influence the state at all. \u003cstrong\u003eThis is an error-detecting code and not integrity protection\u003c/strong\u003e - anyone able to rewrite the stored key recomputes it, so it establishes that the state is unchanged since it was written, never that it was correct when written, and the allocation bounds on the encoding remain the guard against a crafted one. It costs one SHA-256 over the state, measured at 5 to 8 microseconds each way for the h=10 and h=16 parameter sets, and 32 bytes of encoding. The state encoding was added earlier in this same cycle and has not been released, so the checksum is simply part of it rather than a new version: a state written by a 1.86 beta is rejected, which is recovered from by re-exporting the key. The deprecated org.bouncycastle.pqc.crypto.lms copy carries the HSS check as well (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2414\"\u003e#2414\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eThe S/MIME example smoke test in the misc module (org.bouncycastle.mail.smime.examples.test.AllTests) drove SendSignedAndEncryptedMail against smtp.gmail.com, and that example finishes with Transport.send() under JavaMail's default settings, which have no connect timeout. Where outbound port 25 is refused the failure was swallowed and the test passed; where it is silently dropped, as on many home networks, the connect blocked and ./gradlew build hung in :misc:test indefinitely with \u0026quot;0 tests completed\u0026quot;. The test now delivers to an SMTP stub on a loopback port, with connect / read / write timeouts as a backstop, and asserts the message arrived (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2407\"\u003e#2407\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eComposite ML-KEM encapsulation took the traditional component public key bytes it feeds the KEM combiner from the recipient key's own encoding, while decapsulation recomputes the point from the private key and so always produced an uncompressed one. Section 4 of draft-ietf-lamps-pq-composite-kem requires an EC component to be carried as an uncompressed point, but a component key that encodes itself compressed - a BC EC key whose point format has been set through org.bouncycastle.jce.interfaces.ECPointEncoder, or a key from a provider that preserves a compressed encoding - was passed through as it came. Both sides then combined a different tradPK and derived different shared secrets, with no error reported on either: encapsulation and decapsulation both succeeded and the recipient simply could not decrypt. The EC component is now normalised to an uncompressed point wherever the engine serialises one, which covers the ephemeral key that forms the ciphertext as well. X25519 and X448 components have a single encoding and were unaffected, as were EC keys left in their default (uncompressed) format, whose shared secrets are unchanged. CompositePublicKey.getEncoded() took its component bytes the same way, so such a key also encoded to a composite key other implementations reject and whose bytes changed across an encode / decode / encode round trip - 1238 bytes rather than 1270 for MLKEM768-ECDH-P256, and for the composite ML-DSA keys sharing that method, 2006 rather than 2038 for MLDSA65-ECDSA-P256. It now normalises the component the same way. This is a write-side change only: a composite key carrying a compressed EC component is still decoded, since the component key factories accept either form, and continues to verify signatures as before - it simply re-encodes in the normalised form. The shared normalisation is org.bouncycastle.jcajce.provider.asymmetric.util.ECUtil.getUncompressedSubjectPublicKeyBytes.\u003c/li\u003e\n\u003cli\u003eComposite ML-KEM encapsulation threw a NullPointerException, wrapped in an IllegalStateException out of KeyGenerator.generateKey(), when the SecureRandom it was given was null - which javax.crypto.KEM.newEncapsulator() documents as a request for the provider's default, and which KeyGenerator.init(spec, null) passes straight through. The three RSA-OAEP composites draw the traditional shared secret from that random directly, so they were the ones affected; the ECDH and X25519 / X448 composites escaped only because their component KeyPairGenerators default a random of their own. CompositeMLKEMEngine now defaults one through CryptoServicesRegistrar.getSecureRandom() on first use, as the composite KEM Cipher's wrap path already did, and as the KEM generators corrected earlier in this cycle now do. Related, the engine now also clears the ML-KEM component's shared secret alongside the traditional one on both the encapsulate and decapsulate paths - the copy handed back by getEncoded() was left in the heap - as section 3.5 of draft-ietf-lamps-pq-composite-kem requires.\u003c/li\u003e\n\u003cli\u003eCompositePublicKey.getAlgorithm() and CompositePrivateKey.getAlgorithm() returned null for all twelve Composite ML-KEM (draft-ietf-lamps-pq-composite-kem) parameter sets. Both classes resolved the name through the composite signature index only, which holds the composite ML-DSA OIDs, so a composite KEM key pair - generated, parsed from a certificate, or read from PKCS#8 - reported no algorithm at all, and the standard JCA idiom of reconstructing a key with KeyFactory.getInstance(key.getAlgorithm()) raised a NullPointerException. The lookup now falls back to the composite KEM index, so the name returned is the one the provider registers the algorithm under (e.g. MLKEM768-X25519-SHA3-256), matching the composite ML-DSA behaviour. The same single-index assumption made the CompositePublicKey(SubjectPublicKeyInfo) and CompositePrivateKey(PrivateKeyInfo) constructors reject a composite KEM key with \u0026quot;unable to create CompositePublicKey from SubjectPublicKeyInfo\u0026quot;; they now dispatch to the composite KEM key factory for those OIDs. Keys obtained through KeyFactory or through BouncyCastleProvider.getPublicKey / getPrivateKey were unaffected and are unchanged (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2404\"\u003e#2404\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eThe org.bouncycastle.jcajce.spec.KEMKDFSpec constructor stored a null otherInfo as given, so getOtherInfo() returned null, and three of the KDF branches KdfUtil.makeKeyBytes dispatches to - KMAC-128, KMAC-256 and SHAKE-256 - read the otherInfo length without a guard and threw NullPointerException out of the KEM operation, where the KDF2, KDF3 and HKDF branches tolerate a null through KDFParameters / HKDFParameters. The Builder of every spec in the package already mapped null to empty, so no provider path reached it, but the constructor is protected on a public class and KdfUtil is documented for callers building their own KEM integration; the deprecated KEMParameterSpec passes a null itself and escaped only because it also pins the KDF to null. The constructor now stores empty for a null, so getOtherInfo() never returns null, and a null and an explicitly empty otherInfo derive the same key.\u003c/li\u003e\n\u003cli\u003eQR-UOV signature verification accepted a signature encoding that was not canonical, so the encoding of a signature was not unique even after the trailing-byte fix of github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2403\"\u003e#2403\u003c/a\u003e. Each F_q element of the signature is stored in ceil(log2 q) bits, one more bit pattern than the field has elements: q itself is representable and is arithmetically congruent to zero, so an element written as q verified exactly as the same element written as zero would, and the bits padding the last element out to the byte boundary were never read at all. Every zero element of a signature therefore carried a second encoding, and for the q = 7 parameter sets roughly one element in seven is zero - a single qruov_5_q7_L10 signature measured 256 spare bits, so on the order of 2^256 distinct byte strings verified for the one message and key. Verification now rejects any element outside [0, q) and any set padding bit; a signature produced by this or by the reference implementation is unaffected, as the KAT vectors of every parameter set confirm. (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2403\"\u003e#2403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSNOVA signature verification ignored four bits inside the signature for any parameter set whose solution is an odd number of GF(16) nibbles - the SNOVA_24_5_5, SNOVA_25_8_3, SNOVA_29_6_5 and SNOVA_66_15_3 families, sixteen of the forty-four parameter sets. The last byte of the encoded solution carries a single nibble and the signer leaves the top four bits zero, but the decoder did not read them, so sixteen distinct byte strings verified for one signature. This is the same non-unique encoding github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2403\"\u003e#2403\u003c/a\u003e closed for bytes following the signature, applied inside it; the verifier now requires those bits to be zero. (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2403\"\u003e#2403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSnovaPrivateKeyParameters did not validate the length of the private key encoding handed to it - the only one of the five schemes of github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2403\"\u003e#2403\u003c/a\u003e that did not - and SnovaParameters.getPrivateKeyLength() reported the expanded (\u0026quot;ESK\u0026quot;) length even for a parameter set whose private key is the seed pair. A private key encoding reaches this constructor straight from a PKCS#8 blob, so a wrong length went undetected: a seed-form key with extra bytes appended was accepted and signed under a different derived key, and a short expanded-form key sized the signer's decode buffer negatively, throwing NegativeArraySizeException out of generateSignature() rather than being reported at construction. Related, the signing retry loop could not terminate: the vinegar values are derived from a single-byte counter, so only 256 distinct linear systems can be tried, and an expanded-form private key that is not a real central map is singular for all of them - generateSignature() then span forever rather than failing. The length is now checked at construction, getPrivateKeyLength() reports the length that parameter set's private key actually has, and the retry loop gives up after its 256 attempts as MAYO's does.\u003c/li\u003e\n\u003cli\u003eMayoSigner and MayoKeyPairGenerator did not clear several buffers holding secret key material that the MAYO reference implementation explicitly clears. Signing left the secret oil space O, the expanded L = (P1 + P1^t) * O + P2, and the M / VPV / Ox intermediates of the central map in place, having gone to the trouble of clearing eleven other buffers; key generation left the expanded seed, whose tail is the encoded oil space, and the P1 * O + P2 half of P; and the row-echelon step left the packed echelon form of the secret linear system and its pivot rows. Separately, if all 256 attempts at solving for the signature had given a rank-deficient system, signing emitted a signature built from the failed attempt's state instead of reporting the failure the reference returns, and AIMerSigner.generateSignature returned an empty array on failure, which a caller would hand on as though it were a signature. Both now throw.\u003c/li\u003e\n\u003cli\u003eFive PQC signature schemes - MAYO, SNOVA, QR-UOV, SQIsign and AIMer - returned the NIST crypto_sign \u0026quot;sm\u0026quot; signed-message envelope from generateSignature() rather than the signature. That envelope is an artefact of the reference KAT harness, which records the message alongside the signature so a vector file can be self-contained; it is not part of any of the five specifications, and no other BC signer emits it (Falcon's KAT test rebuilds the equivalent envelope in the test, which is where it belongs). Two consequences followed, both reaching the JCA Signature services of every parameter set of the five schemes in BouncyCastlePQCProvider. First, since the message was appended to the signature, verification had to skip whatever followed the signature proper, and it did so by checking only that the buffer was long enough - so any number of trailing bytes could be added to a valid signature, or the appended message replaced with unrelated data, and it still verified. A signature encoding was therefore not unique: anyone holding one valid signature could produce unlimited distinct byte strings that all verified for the same message and key, which breaks any use that treats the signature bytes as an identifier, deduplicates on them, or records them as evidence. Second, the envelope propagated into everything built on the operator layer: because ContentSigner hands the signature straight into the structure being signed, every X.509 certificate, CRL, CMS SignedData and TLS CertificateVerify BC produced with one of these algorithms carried a verbatim copy of the signed data inside its own signature field - a self-signed MAYO-1 certificate came to 3567 bytes where the same certificate is now 2020 - which no other implementation can parse as a signature, and which in a detached CMS signature meant the \u0026quot;detached\u0026quot; signature carried the content. generateSignature() now returns the bare signature, and verifySignature() requires exactly the parameter set's signature length, so appended or truncated data is rejected rather than ignored. \u003cstrong\u003eThis is a behavioural change for signatures produced by an earlier release\u003c/strong\u003e - MAYO and SNOVA from 1.84, QR-UOV, SQIsign and AIMer from 1.85 - which are no longer accepted in the envelope form they were emitted in; the signature bytes themselves are unchanged, so a stored value can be recovered by taking the leading signature-length bytes, or for AIMer, whose envelope was message || signature rather than signature || message, the trailing ones. The KAT tests now rebuild the envelope before comparing against the vector files, which continue to record it. Note that AIMer's verification had already been made length-exact during this cycle (see the entry below relating to github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2401\"\u003e#2401\u003c/a\u003e), so of the five only its envelope remained (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2403\"\u003e#2403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eThe MLS implementation did not bind an X.509 credential to the LeafNode's signature_key. LeafNode.verify() checked a leaf's signature against the signature_key declared in the leaf itself, while the X.509 credential's certificate chain was stored but never parsed or checked, so the certificate's public key was never required to match signature_key (RFC 9420 sec. 5.3). A leaf could therefore carry one party's certificate while being signed by an unrelated key and still be accepted under that party's identity through KeyPackage.verify() and the Group leaf-validation path. LeafNode.verify() now requires the end-entity certificate's subject public key, in the cipher suite's signature encoding, to equal signature_key for an X.509 credential, and rejects the leaf otherwise - including an empty chain or a certificate whose key type does not match the cipher suite; certificate-chain and identity validation to a trust anchor remain the application's responsibility per RFC 9420 sec. 5.3.1. A public org.bouncycastle.mls.codec.Certificate(byte[]) constructor and a Credential.getCertificates() accessor are added so callers can build and inspect X.509 credentials. Basic credentials are unaffected.\u003c/li\u003e\n\u003cli\u003eThe SecureRandom supplied to org.bouncycastle.cms.jcajce.JceCMSContentEncryptorBuilder.setSecureRandom() did not drive the content IV / nonce for any algorithm other than RC2. EnvelopedDataHelper.generateParameters passed the caller's SecureRandom to the AlgorithmParameterGenerator only in the RC2_CBC branch; every other content-encryption algorithm - AES-CBC, AES-GCM, AES-CCM, Camellia, ARIA, SEED and the rest - reached pGen.generateParameters() on an uninitialised generator, so the IV / nonce was drawn from a default SecureRandom and setSecureRandom() was silently ignored (the builder's javadoc states that random is used for IV/nonce generation). The generator is now initialised with the supplied random on the general path as well, so a caller who provides a specific randomness source - for a controlled or FIPS-approved DRBG, say - has it honoured for the content IV / nonce. The session-key generation path was unaffected and already used the supplied random. Because the content IV / nonce now comes from the supplied SecureRandom, the org.bouncycastle.crypto.util JournalingSecureRandom / JournaledAlgorithm reproducible-encryption support records it in the transcript: a resumed session reproduces the IV / nonce by regenerating it from the replayed randomness - build the resuming encryptor from the content-algorithm OID - rather than by reusing the AlgorithmIdentifier captured from the first encryption, which no longer keeps the transcript aligned.\u003c/li\u003e\n\u003cli\u003eThe NTRU LPRime, NTRU+ and SMAUG-T KEM generators threw a NullPointerException when constructed with a null SecureRandom, where every other KEM generator - including NTRU LPRime's own SNTRU Prime counterpart in the same package - defaults one through CryptoServicesRegistrar.getSecureRandom(). This is reachable from the lightweight API directly, and from javax.crypto.KEM, whose newEncapsulator() documents a null random as a request for the provider's default.\u003c/li\u003e\n\u003cli\u003eFrodoKEMEngine kept a single SHAKE instance in a field, so an engine reached concurrently produced wrong results. It is reached that way through org.bouncycastle.crypto.kems.FrodoKEMExtractor, which holds one engine for its lifetime: two threads extracting through one extractor interleaved the digest's absorb and squeeze phases, yielding shared secrets that silently did not match the sender's, or an IllegalStateException of \u0026quot;attempt to absorb while squeezing\u0026quot; from inside extractSecret. The digest is now built per call, as CMCEEngine's already was, which makes an extractor safe to share. Encapsulation was unaffected, since FrodoKEMGenerator builds an engine per call. Results for any single-threaded use are unchanged - the reference KAT vectors are byte-identical.\u003c/li\u003e\n\u003cli\u003eThe BCJSSE provider carried the TLS 1.2 coupling between the supported_groups extension and ECDSA over into TLS 1.3: an ECDSA signature scheme was treated as usable - offered in the signature_algorithms and signature_algorithms_cert extensions, and eligible when selecting the local credentials - only while the corresponding curve was among the named groups enabled for key exchange, both per context (a group unavailable for key agreement disabled the scheme outright) and per connection (the curve had to be in the supported_groups list about to be sent). RFC 8446 sec. 4.2.7 scopes supported_groups to key exchange only, with signature algorithms negotiated independently (sec. 4.2.3), so this incorrect restriction in TLS 1.3 has been removed. Ed25519, Ed448 and the RSA schemes were unaffected (as well as typical deployments using a default configuration for named groups).\u003c/li\u003e\n\u003cli\u003eThe bcmail module descriptor did not declare its javax.mail/javax.activation dependences, so a modular (module-path) consumer of the jar hit IllegalAccessError/module-resolution failures when the S/MIME classes touched the mail API. The descriptor now requires them optionally (requires static) under all four module names those libraries are known by - the automatic names mail and activation carried by the javax.mail:mail / javax.activation:activation artif...\n\n_Description has been truncated_","html_url":"https://github.com/diam5752/Subs_And_Export/pull/437","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/diam5752%2FSubs_And_Export/issues/437","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/437/packages"},{"uuid":"5295163674","node_id":"PR_kwDOT5EO0c8AAAABBibn9g","number":4,"state":"closed","title":"build(deps): bump the gradle-dependencies group across 1 directory with 9 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-05T04:35:55.000Z","author_association":null,"state_reason":null,"created_at":"2026-08-31T00:20:10.000Z","updated_at":"2026-09-05T04:35:57.000Z","time_to_close":447345,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"gradle-dependencies","update_count":9,"packages":[{"name":"org.springframework.modulith:spring-modulith-bom","old_version":"2.1.0","new_version":"2.1.1","repository_url":"https://github.com/spring-projects/spring-modulith"},{"name":"org.bouncycastle:bcprov-jdk18on","old_version":"1.81","new_version":"1.85.2","repository_url":"https://github.com/bcgit/bc-java"},{"name":"com.resend:resend-java","old_version":"v4.15.0","new_version":"v4.18.0","repository_url":"https://github.com/resendlabs/resend-java"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"3.0.2","new_version":"3.1.0","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.4.2","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"org.springframework.boot","old_version":"4.0.6","new_version":"4.1.1","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"com.diffplug.spotless","old_version":"8.6.0","new_version":"8.10.1"},{"name":"org.sonarqube","old_version":"7.2.3.7755","new_version":"7.4.0.8496"},{"name":"gradle-wrapper","old_version":"9.5.1","new_version":"9.7.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.springframework.modulith:spring-modulith-bom](https://github.com/spring-projects/spring-modulith) | `2.1.0` | `2.1.1` |\n| [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) | `1.81` | `1.85.2` |\n| [com.resend:resend-java](https://github.com/resendlabs/resend-java) | `v4.15.0` | `v4.18.0` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `3.0.2` | `3.1.0` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.4.2` | `1.5.0` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.6` | `4.1.1` |\n| com.diffplug.spotless | `8.6.0` | `8.10.1` |\n| org.sonarqube | `7.2.3.7755` | `7.4.0.8496` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.5.1` | `9.7.1` |\n\n\nUpdates `org.springframework.modulith:spring-modulith-bom` from 2.1.0 to 2.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-modulith/releases\"\u003eorg.springframework.modulith:spring-modulith-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.1.1\u003c/h2\u003e\n\u003ch2\u003e:bulb: Improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse Namastack version property in \u003ccode\u003espring-modulith-events-core\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1807\"\u003e#1807\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:beetle: Bugs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEvent externalization throws \u003ccode\u003eClassCastException\u003c/code\u003e with event listener using \u003ccode\u003eApplicationListener.forPayload(…)\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1832\"\u003e#1832\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRabbitJackson2Configuration and RabbitJacksonConfiguration conflict when Jackson 2.x is on classpath (e.g. Eureka Client) \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1830\"\u003e#1830\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAmbiguous violation message when referring to a non-exposed type in a module generally available for access \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1827\"\u003e#1827\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConcurrentModificationException in TestExecutionCondition when running tests with JUnit parallel class execution \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1824\"\u003e#1824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in \u003ccode\u003espring.modulith.events.staleness.check-interval\u003c/code\u003e configuration property \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1822\"\u003e#1822\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePotential \u003ccode\u003eNullPointerException\u003c/code\u003e in \u003ccode\u003eFormattableType.of(…)\u003c/code\u003e for wildcard types \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1806\"\u003e#1806\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Testcontainers setup to ensure fresh containers for SQL databases \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1802\"\u003e#1802\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMongoDB event publication tests use default localhost connection instead of Testcontainers \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1755\"\u003e#1755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnbounded wildcard / type-variable generic parameters break \u003ccode\u003eFormattableType\u003c/code\u003e (NPE in \u003ccode\u003eDefaultObservedModule.render\u003c/code\u003e) \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1754\"\u003e#1754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRoot module Flyway migrations are not executed during a test \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1753\"\u003e#1753\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 Spring Boot 4.1.1 \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1820\"\u003e#1820\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Namastack Outbox 1.7.3 \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1796\"\u003e#1796\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1814\"\u003e#1814\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Spring Framework 7.0.9 \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1813\"\u003e#1813\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Micrometer Tracing 1.7.1 \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1812\"\u003e#1812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to jGit 7.7.1.202607240634-r \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1797\"\u003e#1797\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/arendomoda\"\u003e\u003ccode\u003e@​arendomoda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arimu1\"\u003e\u003ccode\u003e@​arimu1\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/char-yb\"\u003e\u003ccode\u003e@​char-yb\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/DragonFSKY\"\u003e\u003ccode\u003e@​DragonFSKY\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Hashim1999164\"\u003e\u003ccode\u003e@​Hashim1999164\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/kalayciburak\"\u003e\u003ccode\u003e@​kalayciburak\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/seonwooj0810\"\u003e\u003ccode\u003e@​seonwooj0810\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/spring-projects/spring-modulith/commit/83ce54cfc5229f9fe748afc332d8c728ecd0b81c\"\u003e\u003ccode\u003e83ce54c\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1833\"\u003eGH-1833\u003c/a\u003e - Release version 2.1.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/ef8d256c7970b50e98438f6016b573433958eba9\"\u003e\u003ccode\u003eef8d256\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1832\"\u003eGH-1832\u003c/a\u003e - Polishing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/51e2cc4b00e2a369a6b7f882f1764b3a2cb14d19\"\u003e\u003ccode\u003e51e2cc4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1832\"\u003eGH-1832\u003c/a\u003e - Invoke listeners through SimpleApplicationEventMulticaster.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/3066000f64b78485569103826fe73a92175958e5\"\u003e\u003ccode\u003e3066000\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1830\"\u003eGH-1830\u003c/a\u003e - Polishing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/8127446a79ae94ceed65e0cf89cad499aca874fd\"\u003e\u003ccode\u003e8127446\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1830\"\u003eGH-1830\u003c/a\u003e - Resolve Rabbit Jackson configuration conflict.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/2bdcdc312c5d45e1b18a3778eec7698e653eb06c\"\u003e\u003ccode\u003e2bdcdc3\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1827\"\u003eGH-1827\u003c/a\u003e - Polishing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/f93a92832d589b2c6c59e0f9d0540bbb67f6c3d0\"\u003e\u003ccode\u003ef93a928\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1827\"\u003eGH-1827\u003c/a\u003e - Clarify violation for non-exposed types in allowed modules.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/dacf640cc72de00f5ef72e70dd9fd0738cea8a70\"\u003e\u003ccode\u003edacf640\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1824\"\u003eGH-1824\u003c/a\u003e - Use ConcurrentHashMap for the module dependency cache.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/6827fd5563f65964dbd3b0f6cfd033ae50aba432\"\u003e\u003ccode\u003e6827fd5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1822\"\u003eGH-1822\u003c/a\u003e - Polishing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/ccd78daa4606f50ed724ce76fbba6592941a1f06\"\u003e\u003ccode\u003eccd78da\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1822\"\u003eGH-1822\u003c/a\u003e - Fix typo in staleness check-interval property\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-modulith/compare/2.1.0...2.1.1\"\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.81 to 1.85.2\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.md\"\u003eorg.bouncycastle:bcprov-jdk18on's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eBouncy Castle Crypto Package - Release Notes\u003c/h1\u003e\n\u003ch2\u003e1.0 Introduction\u003c/h2\u003e\n\u003cp\u003eThe Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. The package is organised so that it contains a light-weight API suitable for use in any environment (including the J2ME) with the additional infrastructure to conform the algorithms to the JCE framework.\u003c/p\u003e\n\u003ch2\u003e2.0 Release History\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003e2.1.1 Version\u003c/h3\u003e\n\u003cp\u003eRelease: 1.86\u003cbr /\u003e\nDate: 2026, TBD\u003c/p\u003e\n\u003ch3\u003e2.1.2 Defects Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe high-level OpenPGP API (org.bouncycastle.openpgp.api) let a subkey inherit the primary key's Key Flags when its own Subkey Binding signature carried no Key Flags subpacket, which made the two capability decisions taken for one subkey disagree. OpenPGPCertificate.OpenPGPComponentKey.isSigningKey() reads the effective flags, which fell back to the primary key's direct-key or primary user ID self-signature, so a subkey bound with no flags of its own counted as signing-capable; verifyEmbeddedPrimaryKeyBinding reads the binding signature's own flags, found no signing capability there, and so skipped the embedded Primary Key Binding (cross-certification) signature that RFC 9580 sec. 5.2.1.8 and sec. 10.1.3 require of a subkey that can issue signatures. A data signature made by such a subkey was therefore attributed to the certificate and reported valid by OpenPGPSignature.OpenPGPDocumentSignature.isValid() with the cross-certification requirement never applied, where GnuPG refuses the same certificate and message as not cross-certified. An attacker holding a third party's public signing subkey - which is public material - could bind it to their own primary key with a Subkey Binding signature they are able to make, carrying no Key Flags and no embedded Primary Key Binding signature, which they cannot make without the subkey's private key, and have that party's genuine signatures verify as valid under the attacker's own identity: misattribution of a real signature rather than a forgery of a new one, since the signature still has to be one the subkey actually made. Key Flags are a statement about the key the carrying signature refers to (RFC 9580 sec. 5.2.3.29), so a subkey no longer inherits them from the certificate-wide signatures of the primary key: a Subkey Binding signature that omits the subpacket now leaves the subkey with no capabilities rather than the primary's, which makes the flags the cross-certification check consults the same flags every other decision consults. Preferences and the other subpackets a direct-key signature carries are inherited as before, and the primary key itself - whose flags legitimately come from its direct-key or user ID self-signature - is unaffected. The low-level PGPSignature / PGPPublicKeyRing API performs no binding checks by design and is unchanged.\u003c/li\u003e\n\u003cli\u003eNeither the HSS nor the XMSS^MT private key decoder checked its declared index against the traversal state stored beside it, although the two are independent records of the same position in the key and so can be compared. For HSS the records are the top-level index and the component keys' one-time indices q; for XMSS^MT they are the global index and the per-layer BDS states. A stored key whose index had been rolled back while its state stayed advanced - a partial write, a restore from backup, a buggy storage layer - was therefore accepted, and it then signed a second message under a one-time key the key had already used, producing a signature that verified, so nothing anywhere surfaced the reuse. RFC 8554 sec. 1 and RFC 8391 sec. 1.1 both require each one-time key to be used exactly once, and this is the failure those requirements exist to prevent; the single-tree XMSS decoder has tied its BDS state to its index since that state was first validated, and this brings the two multi-tree schemes into line. HSS decode now requires the declared index to equal the position the component q values imply - a level above the last contributes (q - 1) leaves of the levels beneath it, since its q has already advanced past the subtree it signed - and XMSS^MT decode now requires each present layer's BDS index to equal the leaf index that layer derives from the global index, allowing the one position where a layer has moved into a new subtree and its state legitimately still carries the previous subtree's final index. A layer with no state yet is unaffected, since those are built lazily at signing time. Related, and the same shape of omission: an XMSS or XMSS^MT private key encoding carries the tree root twice - the key's own root field and the root node of the BDS state stored beside it, which for XMSS^MT is the top layer's - and the two were never compared either. A corrupted root was accepted and then poisoned every signature the key made, because the root is hashed into the message digest: the signature did not verify and nothing indicated why. Decode now requires the two copies to agree. The BDS node values themselves are not checkable the way the LMS tree cache above is - a BDS authentication path, stack, retain or keep node does not have its children stored alongside it, so recomputing one means building a subtree, which is the work the state exists to avoid. Both checks are integer comparisons over the levels of the key, too small to measure against the surrounding decode, and both were verified not to reject any legitimate key by walking every index a key can reach: the full key space of the two-level HSS and the h=4/d=2, h=6/d=2, h=6/d=3, h=9/d=3 and h=8/d=4 XMSS^MT parameter sets, plus a three-level HSS key across a subtree boundary and an HSS shard. Since those node values cannot be recomputed, the encoded state now carries a checksum over itself instead, with the owning key's public seed hashed in front of it. Any corruption of the stored state is refused at decode rather than being loaded and then producing signatures that silently do not verify, and because the public seed is bound in, a state transplanted between two keys of the same parameter set is refused too, even though it is internally consistent and arrives with its own matching root. The public seed is bound rather than the secret seed or the PRF key deliberately: the state's own root and index are inside the encoding and so are already covered, hashing secret material would make the stored checksum a commitment to it for no gain in detection, and the PRF key does not influence the state at all. \u003cstrong\u003eThis is an error-detecting code and not integrity protection\u003c/strong\u003e - anyone able to rewrite the stored key recomputes it, so it establishes that the state is unchanged since it was written, never that it was correct when written, and the allocation bounds on the encoding remain the guard against a crafted one. It costs one SHA-256 over the state, measured at 5 to 8 microseconds each way for the h=10 and h=16 parameter sets, and 32 bytes of encoding. The state encoding was added earlier in this same cycle and has not been released, so the checksum is simply part of it rather than a new version: a state written by a 1.86 beta is rejected, which is recovered from by re-exporting the key. The deprecated org.bouncycastle.pqc.crypto.lms copy carries the HSS check as well (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2414\"\u003e#2414\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eThe S/MIME example smoke test in the misc module (org.bouncycastle.mail.smime.examples.test.AllTests) drove SendSignedAndEncryptedMail against smtp.gmail.com, and that example finishes with Transport.send() under JavaMail's default settings, which have no connect timeout. Where outbound port 25 is refused the failure was swallowed and the test passed; where it is silently dropped, as on many home networks, the connect blocked and ./gradlew build hung in :misc:test indefinitely with \u0026quot;0 tests completed\u0026quot;. The test now delivers to an SMTP stub on a loopback port, with connect / read / write timeouts as a backstop, and asserts the message arrived (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2407\"\u003e#2407\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eComposite ML-KEM encapsulation took the traditional component public key bytes it feeds the KEM combiner from the recipient key's own encoding, while decapsulation recomputes the point from the private key and so always produced an uncompressed one. Section 4 of draft-ietf-lamps-pq-composite-kem requires an EC component to be carried as an uncompressed point, but a component key that encodes itself compressed - a BC EC key whose point format has been set through org.bouncycastle.jce.interfaces.ECPointEncoder, or a key from a provider that preserves a compressed encoding - was passed through as it came. Both sides then combined a different tradPK and derived different shared secrets, with no error reported on either: encapsulation and decapsulation both succeeded and the recipient simply could not decrypt. The EC component is now normalised to an uncompressed point wherever the engine serialises one, which covers the ephemeral key that forms the ciphertext as well. X25519 and X448 components have a single encoding and were unaffected, as were EC keys left in their default (uncompressed) format, whose shared secrets are unchanged. CompositePublicKey.getEncoded() took its component bytes the same way, so such a key also encoded to a composite key other implementations reject and whose bytes changed across an encode / decode / encode round trip - 1238 bytes rather than 1270 for MLKEM768-ECDH-P256, and for the composite ML-DSA keys sharing that method, 2006 rather than 2038 for MLDSA65-ECDSA-P256. It now normalises the component the same way. This is a write-side change only: a composite key carrying a compressed EC component is still decoded, since the component key factories accept either form, and continues to verify signatures as before - it simply re-encodes in the normalised form. The shared normalisation is org.bouncycastle.jcajce.provider.asymmetric.util.ECUtil.getUncompressedSubjectPublicKeyBytes.\u003c/li\u003e\n\u003cli\u003eComposite ML-KEM encapsulation threw a NullPointerException, wrapped in an IllegalStateException out of KeyGenerator.generateKey(), when the SecureRandom it was given was null - which javax.crypto.KEM.newEncapsulator() documents as a request for the provider's default, and which KeyGenerator.init(spec, null) passes straight through. The three RSA-OAEP composites draw the traditional shared secret from that random directly, so they were the ones affected; the ECDH and X25519 / X448 composites escaped only because their component KeyPairGenerators default a random of their own. CompositeMLKEMEngine now defaults one through CryptoServicesRegistrar.getSecureRandom() on first use, as the composite KEM Cipher's wrap path already did, and as the KEM generators corrected earlier in this cycle now do. Related, the engine now also clears the ML-KEM component's shared secret alongside the traditional one on both the encapsulate and decapsulate paths - the copy handed back by getEncoded() was left in the heap - as section 3.5 of draft-ietf-lamps-pq-composite-kem requires.\u003c/li\u003e\n\u003cli\u003eCompositePublicKey.getAlgorithm() and CompositePrivateKey.getAlgorithm() returned null for all twelve Composite ML-KEM (draft-ietf-lamps-pq-composite-kem) parameter sets. Both classes resolved the name through the composite signature index only, which holds the composite ML-DSA OIDs, so a composite KEM key pair - generated, parsed from a certificate, or read from PKCS#8 - reported no algorithm at all, and the standard JCA idiom of reconstructing a key with KeyFactory.getInstance(key.getAlgorithm()) raised a NullPointerException. The lookup now falls back to the composite KEM index, so the name returned is the one the provider registers the algorithm under (e.g. MLKEM768-X25519-SHA3-256), matching the composite ML-DSA behaviour. The same single-index assumption made the CompositePublicKey(SubjectPublicKeyInfo) and CompositePrivateKey(PrivateKeyInfo) constructors reject a composite KEM key with \u0026quot;unable to create CompositePublicKey from SubjectPublicKeyInfo\u0026quot;; they now dispatch to the composite KEM key factory for those OIDs. Keys obtained through KeyFactory or through BouncyCastleProvider.getPublicKey / getPrivateKey were unaffected and are unchanged (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2404\"\u003e#2404\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eThe org.bouncycastle.jcajce.spec.KEMKDFSpec constructor stored a null otherInfo as given, so getOtherInfo() returned null, and three of the KDF branches KdfUtil.makeKeyBytes dispatches to - KMAC-128, KMAC-256 and SHAKE-256 - read the otherInfo length without a guard and threw NullPointerException out of the KEM operation, where the KDF2, KDF3 and HKDF branches tolerate a null through KDFParameters / HKDFParameters. The Builder of every spec in the package already mapped null to empty, so no provider path reached it, but the constructor is protected on a public class and KdfUtil is documented for callers building their own KEM integration; the deprecated KEMParameterSpec passes a null itself and escaped only because it also pins the KDF to null. The constructor now stores empty for a null, so getOtherInfo() never returns null, and a null and an explicitly empty otherInfo derive the same key.\u003c/li\u003e\n\u003cli\u003eQR-UOV signature verification accepted a signature encoding that was not canonical, so the encoding of a signature was not unique even after the trailing-byte fix of github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2403\"\u003e#2403\u003c/a\u003e. Each F_q element of the signature is stored in ceil(log2 q) bits, one more bit pattern than the field has elements: q itself is representable and is arithmetically congruent to zero, so an element written as q verified exactly as the same element written as zero would, and the bits padding the last element out to the byte boundary were never read at all. Every zero element of a signature therefore carried a second encoding, and for the q = 7 parameter sets roughly one element in seven is zero - a single qruov_5_q7_L10 signature measured 256 spare bits, so on the order of 2^256 distinct byte strings verified for the one message and key. Verification now rejects any element outside [0, q) and any set padding bit; a signature produced by this or by the reference implementation is unaffected, as the KAT vectors of every parameter set confirm. (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2403\"\u003e#2403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSNOVA signature verification ignored four bits inside the signature for any parameter set whose solution is an odd number of GF(16) nibbles - the SNOVA_24_5_5, SNOVA_25_8_3, SNOVA_29_6_5 and SNOVA_66_15_3 families, sixteen of the forty-four parameter sets. The last byte of the encoded solution carries a single nibble and the signer leaves the top four bits zero, but the decoder did not read them, so sixteen distinct byte strings verified for one signature. This is the same non-unique encoding github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2403\"\u003e#2403\u003c/a\u003e closed for bytes following the signature, applied inside it; the verifier now requires those bits to be zero. (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2403\"\u003e#2403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSnovaPrivateKeyParameters did not validate the length of the private key encoding handed to it - the only one of the five schemes of github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2403\"\u003e#2403\u003c/a\u003e that did not - and SnovaParameters.getPrivateKeyLength() reported the expanded (\u0026quot;ESK\u0026quot;) length even for a parameter set whose private key is the seed pair. A private key encoding reaches this constructor straight from a PKCS#8 blob, so a wrong length went undetected: a seed-form key with extra bytes appended was accepted and signed under a different derived key, and a short expanded-form key sized the signer's decode buffer negatively, throwing NegativeArraySizeException out of generateSignature() rather than being reported at construction. Related, the signing retry loop could not terminate: the vinegar values are derived from a single-byte counter, so only 256 distinct linear systems can be tried, and an expanded-form private key that is not a real central map is singular for all of them - generateSignature() then span forever rather than failing. The length is now checked at construction, getPrivateKeyLength() reports the length that parameter set's private key actually has, and the retry loop gives up after its 256 attempts as MAYO's does.\u003c/li\u003e\n\u003cli\u003eMayoSigner and MayoKeyPairGenerator did not clear several buffers holding secret key material that the MAYO reference implementation explicitly clears. Signing left the secret oil space O, the expanded L = (P1 + P1^t) * O + P2, and the M / VPV / Ox intermediates of the central map in place, having gone to the trouble of clearing eleven other buffers; key generation left the expanded seed, whose tail is the encoded oil space, and the P1 * O + P2 half of P; and the row-echelon step left the packed echelon form of the secret linear system and its pivot rows. Separately, if all 256 attempts at solving for the signature had given a rank-deficient system, signing emitted a signature built from the failed attempt's state instead of reporting the failure the reference returns, and AIMerSigner.generateSignature returned an empty array on failure, which a caller would hand on as though it were a signature. Both now throw.\u003c/li\u003e\n\u003cli\u003eFive PQC signature schemes - MAYO, SNOVA, QR-UOV, SQIsign and AIMer - returned the NIST crypto_sign \u0026quot;sm\u0026quot; signed-message envelope from generateSignature() rather than the signature. That envelope is an artefact of the reference KAT harness, which records the message alongside the signature so a vector file can be self-contained; it is not part of any of the five specifications, and no other BC signer emits it (Falcon's KAT test rebuilds the equivalent envelope in the test, which is where it belongs). Two consequences followed, both reaching the JCA Signature services of every parameter set of the five schemes in BouncyCastlePQCProvider. First, since the message was appended to the signature, verification had to skip whatever followed the signature proper, and it did so by checking only that the buffer was long enough - so any number of trailing bytes could be added to a valid signature, or the appended message replaced with unrelated data, and it still verified. A signature encoding was therefore not unique: anyone holding one valid signature could produce unlimited distinct byte strings that all verified for the same message and key, which breaks any use that treats the signature bytes as an identifier, deduplicates on them, or records them as evidence. Second, the envelope propagated into everything built on the operator layer: because ContentSigner hands the signature straight into the structure being signed, every X.509 certificate, CRL, CMS SignedData and TLS CertificateVerify BC produced with one of these algorithms carried a verbatim copy of the signed data inside its own signature field - a self-signed MAYO-1 certificate came to 3567 bytes where the same certificate is now 2020 - which no other implementation can parse as a signature, and which in a detached CMS signature meant the \u0026quot;detached\u0026quot; signature carried the content. generateSignature() now returns the bare signature, and verifySignature() requires exactly the parameter set's signature length, so appended or truncated data is rejected rather than ignored. \u003cstrong\u003eThis is a behavioural change for signatures produced by an earlier release\u003c/strong\u003e - MAYO and SNOVA from 1.84, QR-UOV, SQIsign and AIMer from 1.85 - which are no longer accepted in the envelope form they were emitted in; the signature bytes themselves are unchanged, so a stored value can be recovered by taking the leading signature-length bytes, or for AIMer, whose envelope was message || signature rather than signature || message, the trailing ones. The KAT tests now rebuild the envelope before comparing against the vector files, which continue to record it. Note that AIMer's verification had already been made length-exact during this cycle (see the entry below relating to github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2401\"\u003e#2401\u003c/a\u003e), so of the five only its envelope remained (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2403\"\u003e#2403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eThe MLS implementation did not bind an X.509 credential to the LeafNode's signature_key. LeafNode.verify() checked a leaf's signature against the signature_key declared in the leaf itself, while the X.509 credential's certificate chain was stored but never parsed or checked, so the certificate's public key was never required to match signature_key (RFC 9420 sec. 5.3). A leaf could therefore carry one party's certificate while being signed by an unrelated key and still be accepted under that party's identity through KeyPackage.verify() and the Group leaf-validation path. LeafNode.verify() now requires the end-entity certificate's subject public key, in the cipher suite's signature encoding, to equal signature_key for an X.509 credential, and rejects the leaf otherwise - including an empty chain or a certificate whose key type does not match the cipher suite; certificate-chain and identity validation to a trust anchor remain the application's responsibility per RFC 9420 sec. 5.3.1. A public org.bouncycastle.mls.codec.Certificate(byte[]) constructor and a Credential.getCertificates() accessor are added so callers can build and inspect X.509 credentials. Basic credentials are unaffected.\u003c/li\u003e\n\u003cli\u003eThe SecureRandom supplied to org.bouncycastle.cms.jcajce.JceCMSContentEncryptorBuilder.setSecureRandom() did not drive the content IV / nonce for any algorithm other than RC2. EnvelopedDataHelper.generateParameters passed the caller's SecureRandom to the AlgorithmParameterGenerator only in the RC2_CBC branch; every other content-encryption algorithm - AES-CBC, AES-GCM, AES-CCM, Camellia, ARIA, SEED and the rest - reached pGen.generateParameters() on an uninitialised generator, so the IV / nonce was drawn from a default SecureRandom and setSecureRandom() was silently ignored (the builder's javadoc states that random is used for IV/nonce generation). The generator is now initialised with the supplied random on the general path as well, so a caller who provides a specific randomness source - for a controlled or FIPS-approved DRBG, say - has it honoured for the content IV / nonce. The session-key generation path was unaffected and already used the supplied random. Because the content IV / nonce now comes from the supplied SecureRandom, the org.bouncycastle.crypto.util JournalingSecureRandom / JournaledAlgorithm reproducible-encryption support records it in the transcript: a resumed session reproduces the IV / nonce by regenerating it from the replayed randomness - build the resuming encryptor from the content-algorithm OID - rather than by reusing the AlgorithmIdentifier captured from the first encryption, which no longer keeps the transcript aligned.\u003c/li\u003e\n\u003cli\u003eThe NTRU LPRime, NTRU+ and SMAUG-T KEM generators threw a NullPointerException when constructed with a null SecureRandom, where every other KEM generator - including NTRU LPRime's own SNTRU Prime counterpart in the same package - defaults one through CryptoServicesRegistrar.getSecureRandom(). This is reachable from the lightweight API directly, and from javax.crypto.KEM, whose newEncapsulator() documents a null random as a request for the provider's default.\u003c/li\u003e\n\u003cli\u003eFrodoKEMEngine kept a single SHAKE instance in a field, so an engine reached concurrently produced wrong results. It is reached that way through org.bouncycastle.crypto.kems.FrodoKEMExtractor, which holds one engine for its lifetime: two threads extracting through one extractor interleaved the digest's absorb and squeeze phases, yielding shared secrets that silently did not match the sender's, or an IllegalStateException of \u0026quot;attempt to absorb while squeezing\u0026quot; from inside extractSecret. The digest is now built per call, as CMCEEngine's already was, which makes an extractor safe to share. Encapsulation was unaffected, since FrodoKEMGenerator builds an engine per call. Results for any single-threaded use are unchanged - the reference KAT vectors are byte-identical.\u003c/li\u003e\n\u003cli\u003eThe BCJSSE provider carried the TLS 1.2 coupling between the supported_groups extension and ECDSA over into TLS 1.3: an ECDSA signature scheme was treated as usable - offered in the signature_algorithms and signature_algorithms_cert extensions, and eligible when selecting the local credentials - only while the corresponding curve was among the named groups enabled for key exchange, both per context (a group unavailable for key agreement disabled the scheme outright) and per connection (the curve had to be in the supported_groups list about to be sent). RFC 8446 sec. 4.2.7 scopes supported_groups to key exchange only, with signature algorithms negotiated independently (sec. 4.2.3), so this incorrect restriction in TLS 1.3 has been removed. Ed25519, Ed448 and the RSA schemes were unaffected (as well as typical deployments using a default configuration for named groups).\u003c/li\u003e\n\u003cli\u003eThe bcmail module descriptor did not declare its javax.mail/javax.activation dependences, so a modular (module-path) consumer of the jar hit IllegalAccessError/module-resolution failures when the S/MIME classes touched the mail API. The descriptor now requires them optionally (requires static) under all four module names those libraries are known by - the automatic names mail and activation carried by the javax.mail:mail / javax.activation:activation artifacts, and the explicit names java.mail and java.activation carried by the newer com.sun.mail / com.sun.activation ones - a hard requires on any one name would break users of the others (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2389\"\u003e#2389\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFour type-coercion helpers in the OER / IEEE 1609.2 (ITS) decoder tested the wrong type in the identity fast path that lets a getInstance() factory return an argument that is already of the target type. org.bouncycastle.oer.its.ieee1609dot2.basetypes.UINT32.getInstance and org.bouncycastle.oer.its.etsi102941.basetypes.Version.getInstance guarded on UINT8 - a sibling of UINT32 under UintBase, and unrelated to Version - so passing a UINT8 threw ClassCastException, while passing an actual UINT32 or Version missed the fast path and fell through to ASN1Integer.getInstance, which rejects them: neither factory accepted its own type. org.bouncycastle.oer.its.etsi103097.EtsiTs103097DataEncryptedUnicast.getInstance guarded on its sibling EtsiTs103097DataEncrypted and then cast to the unicast type, so an EtsiTs103097DataEncrypted threw ClassCastException. org.bouncycastle.oer.OEROptional.getObject(Class) called value.getClass().isInstance(type) with the arguments transposed, which is always false because the argument is a java.lang.Class, so the cast path was dead and every optional field was resolved reflectively, failing with IllegalStateException for a target type with no static getInstance. Each guard now names the type it returns, matching the sibling UINT8 / UINT16 / UINT64 and EtsiTs103097DataEncrypted factories (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2373\"\u003e#2373\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDefaultAlgorithmNameFinder and DefaultSignatureNameFinder had no entries at all for the ShangMi algorithms, so an SM2 signature AlgorithmIdentifier that DefaultSignatureAlgorithmIdentifierFinder itself produces came back named only by its OID string - getAlgorithmName(GMObjectIdentifiers.sm2sign_with_sm3) returned \u0026quot;1.2.156.10197.1.501\u0026quot; and hasAlgorithmName returned false. Both finders now name sm2sign_with_sm3 as SM3WITHSM2 and sm2sign_with_sha256 as SHA256WITHSM2, and DefaultAlgorithmNameFinder additionally names the sm3 digest. All three resolve through the BC provider, as Signature and MessageDigest respectively. The remaining GM arc - the SM4 cipher modes, the sm2encrypt variants, and the SM1 / SM6 / SSF33 ciphers BC does not implement - is still unnamed (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2377\"\u003e#2377\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eThe RFC 4998 evidence-record classes compared the digest AlgorithmIdentifier named by a time-stamp authority with the one their own DigestCalculator uses, and did so with AlgorithmIdentifier.equals(), which compares the encodings. A TSA that names SHA-256 with an explicit NULL parameters field - DigiCert among them - therefore failed against BC's own calculator, which names it with the parameters absent, and ERSArchiveTimeStampGenerator.generateArchiveTimeStamp rejected the response with \u0026quot;time stamp imprint for wrong algorithm\u0026quot;. Both spellings name the same digest and RFC 5754 sec. 2 requires a receiver to accept either, while requiring that identifiers be generated with the parameters absent, which BC already does. The three affected comparisons - the two in ERSArchiveTimeStampGenerator and the digest check in ERSEvidenceRecord.renew - now use the new AlgorithmIdentifier.areEquivalent, which matches on the algorithm and treats an absent parameters field and NULL as the same, and the consistency check across an evidence record's archive time stamp chain uses it too. An identifier carrying an actual parameter structure is never equivalent to one carrying none (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2379\"\u003e#2379\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eEDIPartyName.toASN1Primitive emitted the nameAssigner and partyName DirectoryStrings without their context tags, so an EDIPartyName built through its public constructor could not be parsed back by EDIPartyName.getInstance, which correctly requires them. RFC 5280 sec. 4.2.1.6 tags both members [0] and [1], and those tags are explicit despite the module's IMPLICIT TAGS because DirectoryString is a CHOICE, which X.680 does not allow to be tagged implicitly - the decoder already had this right. The encoder now matches it. Note the type was added during the 1.85 cycle and GeneralName validates its ediPartyName alternative through it, so a GeneralName carrying an untagged ediPartyName - including one BC itself produced - is rejected where 1.84 passed it through unexamined; the untagged form is not read leniently (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2380\"\u003e#2380\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRSASSA-PSS could not be used with a RIPEMD digest through the JCA API. Nothing registered the RIPEMD PSS signatures, so Signature.getInstance(\u0026quot;RIPEMD160WITHRSAANDMGF1\u0026quot;) raised NoSuchAlgorithmException, and the generic RSASSA-PSS route with an explicit PSSParameterSpec failed too: org.bouncycastle.jcajce.provider.util.DigestFactory.getDigest returned null for a RIPEMD name, and isSameDigest - an allow-list of the SHA families and MD5 - reported two identical RIPEMD names as different digests, so the spec was rejected with \u0026quot;digest algorithm for MGF should be the same as for PSS parameters\u0026quot;. isSameDigest now answers true for equal names whatever the digest, which also covers Whirlpool, SM3, GOST3411 and anything else outside that allow-list; DigestFactory recognises RIPEMD128, RIPEMD160 and RIPEMD256 by name and OID; the three PSS signatures are registered with MGF1 over the same digest and a salt of the digest length; and DefaultSignatureAlgorithmIdentifierFinder gains the matching RIPEMD*WITHRSAANDMGF1 entries with their RSASSA-PSS-params, so the operator/JcaContentSignerBuilder path works as well. Note BC continues to require the PSS hash and the MGF1 hash to be the same, which RFC 8017 does not itself demand (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2381\"\u003e#2381\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eThe opt-in key-size validation on CMS key-transport recipients (org.bouncycastle.cms.jcajce.JceKeyTransRecipient.setKeySizeValidation(true)) never ran for a message using RFC 9709 CEK derivation (id-alg-cek-hkdf-sha256): the branch that should have selected the actual content-encryption algorithm carried in the KDF AlgorithmIdentifier's parameters compared the encrypted-key byte array against the id-alg-cek-hkdf-sha256 object identifier - a comparison that is always false - so the check fell through to a key-size lookup on the outer KDF OID, which has no registered key size, and silently checked nothing. A key-transport EnvelopedData/AuthEnvelopedData whose transported (and HKDF-derived) content-encryption key did not match the key size of the advertised content-encryption algorithm was therefore accepted even with validation enabled. The recipient now dispatches on the content-encryption AlgorithmIdentifier's algorithm OID, so key-size validation of RFC 9709 messages checks the recovered key against the inner content-encryption algorithm. Messages with a matching key size, non-HKDF messages, and recipients that do not enable validation are unaffected.\u003c/li\u003e\n\u003cli\u003eThe OpenPGP v6 SEIPD (Symmetrically Encrypted Integrity Protected Data, version 2 / RFC 9580 sec. 5.13.2) packet parser read the AEAD chunk-size octet without bounding it. The chunk length is 2^(chunkSize + 6) bytes and the AEAD decryptor allocates a buffer of that size up front, so a crafted v6 encrypted message (reachable with only the recipient's public key) declaring chunkSize 24 forced a 1 GiB allocation on decrypt, and chunkSize 25 (where the int cast of the chunk length wraps negative) threw a NegativeArraySizeException -- a pre-authentication resource-exhaustion denial of service. This is the version 6 sibling of the version 5 AEADEncDataPacket issue fixed under CVE-2026-3505, which bounded that packet's chunk size at 16 but left the v6 SymmetricEncIntegrityPacket unbounded. SymmetricEncIntegrityPacket now rejects a chunk-size octet outside 0..16 (a 4 MiB chunk, matching the v5 ceiling) with a MalformedPacketException at parse, before any allocation.\u003c/li\u003e\n\u003cli\u003eThe Ed25519 KeyFactory in the JDK 11+ and JDK 15+ multi-release overlays (META-INF/versions/11 and /15) had drifted from the base implementation on the OpenSSH key-spec path: it used the no-passphrase OpenSSHPrivateKeyUtil.parsePrivateKeyBlob overload, so a passphrase-encrypted openssh-key-v1 Ed25519 private key that KeyFactory.getInstance(\u0026quot;Ed25519\u0026quot;, \u0026quot;BC\u0026quot;).generatePrivate(new OpenSSHPrivateKeySpec(blob, passphrase)) decoded correctly on JDK 8 failed on JDK 11 and later; it also let a raw RuntimeException escape on a malformed blob and threw IllegalStateException (JDK 11) instead of InvalidKeySpecException for a non-Ed25519 key. The overlays now match the base implementation (passphrase support, parse errors wrapped as InvalidKeySpecException). Relatedly, the OpenSSH wrong-key-type and decode-failure paths across the RSA, DSA, EC and Ed25519 KeyFactorySpi implementations now consistently raise InvalidKeySpecException (previously a mix of IllegalArgumentException / IllegalStateException) and wrap a malformed OpenSSH public key, and an incorrect \u0026quot;public key is not RSA private key\u0026quot; message on the RSA private path was corrected. The multi-release test tasks now exercise the OpenSSH key specs against the multi-release jar.\u003c/li\u003e\n\u003cli\u003eThe Ant-built utility jars (bcutil-jdk15to18, bcutil-jdk14) duplicated org.bouncycastle.asn1.iana.IANAObjectIdentifiers, which since 1.85 (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2176\"\u003e#2176\u003c/a\u003e) lives only in core and is therefore already shipped in bcprov. The shared ant/bc+-build.xml build-util target still copied org/bouncycastle/asn1/iana/** into bcutil, so a project depending on both bcprov and bcutil (for example via bcpkix) failed an Android/R8 build with \u0026quot;Duplicate class org.bouncycastle.asn1.iana.IANAObjectIdentifiers found in modules bcprov-jdk15to18-1.85.jar and bcutil-jdk15to18-1.85.jar\u0026quot;. The iana package is no longer bundled into bcutil (it remains in bcprov); the Gradle jdk18on jars were already correct (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2356\"\u003e#2356\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eorg.bouncycastle.util.BigIntegers.intValueExact (and the byte/short/long variants) delegated to BigInteger.intValueExact from 1.85, a Java 8 method Android only provides from API level 33, so on earlier Android versions any code path using them - most visibly loading a PKCS12 keystore, whose iteration-count validation calls intValueExact - crashed with NoSuchMethodError. The range checks are open-coded again, as they were in 1.84 (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2369\"\u003e#2369\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eGOST R 34.10-94 signing (org.bouncycastle.crypto.signers.GOST3410Signer) raised the domain generator to the per-signature nonce k with a bare BigInteger.modPow, whose running time varies with the exponent. Recovering k from that timing yields the private key straight out of the signature equation s = k*m + x*r, so k is now randomised with a random multiple of q before it is raised, exactly as DSASigner already does with its own k. Since the domain parameter a has order q, raising it to a multiple of q gives 1 and the signature is unchanged - the RFC-style known-answer vectors in GOST3410Test still produce the same r and s. Those vectors drive signing from a FixedSecureRandom, so they now carry one further byte for the randomiser to consume, in the same way the DSA signing vectors already do.\u003c/li\u003e\n\u003cli\u003eKCCMBlockCipher (DSTU7624-128/256/512 CCM mode) returned the input length rather than 0 from getUpdateOutputSize(int), but like CCMBlockCipher/KGCMBlockCipher it buffers all input until doFinal and produces no output on an update. Through the JCA layer this made the caller-supplied-buffer Cipher.update(input, inOff, inLen, output, outOff) reject a correctly sized output buffer with \u0026quot;javax.crypto.ShortBufferException: output buffer too short for input.\u0026quot; when decrypting. getUpdateOutputSize now returns 0, matching the sibling CCM/KGCM modes (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2354\"\u003e#2354\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eJ-PAKE raised values to exponents carrying private material with bare BigInteger.modPow calls, whose running time varies with the exponent: the private ephemerals x1 and x2 in round 1, x2*s and the negated form of it in round 2 and in the keying material - both of which carry the password - and the v behind each Schnorr zero-knowledge proof, which together with the published r would give up x. JPAKEParticipant itself notes that leaking x1 or x2 lets an attacker brute-force the password. All of these exponents are now randomised with a random multiple of q before they are raised. A multiple of q rather than of p-1 is sound here, and much cheaper since the exponents are the size of q: the generator is checked with g^q = 1 when the JPAKEPrimeOrderGroup is built, and each value received from the other participant is checked the same way by validateZeroKnowledgeProof before it is used as a base. JPAKEUtil.calculateA and JPAKEUtil.calculateKeyingMaterial gained overloads taking a SecureRandom, and there is a new JPAKEUtil.calculateGx taking q and a SecureRandom; the existing overloads still work, taking the default from CryptoServicesRegistrar. The three-argument calculateGx has no q to work with, so it blinds with a multiple of p-1 and is deprecated in favour of the new one. The three modPow calls in validateZeroKnowledgeProof are unchanged, since their exponents are all public. The elliptic-curve variant was already routing its private scalars through ECAlgorithms.multiplySecret and needed no change.\u003c/li\u003e\n\u003cli\u003eThe PKIX CertPathBuilder (\u0026quot;PKIX\u0026quot;/\u0026quot;RFC5280\u0026quot;/\u0026quot;RFC3280\u0026quot;) matched candidate issuers by subject name only during its depth-first search, so a CertStore containing many self-issued certificates that share a single subject name and never chain to a trust anchor could be explored as a large number of partial paths before the build concluded no chain exists. The builder now bounds the total number of nodes visited per build; the limit is configurable via the org.bouncycastle.x509.max_cert_path_build_nodes system property (default 262144, far above any legitimate build) and, when exceeded, the build fails with a CertPathBuilderException naming the property. This is the builder-side companion to the existing org.bouncycastle.x509.max_policy_nodes bound.\u003c/li\u003e\n\u003cli\u003eA group of parse and revocation-handling entry points let an unchecked runtime exception (NullPointerException, ArrayIndexOutOfBoundsException, IllegalStateException or ArithmeticException) escape on empty, content-less or out-of-range input instead of the checked exception each entry point declares - the malformed input was rejected either way, but the leaked type could escape a documented throws contract. Each now fails with its declared type, and well-formed input is unaffected: org.bouncycastle.tsp.cms.CMSTimeStampedData (an empty or truncated stream; the fix also covers its org.bouncycastle.asn1.cms.MetaData and TimeStampDataUtil helpers) and org.bouncycastle.cms.CMSEnvelopedData (an EnvelopedData carrying no encryptedContent) now throw IOException / CMSException rather than NullPointerException; org.bouncycastle.tsp.TimeStampToken rejects a token whose SignerInfo carries no signed attributes with TSPValidationException rather than NullPointerException; org.bouncycastle.cert.cmp.GeneralPKIMessage, org.bouncycastle.est.CSRAttributesResponse, org.bouncycastle.cmc.SimplePKIResponse, org.bouncycastle.openssl.X509TrustedCertificateBlock, org.bouncycastle.tsp.TimeStampRequest, org.bouncycastle.tsp.TimeStampResponse, org.bouncycastle.pkcs.PKCS12PfxPdu and org.bouncycastle.pkcs.PKCS8EncryptedPrivateKeyInfo reject empty / no-content / truncated input with their declared CertIOException / IOException / PKCSIOException rather than a leaked NullPointerException, and org.bouncycastle.cert.crmf.CertificateRequestMessage.hasSigningKeyProofOfPossessionWithPKMAC answers false for an absent or non-signing-key proof-of-possession rather than throwing NullPointerException; org.bouncycastle.crypto.util.OpenSSHPrivateKeyUtil.parsePrivateKeyBlob and org.bouncycastle.math.ec.ECCurve.decodePoint reject an empty (or null) blob / point encoding with IllegalArgumentException rather than ArrayIndexOutOfBoundsException, closing the point-decode path reached by every untrusted-point consumer (EC key parsing, ECDH/ECIES, TLS); and the PKIX revocation code no longer leaks a runtime exception on attacker-controlled CRL/OCSP fields - PKIXCertPathReviewer and X509RevocationChecker bound an out-of-range CRLReason code against their fixed reason table (reporting \u0026quot;unknown\u0026quot; instead of ArrayIndexOutOfBoundsException / ArithmeticException), RFC3280CertPathUtilities tolerates an absent reasons mask on a CRL distribution point, and ProvOcspRevocationChecker tolerates an OCSP response with no nonce extension.\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\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.resend:resend-java` from v4.15.0 to v4.18.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/resendlabs/resend-java/releases\"\u003ecom.resend:resend-java's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.18.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: sync prs to linear with latest workflow by \u003ca href=\"https://github.com/gabrielmfern\"\u003e\u003ccode\u003e@​gabrielmfern\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-java/pull/116\"\u003eresend/resend-java#116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update sync_prs_to_linear action hash to a54e4298f0 by \u003ca href=\"https://github.com/dielduarte\"\u003e\u003ccode\u003e@​dielduarte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-java/pull/118\"\u003eresend/resend-java#118\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add suppression module by \u003ca href=\"https://github.com/kewynakshlley\"\u003e\u003ccode\u003e@​kewynakshlley\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-java/pull/119\"\u003eresend/resend-java#119\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Bump to v4.18.0 by \u003ca href=\"https://github.com/kewynakshlley\"\u003e\u003ccode\u003e@​kewynakshlley\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-java/pull/120\"\u003eresend/resend-java#120\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/dielduarte\"\u003e\u003ccode\u003e@​dielduarte\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/resend/resend-java/pull/118\"\u003eresend/resend-java#118\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/resend/resend-java/compare/v4.17.0...v4.18.0\"\u003ehttps://github.com/resend/resend-java/compare/v4.17.0...v4.18.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.17.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add message_id to Email model by \u003ca href=\"https://github.com/cpenned\"\u003e\u003ccode\u003e@​cpenned\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-java/pull/113\"\u003eresend/resend-java#113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add oauth grants endpoints by \u003ca href=\"https://github.com/kewynakshlley\"\u003e\u003ccode\u003e@​kewynakshlley\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-java/pull/114\"\u003eresend/resend-java#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Bump to v4.17.0 by \u003ca href=\"https://github.com/kewynakshlley\"\u003e\u003ccode\u003e@​kewynakshlley\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-java/pull/115\"\u003eresend/resend-java#115\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/cpenned\"\u003e\u003ccode\u003e@​cpenned\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/resend/resend-java/pull/113\"\u003eresend/resend-java#113\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/resend/resend-java/compare/v4.16.0...v4.17.0\"\u003ehttps://github.com/resend/resend-java/compare/v4.16.0...v4.17.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.16.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add received_for to ReceivedEmail by \u003ca href=\"https://github.com/lucasfcosta\"\u003e\u003ccode\u003e@​lucasfcosta\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-java/pull/109\"\u003eresend/resend-java#109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add domain claims endpoints by \u003ca href=\"https://github.com/kewynakshlley\"\u003e\u003ccode\u003e@​kewynakshlley\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-java/pull/110\"\u003eresend/resend-java#110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Bump to v4.16.0 by \u003ca href=\"https://github.com/kewynakshlley\"\u003e\u003ccode\u003e@​kewynakshlley\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-java/pull/111\"\u003eresend/resend-java#111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Replace tautological  tests with real IHttpClient injection by \u003ca href=\"https://github.com/kewynakshlley\"\u003e\u003ccode\u003e@​kewynakshlley\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-java/pull/112\"\u003eresend/resend-java#112\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/lucasfcosta\"\u003e\u003ccode\u003e@​lucasfcosta\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/resend/resend-java/pull/109\"\u003eresend/resend-java#109\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/resend/resend-java/compare/v4.15.0...v4.16.0\"\u003ehttps://github.com/resend/resend-java/compare/v4.15.0...v4.16.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/resend/resend-java/commit/49edffd2f1522853fdc81364d8c04a5a2f726b22\"\u003e\u003ccode\u003e49edffd\u003c/code\u003e\u003c/a\u003e chore: Bump to v4.18.0 (\u003ca href=\"https://redirect.github.com/resendlabs/resend-java/issues/120\"\u003e#120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-java/commit/826292b8097c059d2ae30d9fe1fca29653ac0037\"\u003e\u003ccode\u003e826292b\u003c/code\u003e\u003c/a\u003e feat: Add suppression module (\u003ca href=\"https://redirect.github.com/resendlabs/resend-java/issues/119\"\u003e#119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-java/commit/ba87e3fe4399a31d5f5b7b89cd985adfc07c69cc\"\u003e\u003ccode\u003eba87e3f\u003c/code\u003e\u003c/a\u003e chore: update sync_prs_to_linear action hash to a54e4298f0 (\u003ca href=\"https://redirect.github.com/resendlabs/resend-java/issues/118\"\u003e#118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-java/commit/dae0496f3a0503735609aaac8c2fe7482686accc\"\u003e\u003ccode\u003edae0496\u003c/code\u003e\u003c/a\u003e chore: sync prs to linear with latest workflow (\u003ca href=\"https://redirect.github.com/resendlabs/resend-java/issues/116\"\u003e#116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-java/commit/57ca4b1d550a890e879d4f9040c186d7c33ca0aa\"\u003e\u003ccode\u003e57ca4b1\u003c/code\u003e\u003c/a\u003e chore: Bump to v4.17.0 (\u003ca href=\"https://redirect.github.com/resendlabs/resend-java/issues/115\"\u003e#115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-java/commit/f13adad515b8070d3440783e6727da1bbac70546\"\u003e\u003ccode\u003ef13adad\u003c/code\u003e\u003c/a\u003e feat: add oauth grants endpoints (\u003ca href=\"https://redirect.github.com/resendlabs/resend-java/issues/114\"\u003e#114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-java/commit/e2e1fd6384a0445b84ad97cfa03c69caedf4a893\"\u003e\u003ccode\u003ee2e1fd6\u003c/code\u003e\u003c/a\u003e feat: add message_id to Email model (\u003ca href=\"https://redirect.github.com/resendlabs/resend-java/issues/113\"\u003e#113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-java/commit/a482295fd744c23fb748360f8bb19634527c2f10\"\u003e\u003ccode\u003ea482295\u003c/code\u003e\u003c/a\u003e feat: Replace tautological  tests with real IHttpClient injection (\u003ca href=\"https://redirect.github.com/resendlabs/resend-java/issues/112\"\u003e#112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-java/commit/1925796d7d3dfc9c414b8b61a8fb072f6d4db1b3\"\u003e\u003ccode\u003e1925796\u003c/code\u003e\u003c/a\u003e chore: Bump to v4.16.0 (\u003ca href=\"https://redirect.github.com/resendlabs/resend-java/issues/111\"\u003e#111\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-java/commit/804b3999cda1b94dda82e4c39e820d05335d4688\"\u003e\u003ccode\u003e804b399\u003c/code\u003e\u003c/a\u003e feat: Add domain claims endpoints (\u003ca href=\"https://redirect.github.com/resendlabs/resend-java/issues/110\"\u003e#110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/resendlabs/resend-java/compare/v4.15.0...v4.18.0\"\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.1.0\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,1,0 released!\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix request-specific Swagger UI index transformations by \u003ca href=\"https://github.com/limehee\"\u003e\u003ccode\u003e@​limehee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3279\"\u003espringdoc/springdoc-openapi#3279\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3282\"\u003e#3282\u003c/a\u003e: preserve nest() version predicate across all routes in nest by \u003ca href=\"https://github.com/seonwooj0810\"\u003e\u003ccode\u003e@​seonwooj0810\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3296\"\u003espringdoc/springdoc-openapi#3296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.1.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Spring AI to version \u003cstrong\u003e2.0.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.52\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.11\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3307\"\u003e#3307\u003c/a\u003e – Act upon SonarQube warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3306\"\u003e#3306\u003c/a\u003e – Act upon SonarQube warnings\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3269\"\u003e#3269\u003c/a\u003e – Add mechanism to disable \u003ccode\u003enullable\u003c/code\u003e for Kotlin properties\u003c/li\u003e\n\u003cli\u003eAllow request-specific Swagger UI index transformation\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/3304\"\u003e#3304\u003c/a\u003e – Kotlin parent class's field is not properly marked as nullable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3294\"\u003e#3294\u003c/a\u003e – Duplicated path getting \u003ccode\u003eswagger-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3293\"\u003e#3293\u003c/a\u003e – Inconsistent OpenAPI schema naming with \u003ccode\u003eSNAKE_CASE\u003c/code\u003e: some Java record fields remain camelCase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3292\"\u003e#3292\u003c/a\u003e – Make \u003ccode\u003eWebProperties\u003c/code\u003e and \u003ccode\u003eWebMvcProperties\u003c/code\u003e optional in \u003ccode\u003eSwaggerConfig\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3284\"\u003e#3284\u003c/a\u003e – Upgrade swagger-core from version 2.2.48 to 2.2.49\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3282\"\u003e#3282\u003c/a\u003e – Preserve version from \u003ccode\u003enest()\u003c/code\u003e predicate across all routes in \u003ccode\u003enest\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3281\"\u003e#3281\u003c/a\u003e – Stabilize Spring Data \u003ccode\u003ePage\u003c/code\u003e schema property order\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3274\"\u003e#3274\u003c/a\u003e – Description disappears from the generated json after upgrade to 3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3270\"\u003e#3270\u003c/a\u003e – Validation annotation of \u003ccode\u003eParameterObject\u003c/code\u003e property applied to \u003ccode\u003ePathVariable\u003c/code\u003e with the same name, even in unrelated endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3266\"\u003e#3266\u003c/a\u003e – Upgrade swagger-core from version 2.2.47 to 2.2.48\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3263\"\u003e#3263\u003c/a\u003e – Null key for a \u003ccode\u003eMap\u003c/code\u003e not allowed in JSON\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.3...v3.1.0\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.3...v3.1.0\u003c/a\u003e\u003c/p\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\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/main/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.1.0] - 2026-07-31\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/3269\"\u003e#3269\u003c/a\u003e – Add mechanism to disable \u003ccode\u003enullable\u003c/code\u003e for Kotlin properties\u003c/li\u003e\n\u003cli\u003eAllow request-specific Swagger UI index transformation\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.1.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Spring AI to version \u003cstrong\u003e2.0.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.52\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.11\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3307\"\u003e#3307\u003c/a\u003e – Act upon SonarQube warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3306\"\u003e#3306\u003c/a\u003e – Act upon SonarQube warnings\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/3304\"\u003e#3304\u003c/a\u003e – Kotlin parent class's field is not properly marked as nullable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3294\"\u003e#3294\u003c/a\u003e – Duplicated path getting \u003ccode\u003eswagger-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3293\"\u003e#3293\u003c/a\u003e – Inconsistent OpenAPI schema naming with \u003ccode\u003eSNAKE_CASE\u003c/code\u003e: some Java record fields remain camelCase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3292\"\u003e#3292\u003c/a\u003e – Make \u003ccode\u003eWebProperties\u003c/code\u003e and \u003ccode\u003eWebMvcProperties\u003c/code\u003e optional in \u003ccode\u003eSwaggerConfig\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3284\"\u003e#3284...\n\n_Description has been truncated_","html_url":"https://github.com/ckn1070/community/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ckn1070%2Fcommunity/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"},{"uuid":"5293904671","node_id":"PR_kwDOTWAWLc8AAAABBhf8Kw","number":33,"state":"closed","title":"维护（后端依赖） Bump the backend-minor-patch group across 1 directory with 4 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-06T19:17:47.000Z","author_association":null,"state_reason":null,"created_at":"2026-08-30T19:17:57.000Z","updated_at":"2026-09-06T19:17:49.000Z","time_to_close":604790,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"维护（后端依赖） Bump","group_name":"backend-minor-patch","update_count":4,"packages":[{"name":"org.springframework.boot:spring-boot-starter-parent","old_version":"4.1.0","new_version":"4.1.1","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.modulith:spring-modulith-bom","old_version":"2.1.0","new_version":"2.1.1","repository_url":"https://github.com/spring-projects/spring-modulith"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"3.0.3","new_version":"3.1.0","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.4.2","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"}],"path":null,"ecosystem":"maven"},"body":"Bumps the backend-minor-patch group with 4 updates in the /backend directory: [org.springframework.boot:spring-boot-starter-parent](https://github.com/spring-projects/spring-boot), [org.springframework.modulith:spring-modulith-bom](https://github.com/spring-projects/spring-modulith), [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) and [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit).\n\nUpdates `org.springframework.boot:spring-boot-starter-parent` from 4.1.0 to 4.1.1\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:spring-boot-starter-parent's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch2\u003e:warning: Attention Required\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpring Boot's Gradle plugin no longer automatically configures gRPC when the Protobuf plugin is applied. This behavior caused problems for those using Protobuf without gRPC. To opt in to the configuration of gRPC, configure the \u003ccode\u003eprotobuf\u003c/code\u003e extension with the \u003ccode\u003egrpc\u003c/code\u003e plugin using an empty block. The Spring Boot Gradle plugin will then automatically configure the use of \u003ccode\u003eprotoc-gen-grpc-java\u003c/code\u003e as before. \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50822\"\u003e#50822\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKafka consumer-specific security protocol is not taken into account \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51369\"\u003e#51369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStructured logging: a failed JSON encode corrupts the next log event written on the same thread \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51156\"\u003e#51156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMicrometer registries pin the application context \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51135\"\u003e#51135\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTemporary file is not deleted when ExportedImageTar construction fails \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51132\"\u003e#51132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMetadata annotation processor ignores getter-level \u003ccode\u003e@NestedConfigurationProperty\u003c/code\u003e for records \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51098\"\u003e#51098\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-h2-console pulls servlet-api as transitive dependency \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51095\"\u003e#51095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropertiesLauncher does not log nested archive paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51089\"\u003e#51089\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMethods that return the result of Map#remove are not declared with a \u003ccode\u003e@Nullable\u003c/code\u003e return type \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51087\"\u003e#51087\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNativeImageResourceProvider flattens Flyway migration paths in subdirectories \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50964\"\u003e#50964\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ordering of Kotlinx Serialization CodecCustomizer \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50961\"\u003e#50961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJarFile is not closed when finding main class from archive \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50959\"\u003e#50959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplication-managed JUL bridge handler should only be removed if installed \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50950\"\u003e#50950\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCloudFoundry reactive auto-configuration should not require a WebClient.Builder bean to be defined \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50944\"\u003e#50944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails on reactive Cloud Foundry when using Actuator without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50942\"\u003e#50942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResources are not cleaned up when resolving an image that is not yet present in the builder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50941\"\u003e#50941\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGraphQlWebMvcAutoConfiguration should apply customizers in order \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50914\"\u003e#50914\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configured RedisMessageListenerContainer does not use virtual threads when spring.threads.virtual.enabled is true \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50884\"\u003e#50884\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails when using Actuator on Jersey without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50872\"\u003e#50872\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails on Cloud Foundry when using Actuator without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50871\"\u003e#50871\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIllegalStateException when binding properties to a \u003ccode\u003e@Validated\u003c/code\u003e class that contains a map whose value type is a wildcard \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50856\"\u003e#50856\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHigh number of connections due to Mongo health indicator \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50852\"\u003e#50852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInconsistent handling of empty string values of spring.security.oauth2.resourceserver.jwt issuer-uri and jwk-set-uri \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50849\"\u003e#50849\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn type nullability of ApplicationContextAssert's getBean methods does not indicate that bean may be null \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50845\"\u003e#50845\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropertiesWebClientHttpServiceGroupConfigurer has highest precedence, preventing other configurers from being ordered ahead of it \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50843\"\u003e#50843\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExposing gRPC test server port should backoff if gRPC is not present \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50825\"\u003e#50825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJpaBaseConfiguration#entityManagerConfiguration can cause a dependency loop on beans declaring AsyncTaskExecutor \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50801\"\u003e#50801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.grpc.server.health.include-overall-health is not taken into account \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50799\"\u003e#50799\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSetting 'server.servlet.session.cookie.partitioned' to false still emits the 'Partitioned' cookie attribute \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50790\"\u003e#50790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eManaged version of Prometheus Client is not aligned with Micrometer's micrometer-registry-prometheus \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50780\"\u003e#50780\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMap properties bound from empty strings fail with ConverterNotFoundException \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50773\"\u003e#50773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProtobuf Common Protos should not be a managed dependency \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50772\"\u003e#50772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAn application that depends on spring-boot-security-oauth2-resource-server may fail to start with a ClassNotFoundException when Reactor is on the classpath but WebFlux is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50764\"\u003e#50764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eW3CHeaderParser's decoding is not compliant with RFC 3986 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50650\"\u003e#50650\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\u003eDescription of spring.graphql.websocket.connection-init-timeout does not render correctly in the reference guide \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51348\"\u003e#51348\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.profiles.group should have a 'spring-profile-name' hint provider \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51284\"\u003e#51284\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove reference to removed InfluxDB auto-configuration \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51176\"\u003e#51176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse JacksonJsonSerde in Kafka Streams documentation \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51161\"\u003e#51161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument alternatives to HttpMessageConverters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51129\"\u003e#51129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix stale type reference for OTLP logging transport metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51119\"\u003e#51119\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMetadata for spring.test.mockmvc.htmlunit.url declares the wrong type \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51115\"\u003e#51115\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/6fdf67ea1552691e932604d4bf67a5e08ff0b0ea\"\u003e\u003ccode\u003e6fdf67e\u003c/code\u003e\u003c/a\u003e Release 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/fde599b28b40932e4ea6194399d89245923a01e7\"\u003e\u003ccode\u003efde599b\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Pulsar 2.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9daa58f7d98b82bf16febcb91943ce267c220a50\"\u003e\u003ccode\u003e9daa58f\u003c/code\u003e\u003c/a\u003e Upgrade to Spring HATEOAS 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/353993ebc1d7b1ceccbb981b0439a42ba122a816\"\u003e\u003ccode\u003e353993e\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Data Bom 2026.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/24ba596bc4fa000614834016452435c834fdeda2\"\u003e\u003ccode\u003e24ba596\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Session 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/5cb5c294d1f4780e78d010a964049e47c074e4d6\"\u003e\u003ccode\u003e5cb5c29\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Security 7.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4adc8eb130c4e0c688ed85316f385f4e04d47679\"\u003e\u003ccode\u003e4adc8eb\u003c/code\u003e\u003c/a\u003e Upgrade to Spring LDAP 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4d9c19cbc0589f57a7265052b507bf4b961082ac\"\u003e\u003ccode\u003e4d9c19c\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Kafka 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f30f6120c4f6f8f873ac56cba478ae1f011c276c\"\u003e\u003ccode\u003ef30f612\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 7.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/b930283d97e92eb24da1de3721cdd41625266dea\"\u003e\u003ccode\u003eb930283\u003c/code\u003e\u003c/a\u003e Upgrade to Spring gRPC 1.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.1.0...v4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.modulith:spring-modulith-bom` from 2.1.0 to 2.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-modulith/releases\"\u003eorg.springframework.modulith:spring-modulith-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.1.1\u003c/h2\u003e\n\u003ch2\u003e:bulb: Improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse Namastack version property in \u003ccode\u003espring-modulith-events-core\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1807\"\u003e#1807\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:beetle: Bugs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEvent externalization throws \u003ccode\u003eClassCastException\u003c/code\u003e with event listener using \u003ccode\u003eApplicationListener.forPayload(…)\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1832\"\u003e#1832\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRabbitJackson2Configuration and RabbitJacksonConfiguration conflict when Jackson 2.x is on classpath (e.g. Eureka Client) \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1830\"\u003e#1830\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAmbiguous violation message when referring to a non-exposed type in a module generally available for access \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1827\"\u003e#1827\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConcurrentModificationException in TestExecutionCondition when running tests with JUnit parallel class execution \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1824\"\u003e#1824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in \u003ccode\u003espring.modulith.events.staleness.check-interval\u003c/code\u003e configuration property \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1822\"\u003e#1822\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePotential \u003ccode\u003eNullPointerException\u003c/code\u003e in \u003ccode\u003eFormattableType.of(…)\u003c/code\u003e for wildcard types \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1806\"\u003e#1806\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Testcontainers setup to ensure fresh containers for SQL databases \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1802\"\u003e#1802\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMongoDB event publication tests use default localhost connection instead of Testcontainers \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1755\"\u003e#1755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnbounded wildcard / type-variable generic parameters break \u003ccode\u003eFormattableType\u003c/code\u003e (NPE in \u003ccode\u003eDefaultObservedModule.render\u003c/code\u003e) \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1754\"\u003e#1754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRoot module Flyway migrations are not executed during a test \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1753\"\u003e#1753\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 Spring Boot 4.1.1 \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1820\"\u003e#1820\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Namastack Outbox 1.7.3 \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1796\"\u003e#1796\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1814\"\u003e#1814\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Spring Framework 7.0.9 \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1813\"\u003e#1813\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Micrometer Tracing 1.7.1 \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1812\"\u003e#1812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to jGit 7.7.1.202607240634-r \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1797\"\u003e#1797\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/arendomoda\"\u003e\u003ccode\u003e@​arendomoda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arimu1\"\u003e\u003ccode\u003e@​arimu1\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/char-yb\"\u003e\u003ccode\u003e@​char-yb\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/DragonFSKY\"\u003e\u003ccode\u003e@​DragonFSKY\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Hashim1999164\"\u003e\u003ccode\u003e@​Hashim1999164\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/kalayciburak\"\u003e\u003ccode\u003e@​kalayciburak\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/seonwooj0810\"\u003e\u003ccode\u003e@​seonwooj0810\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/spring-projects/spring-modulith/commit/83ce54cfc5229f9fe748afc332d8c728ecd0b81c\"\u003e\u003ccode\u003e83ce54c\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1833\"\u003eGH-1833\u003c/a\u003e - Release version 2.1.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/ef8d256c7970b50e98438f6016b573433958eba9\"\u003e\u003ccode\u003eef8d256\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1832\"\u003eGH-1832\u003c/a\u003e - Polishing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/51e2cc4b00e2a369a6b7f882f1764b3a2cb14d19\"\u003e\u003ccode\u003e51e2cc4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1832\"\u003eGH-1832\u003c/a\u003e - Invoke listeners through SimpleApplicationEventMulticaster.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/3066000f64b78485569103826fe73a92175958e5\"\u003e\u003ccode\u003e3066000\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1830\"\u003eGH-1830\u003c/a\u003e - Polishing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/8127446a79ae94ceed65e0cf89cad499aca874fd\"\u003e\u003ccode\u003e8127446\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1830\"\u003eGH-1830\u003c/a\u003e - Resolve Rabbit Jackson configuration conflict.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/2bdcdc312c5d45e1b18a3778eec7698e653eb06c\"\u003e\u003ccode\u003e2bdcdc3\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1827\"\u003eGH-1827\u003c/a\u003e - Polishing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/f93a92832d589b2c6c59e0f9d0540bbb67f6c3d0\"\u003e\u003ccode\u003ef93a928\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1827\"\u003eGH-1827\u003c/a\u003e - Clarify violation for non-exposed types in allowed modules.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/dacf640cc72de00f5ef72e70dd9fd0738cea8a70\"\u003e\u003ccode\u003edacf640\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1824\"\u003eGH-1824\u003c/a\u003e - Use ConcurrentHashMap for the module dependency cache.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/6827fd5563f65964dbd3b0f6cfd033ae50aba432\"\u003e\u003ccode\u003e6827fd5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1822\"\u003eGH-1822\u003c/a\u003e - Polishing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/ccd78daa4606f50ed724ce76fbba6592941a1f06\"\u003e\u003ccode\u003eccd78da\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1822\"\u003eGH-1822\u003c/a\u003e - Fix typo in staleness check-interval property\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-modulith/compare/2.1.0...2.1.1\"\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.3 to 3.1.0\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,1,0 released!\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix request-specific Swagger UI index transformations by \u003ca href=\"https://github.com/limehee\"\u003e\u003ccode\u003e@​limehee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3279\"\u003espringdoc/springdoc-openapi#3279\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3282\"\u003e#3282\u003c/a\u003e: preserve nest() version predicate across all routes in nest by \u003ca href=\"https://github.com/seonwooj0810\"\u003e\u003ccode\u003e@​seonwooj0810\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3296\"\u003espringdoc/springdoc-openapi#3296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.1.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Spring AI to version \u003cstrong\u003e2.0.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.52\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.11\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3307\"\u003e#3307\u003c/a\u003e – Act upon SonarQube warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3306\"\u003e#3306\u003c/a\u003e – Act upon SonarQube warnings\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3269\"\u003e#3269\u003c/a\u003e – Add mechanism to disable \u003ccode\u003enullable\u003c/code\u003e for Kotlin properties\u003c/li\u003e\n\u003cli\u003eAllow request-specific Swagger UI index transformation\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/3304\"\u003e#3304\u003c/a\u003e – Kotlin parent class's field is not properly marked as nullable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3294\"\u003e#3294\u003c/a\u003e – Duplicated path getting \u003ccode\u003eswagger-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3293\"\u003e#3293\u003c/a\u003e – Inconsistent OpenAPI schema naming with \u003ccode\u003eSNAKE_CASE\u003c/code\u003e: some Java record fields remain camelCase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3292\"\u003e#3292\u003c/a\u003e – Make \u003ccode\u003eWebProperties\u003c/code\u003e and \u003ccode\u003eWebMvcProperties\u003c/code\u003e optional in \u003ccode\u003eSwaggerConfig\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3284\"\u003e#3284\u003c/a\u003e – Upgrade swagger-core from version 2.2.48 to 2.2.49\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3282\"\u003e#3282\u003c/a\u003e – Preserve version from \u003ccode\u003enest()\u003c/code\u003e predicate across all routes in \u003ccode\u003enest\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3281\"\u003e#3281\u003c/a\u003e – Stabilize Spring Data \u003ccode\u003ePage\u003c/code\u003e schema property order\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3274\"\u003e#3274\u003c/a\u003e – Description disappears from the generated json after upgrade to 3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3270\"\u003e#3270\u003c/a\u003e – Validation annotation of \u003ccode\u003eParameterObject\u003c/code\u003e property applied to \u003ccode\u003ePathVariable\u003c/code\u003e with the same name, even in unrelated endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3266\"\u003e#3266\u003c/a\u003e – Upgrade swagger-core from version 2.2.47 to 2.2.48\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3263\"\u003e#3263\u003c/a\u003e – Null key for a \u003ccode\u003eMap\u003c/code\u003e not allowed in JSON\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.3...v3.1.0\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.3...v3.1.0\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/main/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.1.0] - 2026-07-31\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/3269\"\u003e#3269\u003c/a\u003e – Add mechanism to disable \u003ccode\u003enullable\u003c/code\u003e for Kotlin properties\u003c/li\u003e\n\u003cli\u003eAllow request-specific Swagger UI index transformation\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.1.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Spring AI to version \u003cstrong\u003e2.0.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.52\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.11\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3307\"\u003e#3307\u003c/a\u003e – Act upon SonarQube warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3306\"\u003e#3306\u003c/a\u003e – Act upon SonarQube warnings\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/3304\"\u003e#3304\u003c/a\u003e – Kotlin parent class's field is not properly marked as nullable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3294\"\u003e#3294\u003c/a\u003e – Duplicated path getting \u003ccode\u003eswagger-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3293\"\u003e#3293\u003c/a\u003e – Inconsistent OpenAPI schema naming with \u003ccode\u003eSNAKE_CASE\u003c/code\u003e: some Java record fields remain camelCase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3292\"\u003e#3292\u003c/a\u003e – Make \u003ccode\u003eWebProperties\u003c/code\u003e and \u003ccode\u003eWebMvcProperties\u003c/code\u003e optional in \u003ccode\u003eSwaggerConfig\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3284\"\u003e#3284\u003c/a\u003e – Upgrade swagger-core from version 2.2.48 to 2.2.49\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3282\"\u003e#3282\u003c/a\u003e – Preserve version from \u003ccode\u003enest()\u003c/code\u003e predicate across all routes in \u003ccode\u003enest\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3281\"\u003e#3281\u003c/a\u003e – Stabilize Spring Data \u003ccode\u003ePage\u003c/code\u003e schema property order\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3274\"\u003e#3274\u003c/a\u003e – Description disappears from the generated json after upgrade to 3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3270\"\u003e#3270\u003c/a\u003e – Validation annotation of \u003ccode\u003eParameterObject\u003c/code\u003e property applied to \u003ccode\u003ePathVariable\u003c/code\u003e with the same name, even in unrelated endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3266\"\u003e#3266\u003c/a\u003e – Upgrade swagger-core from version 2.2.47 to 2.2.48\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3263\"\u003e#3263\u003c/a\u003e – Null key for a \u003ccode\u003eMap\u003c/code\u003e not allowed in JSON\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/e04f91f10267bc7f31e9031886dd3a46bb77c938\"\u003e\u003ccode\u003ee04f91f\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/83551ce77894346de853f5755879ff8acb698e49\"\u003e\u003ccode\u003e83551ce\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4a2b5bd5c53afd98cc29f0e72bfdbf048e02ff17\"\u003e\u003ccode\u003e4a2b5bd\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/ad0a5a51caa709ec5bbaf549c404863eda619d90\"\u003e\u003ccode\u003ead0a5a5\u003c/code\u003e\u003c/a\u003e swagger-ui upgrade to version 5.32.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6e14cb4a0ead3306ded7dfd9a64d51132bb6761f\"\u003e\u003ccode\u003e6e14cb4\u003c/code\u003e\u003c/a\u003e Fix sonarqube errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/eae20564510fc1640e5098774dc96d6b976b3e46\"\u003e\u003ccode\u003eeae2056\u003c/code\u003e\u003c/a\u003e Fix sonarqube errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/b09a77bb6e4357498eec1743021a22c865374f1c\"\u003e\u003ccode\u003eb09a77b\u003c/code\u003e\u003c/a\u003e chore: act upon SonarQube warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/cc3d86d6f83f64e1fd76b14ec6de5c84d32227cc\"\u003e\u003ccode\u003ecc3d86d\u003c/code\u003e\u003c/a\u003e upgrade spring-ai to version 2.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df1c2ba12f9ef979c0afd1fd05f35d0901937bc5\"\u003e\u003ccode\u003edf1c2ba\u003c/code\u003e\u003c/a\u003e spring-boot upgrade to 4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/b6e5212d8b7afea30f6fa9b95561633411d2148d\"\u003e\u003ccode\u003eb6e5212\u003c/code\u003e\u003c/a\u003e Kotlin parent class's field is not properly marked as nullable. Fixes \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3304\"\u003e#3304\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.3...v3.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.tngtech.archunit:archunit-junit5` from 1.4.2 to 1.5.0\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.5.0\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 27 / class file major version 71 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1618\"\u003e#1618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove descriptions of \u003ccode\u003eJavaAccess.Predicates.originOwner\u003c/code\u003e and \u003ccode\u003eJavaAccess.Predicates.targetOwner\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1603\"\u003e#1603\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eExpose information on sealed classes via \u003ccode\u003eJavaClass\u003c/code\u003e: \u003ccode\u003eisSealed()\u003c/code\u003e and \u003ccode\u003egetPermittedSubclasses()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/bannmann\"\u003e\u003ccode\u003e@​bannmann\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eImportOption.DoNotIncludeTests\u003c/code\u003e and \u003ccode\u003eOnlyIncludeTests\u003c/code\u003e consider tests in custom Gradle source sets (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/Develop-KIM\"\u003e\u003ccode\u003e@​Develop-KIM\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLang\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchConditions\u003c/code\u003e offers new \u003ccode\u003eArchCondition\u0026lt;JavaClass\u0026gt; haveAnyDependenciesThat(DescribedPredicate\u0026lt;Dependency\u0026gt;)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1580\"\u003e#1580\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/wakingrufus\"\u003e\u003ccode\u003e@​wakingrufus\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchitectureMetrics.lakosMetrics\u003c/code\u003e is computed much more performantly (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1629\"\u003e#1629\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/ThanosTsiamis\"\u003e\u003ccode\u003e@​ThanosTsiamis\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTextFileBasedViolationStore\u003c/code\u003e is now thread-safe under parallel test execution (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1656\"\u003e#1656\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/kelunik\"\u003e\u003ccode\u003e@​kelunik\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eModuleDependency\u003c/code\u003e now provides stable descriptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1648\"\u003e#1648\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/DragonFSKY\"\u003e\u003ccode\u003e@​DragonFSKY\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eJUnit\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003earchunit-junit6\u003c/code\u003e supports ArchUnit with JUnit 6 (\u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1556\"\u003e#1556\u003c/a\u003e\u003c/del\u003e, \u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1658\"\u003e#1658\u003c/a\u003e\u003c/del\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1659\"\u003e#1659\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnalyzeClasses\u003c/code\u003e supports individual classes (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1569\"\u003e#1569\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003ePreparation:\u003c/em\u003e \u003ccode\u003earchunit-junit:0.9.0\u003c/code\u003e (which was renamed with \u003ca href=\"https://github.com/TNG/ArchUnit/releases/tag/v0.9.0\"\u003eArchUnit 0.9.0\u003c/a\u003e) now relocates to \u003ccode\u003earchunit-junit4:0.9.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1673\"\u003e#1673\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋) – will be published after \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1684\"\u003e#1684\u003c/a\u003e 🙈\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocument \u003ccode\u003ePriority\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1671\"\u003e#1671\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eDocument Package Identifiers in User Guide (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1672\"\u003e#1672\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eInternal Improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eText files now use UNIX line breaks (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1602\"\u003e#1602\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1611\"\u003e#1611\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eUpdate Gradle from 8 to 9; build \u0026amp; test with JDK 25 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1550\"\u003e#1550\u003c/a\u003e, and also \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1612\"\u003e#1612\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1619\"\u003e#1619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSeparate integration tests by JUnit version (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1636\"\u003e#1636\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003ejunit-dataprovider\u003c/code\u003e with \u003ccode\u003ejunit-jupiter-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1655\"\u003e#1655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eArchUnit releases now update Maven examples (and Gradle wrapper) of \u003ca href=\"https://github.com/TNG/ArchUnit-Examples\"\u003eArchUnit-Examples\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid managing hamcrest dependency (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1467\"\u003e#1467\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\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/TNG/ArchUnit/commit/502d782bfbf2632a2c9f943a502ddd8cc3e3c46d\"\u003e\u003ccode\u003e502d782\u003c/code\u003e\u003c/a\u003e prepare release 1.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/4f26fccd784d37f469e743950f8e0a3ff686d64b\"\u003e\u003ccode\u003e4f26fcc\u003c/code\u003e\u003c/a\u003e fix testRelease exec() and task registration for Gradle 9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/96af98457c924289ecff834737eebd8a55bddda6\"\u003e\u003ccode\u003e96af984\u003c/code\u003e\u003c/a\u003e add new developers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/e427828fcb9b09117cd0e59a471314218f8331d5\"\u003e\u003ccode\u003ee427828\u003c/code\u003e\u003c/a\u003e consolidate POM checks during CI and release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a30f6e3465ed3cb0868607debf80bf83e741b5f0\"\u003e\u003ccode\u003ea30f6e3\u003c/code\u003e\u003c/a\u003e Bump gradle/actions from 6 to 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a036c08707c50e6f7091754e63389f5bd2aaec64\"\u003e\u003ccode\u003ea036c08\u003c/code\u003e\u003c/a\u003e Bump com.github.ben-manes.versions from 0.57.0 to 0.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/24a9d9e10d4bb5ba5c5678d36810ef2397470163\"\u003e\u003ccode\u003e24a9d9e\u003c/code\u003e\u003c/a\u003e Bump actions/setup-java from 5.6.0 to 5.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/9944244c116f2724ac5bc1d02c73ca10af1c92e4\"\u003e\u003ccode\u003e9944244\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/51fd6c9e90c681a3d644f8a1e86a428f64fe3418\"\u003e\u003ccode\u003e51fd6c9\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/65f4cd3a60c48b0654daa4662b563e6b8545e221\"\u003e\u003ccode\u003e65f4cd3\u003c/code\u003e\u003c/a\u003e add support for dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TNG/ArchUnit/compare/v1.4.2...v1.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/wswhhhc/jingxuan/pull/33","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/wswhhhc%2Fjingxuan/issues/33","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/33/packages"},{"uuid":"5288456081","node_id":"PR_kwDOS_XlLM8AAAABBdhAuw","number":23,"state":"closed","title":"chore(deps): bump the mainline-minor-patch group across 1 directory with 7 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-05T19:33:04.000Z","author_association":null,"state_reason":null,"created_at":"2026-08-29T19:33:11.000Z","updated_at":"2026-09-05T19:33:05.000Z","time_to_close":604793,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"mainline-minor-patch","update_count":7,"packages":[{"name":"org.springframework.boot:spring-boot-dependencies","old_version":"4.1.0","new_version":"4.1.1","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-maven-plugin","old_version":"4.1.0","new_version":"4.1.1","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.ai:spring-ai-bom","old_version":"2.0.0","new_version":"2.0.1","repository_url":"https://github.com/spring-projects/spring-ai"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.4.2","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"io.swagger.parser.v3:swagger-parser-v3","old_version":"2.1.45","new_version":"2.1.47"},{"name":"com.networknt:json-schema-validator","old_version":"3.0.6","new_version":"3.0.7","repository_url":"https://github.com/networknt/json-schema-validator"},{"name":"com.h2database:h2","old_version":"2.3.232","new_version":"2.4.240","repository_url":"https://github.com/h2database/h2database"}],"path":null,"ecosystem":"maven"},"body":"Bumps the mainline-minor-patch group with 7 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.springframework.boot:spring-boot-dependencies](https://github.com/spring-projects/spring-boot) | `4.1.0` | `4.1.1` |\n| [org.springframework.boot:spring-boot-maven-plugin](https://github.com/spring-projects/spring-boot) | `4.1.0` | `4.1.1` |\n| [org.springframework.ai:spring-ai-bom](https://github.com/spring-projects/spring-ai) | `2.0.0` | `2.0.1` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.4.2` | `1.5.0` |\n| io.swagger.parser.v3:swagger-parser-v3 | `2.1.45` | `2.1.47` |\n| [com.networknt:json-schema-validator](https://github.com/networknt/json-schema-validator) | `3.0.6` | `3.0.7` |\n| [com.h2database:h2](https://github.com/h2database/h2database) | `2.3.232` | `2.4.240` |\n\n\nUpdates `org.springframework.boot:spring-boot-dependencies` from 4.1.0 to 4.1.1\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:spring-boot-dependencies's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch2\u003e:warning: Attention Required\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpring Boot's Gradle plugin no longer automatically configures gRPC when the Protobuf plugin is applied. This behavior caused problems for those using Protobuf without gRPC. To opt in to the configuration of gRPC, configure the \u003ccode\u003eprotobuf\u003c/code\u003e extension with the \u003ccode\u003egrpc\u003c/code\u003e plugin using an empty block. The Spring Boot Gradle plugin will then automatically configure the use of \u003ccode\u003eprotoc-gen-grpc-java\u003c/code\u003e as before. \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50822\"\u003e#50822\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKafka consumer-specific security protocol is not taken into account \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51369\"\u003e#51369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStructured logging: a failed JSON encode corrupts the next log event written on the same thread \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51156\"\u003e#51156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMicrometer registries pin the application context \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51135\"\u003e#51135\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTemporary file is not deleted when ExportedImageTar construction fails \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51132\"\u003e#51132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMetadata annotation processor ignores getter-level \u003ccode\u003e@NestedConfigurationProperty\u003c/code\u003e for records \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51098\"\u003e#51098\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-h2-console pulls servlet-api as transitive dependency \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51095\"\u003e#51095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropertiesLauncher does not log nested archive paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51089\"\u003e#51089\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMethods that return the result of Map#remove are not declared with a \u003ccode\u003e@Nullable\u003c/code\u003e return type \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51087\"\u003e#51087\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNativeImageResourceProvider flattens Flyway migration paths in subdirectories \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50964\"\u003e#50964\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ordering of Kotlinx Serialization CodecCustomizer \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50961\"\u003e#50961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJarFile is not closed when finding main class from archive \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50959\"\u003e#50959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplication-managed JUL bridge handler should only be removed if installed \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50950\"\u003e#50950\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCloudFoundry reactive auto-configuration should not require a WebClient.Builder bean to be defined \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50944\"\u003e#50944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails on reactive Cloud Foundry when using Actuator without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50942\"\u003e#50942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResources are not cleaned up when resolving an image that is not yet present in the builder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50941\"\u003e#50941\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGraphQlWebMvcAutoConfiguration should apply customizers in order \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50914\"\u003e#50914\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configured RedisMessageListenerContainer does not use virtual threads when spring.threads.virtual.enabled is true \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50884\"\u003e#50884\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails when using Actuator on Jersey without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50872\"\u003e#50872\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails on Cloud Foundry when using Actuator without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50871\"\u003e#50871\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIllegalStateException when binding properties to a \u003ccode\u003e@Validated\u003c/code\u003e class that contains a map whose value type is a wildcard \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50856\"\u003e#50856\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHigh number of connections due to Mongo health indicator \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50852\"\u003e#50852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInconsistent handling of empty string values of spring.security.oauth2.resourceserver.jwt issuer-uri and jwk-set-uri \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50849\"\u003e#50849\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn type nullability of ApplicationContextAssert's getBean methods does not indicate that bean may be null \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50845\"\u003e#50845\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropertiesWebClientHttpServiceGroupConfigurer has highest precedence, preventing other configurers from being ordered ahead of it \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50843\"\u003e#50843\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExposing gRPC test server port should backoff if gRPC is not present \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50825\"\u003e#50825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJpaBaseConfiguration#entityManagerConfiguration can cause a dependency loop on beans declaring AsyncTaskExecutor \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50801\"\u003e#50801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.grpc.server.health.include-overall-health is not taken into account \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50799\"\u003e#50799\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSetting 'server.servlet.session.cookie.partitioned' to false still emits the 'Partitioned' cookie attribute \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50790\"\u003e#50790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eManaged version of Prometheus Client is not aligned with Micrometer's micrometer-registry-prometheus \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50780\"\u003e#50780\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMap properties bound from empty strings fail with ConverterNotFoundException \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50773\"\u003e#50773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProtobuf Common Protos should not be a managed dependency \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50772\"\u003e#50772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAn application that depends on spring-boot-security-oauth2-resource-server may fail to start with a ClassNotFoundException when Reactor is on the classpath but WebFlux is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50764\"\u003e#50764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eW3CHeaderParser's decoding is not compliant with RFC 3986 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50650\"\u003e#50650\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\u003eDescription of spring.graphql.websocket.connection-init-timeout does not render correctly in the reference guide \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51348\"\u003e#51348\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.profiles.group should have a 'spring-profile-name' hint provider \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51284\"\u003e#51284\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove reference to removed InfluxDB auto-configuration \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51176\"\u003e#51176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse JacksonJsonSerde in Kafka Streams documentation \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51161\"\u003e#51161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument alternatives to HttpMessageConverters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51129\"\u003e#51129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix stale type reference for OTLP logging transport metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51119\"\u003e#51119\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMetadata for spring.test.mockmvc.htmlunit.url declares the wrong type \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51115\"\u003e#51115\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/6fdf67ea1552691e932604d4bf67a5e08ff0b0ea\"\u003e\u003ccode\u003e6fdf67e\u003c/code\u003e\u003c/a\u003e Release 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/fde599b28b40932e4ea6194399d89245923a01e7\"\u003e\u003ccode\u003efde599b\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Pulsar 2.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9daa58f7d98b82bf16febcb91943ce267c220a50\"\u003e\u003ccode\u003e9daa58f\u003c/code\u003e\u003c/a\u003e Upgrade to Spring HATEOAS 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/353993ebc1d7b1ceccbb981b0439a42ba122a816\"\u003e\u003ccode\u003e353993e\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Data Bom 2026.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/24ba596bc4fa000614834016452435c834fdeda2\"\u003e\u003ccode\u003e24ba596\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Session 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/5cb5c294d1f4780e78d010a964049e47c074e4d6\"\u003e\u003ccode\u003e5cb5c29\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Security 7.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4adc8eb130c4e0c688ed85316f385f4e04d47679\"\u003e\u003ccode\u003e4adc8eb\u003c/code\u003e\u003c/a\u003e Upgrade to Spring LDAP 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4d9c19cbc0589f57a7265052b507bf4b961082ac\"\u003e\u003ccode\u003e4d9c19c\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Kafka 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f30f6120c4f6f8f873ac56cba478ae1f011c276c\"\u003e\u003ccode\u003ef30f612\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 7.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/b930283d97e92eb24da1de3721cdd41625266dea\"\u003e\u003ccode\u003eb930283\u003c/code\u003e\u003c/a\u003e Upgrade to Spring gRPC 1.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.1.0...v4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot:spring-boot-maven-plugin` from 4.1.0 to 4.1.1\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:spring-boot-maven-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch2\u003e:warning: Attention Required\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpring Boot's Gradle plugin no longer automatically configures gRPC when the Protobuf plugin is applied. This behavior caused problems for those using Protobuf without gRPC. To opt in to the configuration of gRPC, configure the \u003ccode\u003eprotobuf\u003c/code\u003e extension with the \u003ccode\u003egrpc\u003c/code\u003e plugin using an empty block. The Spring Boot Gradle plugin will then automatically configure the use of \u003ccode\u003eprotoc-gen-grpc-java\u003c/code\u003e as before. \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50822\"\u003e#50822\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKafka consumer-specific security protocol is not taken into account \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51369\"\u003e#51369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStructured logging: a failed JSON encode corrupts the next log event written on the same thread \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51156\"\u003e#51156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMicrometer registries pin the application context \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51135\"\u003e#51135\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTemporary file is not deleted when ExportedImageTar construction fails \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51132\"\u003e#51132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMetadata annotation processor ignores getter-level \u003ccode\u003e@NestedConfigurationProperty\u003c/code\u003e for records \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51098\"\u003e#51098\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-h2-console pulls servlet-api as transitive dependency \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51095\"\u003e#51095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropertiesLauncher does not log nested archive paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51089\"\u003e#51089\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMethods that return the result of Map#remove are not declared with a \u003ccode\u003e@Nullable\u003c/code\u003e return type \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51087\"\u003e#51087\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNativeImageResourceProvider flattens Flyway migration paths in subdirectories \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50964\"\u003e#50964\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ordering of Kotlinx Serialization CodecCustomizer \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50961\"\u003e#50961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJarFile is not closed when finding main class from archive \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50959\"\u003e#50959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplication-managed JUL bridge handler should only be removed if installed \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50950\"\u003e#50950\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCloudFoundry reactive auto-configuration should not require a WebClient.Builder bean to be defined \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50944\"\u003e#50944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails on reactive Cloud Foundry when using Actuator without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50942\"\u003e#50942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResources are not cleaned up when resolving an image that is not yet present in the builder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50941\"\u003e#50941\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGraphQlWebMvcAutoConfiguration should apply customizers in order \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50914\"\u003e#50914\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configured RedisMessageListenerContainer does not use virtual threads when spring.threads.virtual.enabled is true \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50884\"\u003e#50884\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails when using Actuator on Jersey without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50872\"\u003e#50872\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails on Cloud Foundry when using Actuator without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50871\"\u003e#50871\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIllegalStateException when binding properties to a \u003ccode\u003e@Validated\u003c/code\u003e class that contains a map whose value type is a wildcard \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50856\"\u003e#50856\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHigh number of connections due to Mongo health indicator \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50852\"\u003e#50852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInconsistent handling of empty string values of spring.security.oauth2.resourceserver.jwt issuer-uri and jwk-set-uri \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50849\"\u003e#50849\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn type nullability of ApplicationContextAssert's getBean methods does not indicate that bean may be null \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50845\"\u003e#50845\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropertiesWebClientHttpServiceGroupConfigurer has highest precedence, preventing other configurers from being ordered ahead of it \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50843\"\u003e#50843\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExposing gRPC test server port should backoff if gRPC is not present \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50825\"\u003e#50825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJpaBaseConfiguration#entityManagerConfiguration can cause a dependency loop on beans declaring AsyncTaskExecutor \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50801\"\u003e#50801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.grpc.server.health.include-overall-health is not taken into account \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50799\"\u003e#50799\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSetting 'server.servlet.session.cookie.partitioned' to false still emits the 'Partitioned' cookie attribute \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50790\"\u003e#50790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eManaged version of Prometheus Client is not aligned with Micrometer's micrometer-registry-prometheus \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50780\"\u003e#50780\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMap properties bound from empty strings fail with ConverterNotFoundException \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50773\"\u003e#50773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProtobuf Common Protos should not be a managed dependency \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50772\"\u003e#50772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAn application that depends on spring-boot-security-oauth2-resource-server may fail to start with a ClassNotFoundException when Reactor is on the classpath but WebFlux is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50764\"\u003e#50764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eW3CHeaderParser's decoding is not compliant with RFC 3986 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50650\"\u003e#50650\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\u003eDescription of spring.graphql.websocket.connection-init-timeout does not render correctly in the reference guide \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51348\"\u003e#51348\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.profiles.group should have a 'spring-profile-name' hint provider \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51284\"\u003e#51284\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove reference to removed InfluxDB auto-configuration \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51176\"\u003e#51176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse JacksonJsonSerde in Kafka Streams documentation \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51161\"\u003e#51161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument alternatives to HttpMessageConverters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51129\"\u003e#51129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix stale type reference for OTLP logging transport metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51119\"\u003e#51119\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMetadata for spring.test.mockmvc.htmlunit.url declares the wrong type \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51115\"\u003e#51115\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/6fdf67ea1552691e932604d4bf67a5e08ff0b0ea\"\u003e\u003ccode\u003e6fdf67e\u003c/code\u003e\u003c/a\u003e Release 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/fde599b28b40932e4ea6194399d89245923a01e7\"\u003e\u003ccode\u003efde599b\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Pulsar 2.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9daa58f7d98b82bf16febcb91943ce267c220a50\"\u003e\u003ccode\u003e9daa58f\u003c/code\u003e\u003c/a\u003e Upgrade to Spring HATEOAS 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/353993ebc1d7b1ceccbb981b0439a42ba122a816\"\u003e\u003ccode\u003e353993e\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Data Bom 2026.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/24ba596bc4fa000614834016452435c834fdeda2\"\u003e\u003ccode\u003e24ba596\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Session 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/5cb5c294d1f4780e78d010a964049e47c074e4d6\"\u003e\u003ccode\u003e5cb5c29\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Security 7.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4adc8eb130c4e0c688ed85316f385f4e04d47679\"\u003e\u003ccode\u003e4adc8eb\u003c/code\u003e\u003c/a\u003e Upgrade to Spring LDAP 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4d9c19cbc0589f57a7265052b507bf4b961082ac\"\u003e\u003ccode\u003e4d9c19c\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Kafka 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f30f6120c4f6f8f873ac56cba478ae1f011c276c\"\u003e\u003ccode\u003ef30f612\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 7.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/b930283d97e92eb24da1de3721cdd41625266dea\"\u003e\u003ccode\u003eb930283\u003c/code\u003e\u003c/a\u003e Upgrade to Spring gRPC 1.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.1.0...v4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.ai:spring-ai-bom` 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/spring-projects/spring-ai/releases\"\u003eorg.springframework.ai:spring-ai-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eSpring AI 2.0.1\u003c/h2\u003e\n\u003cp\u003eFor upgrading from 2.0.0 to 2.0.1, please refer to the upgrade notes \u003ca href=\"https://docs.spring.io/spring-ai/reference/upgrade-notes.html#upgrading-to-2-0-1\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eFor the detailed reference documentation on 2.0.1, please refer \u003ca href=\"https://docs.spring.io/spring-ai/reference/index.html\"\u003ehere\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHarden Ollama integration tests against flakiness \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6776\"\u003e#6776\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRetire deprecated Mistral AI chat models \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6772\"\u003e#6772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument additional 2.0.1 breaking changes \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6771\"\u003e#6771\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport audio streaming in OpenAiAudioSpeechModel \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6733\"\u003e#6733\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd configurable tool call limits \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6726\"\u003e#6726\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnrich OpenAI transcription options and responses \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6697\"\u003e#6697\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Couchbase vector store to use Spring Boot-managed client \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/issues/6583\"\u003e#6583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove explicit \u003ccode\u003eprotobuf-java\u003c/code\u003e version properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/issues/6552\"\u003e#6552\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd ToolChoice support for Google GenAI chat model \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6531\"\u003e#6531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove fastjson2 dependency from \u003ccode\u003espring-ai-azure-store\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6508\"\u003e#6508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor \u003ccode\u003eMedia\u003c/code\u003e builder to use typed \u003ccode\u003edata\u003c/code\u003e overloads \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6481\"\u003e#6481\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eValidate \u003ccode\u003eTokenTextSplitter\u003c/code\u003e builder arguments \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6452\"\u003e#6452\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport page ranges in \u003ccode\u003ePagePdfDocumentReader\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6445\"\u003e#6445\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevise DeepSeekApi \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6428\"\u003e#6428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGraalVM for mcp annotations doesn't work in Spring AI 2.0.0 \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/issues/6427\"\u003e#6427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003espring-ai-autoconfigure-model-chat-memory-redis\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6416\"\u003e#6416\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore PDF media mapping in \u003ccode\u003eOpenAiChatModel\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6410\"\u003e#6410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGoogle Image generation support \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6408\"\u003e#6408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove unused field \u003ccode\u003emaxResults\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6344\"\u003e#6344\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConfusing WARN log while AWS region resolving \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/issues/5108\"\u003e#5108\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpringAI does not follow the AWS SDK's default region resolution rules \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/issues/823\"\u003e#823\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReserve Redis chat memory timestamps atomically \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6784\"\u003e#6784\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix RedisChatMemoryRepository clear() \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6783\"\u003e#6783\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEscape metadata values in Redis chat memory queries \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/issues/6765\"\u003e#6765\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eValidate resolved resource path \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/issues/6764\"\u003e#6764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce maxSessions and sessionIdleTimeout \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/issues/6760\"\u003e#6760\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eOpenAiAudioTranscriptionModel\u003c/code\u003e leaking the stream on cancellation \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6759\"\u003e#6759\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMerge java-compile compilerArgs instead of overriding \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6756\"\u003e#6756\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDefault OpenAI tool-calling strict mode to false \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6755\"\u003e#6755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse temporary directory for cache \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/issues/6754\"\u003e#6754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle malformed pdf in PdfDocumentReader \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/issues/6753\"\u003e#6753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake tool resolution fallback configurable \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/issues/6751\"\u003e#6751\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse full length hash \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/issues/6746\"\u003e#6746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect \u003ccode\u003eToolContext\u003c/code\u003e parameter detection \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6744\"\u003e#6744\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn a single Generation on ToolCallLimitExceededException \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6742\"\u003e#6742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ToolCallingAdvisor streaming loop dropping doBeforeStream mutations \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6737\"\u003e#6737\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd instructions option to OpenAiAudioSpeechModel \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6731\"\u003e#6731\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply MCP HTTP client request customizer beans \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6716\"\u003e#6716\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClose OpenAI stream response on cancellation \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6656\"\u003e#6656\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eValidate text length to prevent \u003ccode\u003eStringIndexOutOfBoundsException\u003c/code\u003e for \u003ccode\u003eMarkdownCodeBlockCleaner\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6645\"\u003e#6645\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-ai/commit/c9107fdac0a6c88489c08bb88abcee74c146981d\"\u003e\u003ccode\u003ec9107fd\u003c/code\u003e\u003c/a\u003e Release 2.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-ai/commit/92a211954343cc46355abb723cd9f40cf581c1de\"\u003e\u003ccode\u003e92a2119\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Boot 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-ai/commit/0e7b5f62c3882202e76e7653990e57f56080bad7\"\u003e\u003ccode\u003e0e7b5f6\u003c/code\u003e\u003c/a\u003e Escape metadata values in Redis chat memory queries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-ai/commit/2d2b45503618c17df52aac339d4511fb717e7af7\"\u003e\u003ccode\u003e2d2b455\u003c/code\u003e\u003c/a\u003e Validate resolved resource path stays within the cache directory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-ai/commit/023867c80be379f53296fbb0002ac522d0d44449\"\u003e\u003ccode\u003e023867c\u003c/code\u003e\u003c/a\u003e Introduce maxSessions and sessionIdleTimeout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-ai/commit/8a1fd8ed79011f63c1d9c02fec52778416a3d2d2\"\u003e\u003ccode\u003e8a1fd8e\u003c/code\u003e\u003c/a\u003e Handle malformed pdf in PdfDocumentReader\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-ai/commit/369a92670e7de1074a6f35b7a68071a789697932\"\u003e\u003ccode\u003e369a926\u003c/code\u003e\u003c/a\u003e Use a new temporary directory for cache\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-ai/commit/096f140bfee26e3fe7867f14f96d95a86fcb2b34\"\u003e\u003ccode\u003e096f140\u003c/code\u003e\u003c/a\u003e Make tool resolution fallback configurable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-ai/commit/d89e4a4b4afc22ea8183ad1912fe0e98833f4a4b\"\u003e\u003ccode\u003ed89e4a4\u003c/code\u003e\u003c/a\u003e Use full length SHA256 hash for contextHash\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-ai/commit/3fc390f38a26f725e215c6ea3535b4082fbd6d65\"\u003e\u003ccode\u003e3fc390f\u003c/code\u003e\u003c/a\u003e Prepare 2.0.x-internal branch\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-ai/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.tngtech.archunit:archunit-junit5` from 1.4.2 to 1.5.0\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.5.0\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 27 / class file major version 71 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1618\"\u003e#1618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove descriptions of \u003ccode\u003eJavaAccess.Predicates.originOwner\u003c/code\u003e and \u003ccode\u003eJavaAccess.Predicates.targetOwner\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1603\"\u003e#1603\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eExpose information on sealed classes via \u003ccode\u003eJavaClass\u003c/code\u003e: \u003ccode\u003eisSealed()\u003c/code\u003e and \u003ccode\u003egetPermittedSubclasses()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/bannmann\"\u003e\u003ccode\u003e@​bannmann\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eImportOption.DoNotIncludeTests\u003c/code\u003e and \u003ccode\u003eOnlyIncludeTests\u003c/code\u003e consider tests in custom Gradle source sets (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/Develop-KIM\"\u003e\u003ccode\u003e@​Develop-KIM\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLang\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchConditions\u003c/code\u003e offers new \u003ccode\u003eArchCondition\u0026lt;JavaClass\u0026gt; haveAnyDependenciesThat(DescribedPredicate\u0026lt;Dependency\u0026gt;)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1580\"\u003e#1580\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/wakingrufus\"\u003e\u003ccode\u003e@​wakingrufus\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchitectureMetrics.lakosMetrics\u003c/code\u003e is computed much more performantly (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1629\"\u003e#1629\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/ThanosTsiamis\"\u003e\u003ccode\u003e@​ThanosTsiamis\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTextFileBasedViolationStore\u003c/code\u003e is now thread-safe under parallel test execution (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1656\"\u003e#1656\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/kelunik\"\u003e\u003ccode\u003e@​kelunik\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eModuleDependency\u003c/code\u003e now provides stable descriptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1648\"\u003e#1648\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/DragonFSKY\"\u003e\u003ccode\u003e@​DragonFSKY\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eJUnit\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003earchunit-junit6\u003c/code\u003e supports ArchUnit with JUnit 6 (\u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1556\"\u003e#1556\u003c/a\u003e\u003c/del\u003e, \u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1658\"\u003e#1658\u003c/a\u003e\u003c/del\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1659\"\u003e#1659\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnalyzeClasses\u003c/code\u003e supports individual classes (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1569\"\u003e#1569\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003ePreparation:\u003c/em\u003e \u003ccode\u003earchunit-junit:0.9.0\u003c/code\u003e (which was renamed with \u003ca href=\"https://github.com/TNG/ArchUnit/releases/tag/v0.9.0\"\u003eArchUnit 0.9.0\u003c/a\u003e) now relocates to \u003ccode\u003earchunit-junit4:0.9.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1673\"\u003e#1673\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋) – will be published after \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1684\"\u003e#1684\u003c/a\u003e 🙈\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocument \u003ccode\u003ePriority\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1671\"\u003e#1671\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eDocument Package Identifiers in User Guide (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1672\"\u003e#1672\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eInternal Improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eText files now use UNIX line breaks (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1602\"\u003e#1602\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1611\"\u003e#1611\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eUpdate Gradle from 8 to 9; build \u0026amp; test with JDK 25 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1550\"\u003e#1550\u003c/a\u003e, and also \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1612\"\u003e#1612\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1619\"\u003e#1619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSeparate integration tests by JUnit version (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1636\"\u003e#1636\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003ejunit-dataprovider\u003c/code\u003e with \u003ccode\u003ejunit-jupiter-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1655\"\u003e#1655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eArchUnit releases now update Maven examples (and Gradle wrapper) of \u003ca href=\"https://github.com/TNG/ArchUnit-Examples\"\u003eArchUnit-Examples\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid managing hamcrest dependency (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1467\"\u003e#1467\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\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/TNG/ArchUnit/commit/502d782bfbf2632a2c9f943a502ddd8cc3e3c46d\"\u003e\u003ccode\u003e502d782\u003c/code\u003e\u003c/a\u003e prepare release 1.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/4f26fccd784d37f469e743950f8e0a3ff686d64b\"\u003e\u003ccode\u003e4f26fcc\u003c/code\u003e\u003c/a\u003e fix testRelease exec() and task registration for Gradle 9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/96af98457c924289ecff834737eebd8a55bddda6\"\u003e\u003ccode\u003e96af984\u003c/code\u003e\u003c/a\u003e add new developers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/e427828fcb9b09117cd0e59a471314218f8331d5\"\u003e\u003ccode\u003ee427828\u003c/code\u003e\u003c/a\u003e consolidate POM checks during CI and release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a30f6e3465ed3cb0868607debf80bf83e741b5f0\"\u003e\u003ccode\u003ea30f6e3\u003c/code\u003e\u003c/a\u003e Bump gradle/actions from 6 to 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a036c08707c50e6f7091754e63389f5bd2aaec64\"\u003e\u003ccode\u003ea036c08\u003c/code\u003e\u003c/a\u003e Bump com.github.ben-manes.versions from 0.57.0 to 0.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/24a9d9e10d4bb5ba5c5678d36810ef2397470163\"\u003e\u003ccode\u003e24a9d9e\u003c/code\u003e\u003c/a\u003e Bump actions/setup-java from 5.6.0 to 5.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/9944244c116f2724ac5bc1d02c73ca10af1c92e4\"\u003e\u003ccode\u003e9944244\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/51fd6c9e90c681a3d644f8a1e86a428f64fe3418\"\u003e\u003ccode\u003e51fd6c9\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/65f4cd3a60c48b0654daa4662b563e6b8545e221\"\u003e\u003ccode\u003e65f4cd3\u003c/code\u003e\u003c/a\u003e add support for dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TNG/ArchUnit/compare/v1.4.2...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.swagger.parser.v3:swagger-parser-v3` from 2.1.45 to 2.1.47\n\nUpdates `com.networknt:json-schema-validator` from 3.0.6 to 3.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/networknt/json-schema-validator/releases\"\u003ecom.networknt:json-schema-validator's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.0.7- 2026-08-20\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efixes \u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1277\"\u003e#1277\u003c/a\u003e upgrade jackson to 3.2.1 to resolve a security vulnerability\u003c/li\u003e\n\u003cli\u003eix: uniqueItems compares numbers by value, not by node type (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1273\"\u003e#1273\u003c/a\u003e) Thanks \u003ca href=\"https://github.com/dngr2\"\u003e\u003ccode\u003e@​dngr2\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor PathType when formatting SchemaException locations (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1272\"\u003e#1272\u003c/a\u003e) Thanks \u003ca href=\"https://github.com/kalayciburak\"\u003e\u003ccode\u003e@​kalayciburak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject non-ASCII whitespace in idn-email and format tests (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1268\"\u003e#1268\u003c/a\u003e) Thanks \u003ca href=\"https://github.com/el-psy-kongroo-d\"\u003e\u003ccode\u003e@​el-psy-kongroo-d\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject non-ASCII whitespace in email format (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1267\"\u003e#1267\u003c/a\u003e) Thanks \u003ca href=\"https://github.com/el-psy-kongroo-d\"\u003e\u003ccode\u003e@​el-psy-kongroo-d\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/networknt/json-schema-validator/blob/master/CHANGELOG.md\"\u003ecom.networknt:json-schema-validator's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChange Log\u003c/h1\u003e\n\u003cp\u003eAll notable changes to this project will be documented in this file.\u003c/p\u003e\n\u003cp\u003eThis format is based on \u003ca href=\"http://keepachangelog.com/\"\u003eKeep a Changelog\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis project does not adhere to \u003ca href=\"https://semver.org/\"\u003eSemantic Versioning\u003c/a\u003e and minor version changes can have incompatible API changes. These incompatible API changes will largely affect those who have custom validator or walker implementations. Those who just use the library to validate using the standard JSON Schema Draft specifications may not need changes.\u003c/p\u003e\n\u003ch2\u003e[Unreleased]\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003ch2\u003e3.0.7- 2026-08-20\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efixes \u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1277\"\u003e#1277\u003c/a\u003e upgrade jackson to 3.2.1 to resolve a security vulnerability\u003c/li\u003e\n\u003cli\u003eix: uniqueItems compares numbers by value, not by node type (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1273\"\u003e#1273\u003c/a\u003e) Thanks \u003ca href=\"https://github.com/dngr2\"\u003e\u003ccode\u003e@​dngr2\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor PathType when formatting SchemaException locations (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1272\"\u003e#1272\u003c/a\u003e) Thanks \u003ca href=\"https://github.com/kalayciburak\"\u003e\u003ccode\u003e@​kalayciburak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject non-ASCII whitespace in idn-email and format tests (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1268\"\u003e#1268\u003c/a\u003e) Thanks \u003ca href=\"https://github.com/el-psy-kongroo-d\"\u003e\u003ccode\u003e@​el-psy-kongroo-d\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject non-ASCII whitespace in email format (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1267\"\u003e#1267\u003c/a\u003e) Thanks \u003ca href=\"https://github.com/el-psy-kongroo-d\"\u003e\u003ccode\u003e@​el-psy-kongroo-d\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.6- 2026-07-07\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFall back to the library class loader for classpath resources (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1265\"\u003e#1265\u003c/a\u003e) Thanks \u003ca href=\"https://github.com/joaodinissf\"\u003e\u003ccode\u003e@​joaodinissf\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd schema tests (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1260\"\u003e#1260\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1261\"\u003e#1261\u003c/a\u003e) Thanks \u003ca href=\"https://github.com/gjvoosten\"\u003e\u003ccode\u003e@​gjvoosten\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump jackson to 3.1.4 to fix CVE-2026-54512 and CVE-2026-54513 (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1263\"\u003e#1263\u003c/a\u003e) Thanks \u003ca href=\"https://github.com/olinoskar\"\u003e\u003ccode\u003e@​olinoskar\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReduce per-validation allocation in ExecutionContext (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1259\"\u003e#1259\u003c/a\u003e) Thanks \u003ca href=\"https://github.com/nishantmehta\"\u003e\u003ccode\u003e@​nishantmehta\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: re-enable and strengthen recursive $ref SelfRefTest (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1258\"\u003e#1258\u003c/a\u003e) Thanks \u003ca href=\"https://github.com/koteshyelamati\"\u003e\u003ccode\u003e@​koteshyelamati\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esimplify additionalItems validation flow (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1256\"\u003e#1256\u003c/a\u003e) Thanks \u003ca href=\"https://github.com/Oz-er\"\u003e\u003ccode\u003e@​Oz-er\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.5- 2026-06-21\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efixes \u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1252\"\u003e#1252\u003c/a\u003e problem with additionalProperties schema in jsconfig schema (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1253\"\u003e#1253\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efixes \u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1174\"\u003e#1174\u003c/a\u003e TextNodes as schema seem to validate any value (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1250\"\u003e#1250\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.4- 2026-06-10\u003c/h2\u003e\n\u003ch3\u003eAdded\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/networknt/json-schema-validator/commit/18539a8265f79a9ceda45be6e42b36eba5f377e5\"\u003e\u003ccode\u003e18539a8\u003c/code\u003e\u003c/a\u003e upgrade to 3.0.7 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networknt/json-schema-validator/commit/f92d938ae4fe0b4b42fbf20c6966e9514b26cfb9\"\u003e\u003ccode\u003ef92d938\u003c/code\u003e\u003c/a\u003e fixes \u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1277\"\u003e#1277\u003c/a\u003e upgrade jackson to 3.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networknt/json-schema-validator/commit/285170f885ea78c81a81659c1ecb7292c710aaa0\"\u003e\u003ccode\u003e285170f\u003c/code\u003e\u003c/a\u003e fix: uniqueItems compares numbers by value, not by node type (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1273\"\u003e#1273\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networknt/json-schema-validator/commit/e877866f973fc94b2a7ab2e500b6de6ba5bee4c9\"\u003e\u003ccode\u003ee877866\u003c/code\u003e\u003c/a\u003e Honor PathType when formatting SchemaException locations (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1272\"\u003e#1272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networknt/json-schema-validator/commit/73eb8f2a0553c7c5ba4269940dbf311e1b82e90d\"\u003e\u003ccode\u003e73eb8f2\u003c/code\u003e\u003c/a\u003e Reject non-ASCII whitespace in idn-email and strengthen email format tests (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networknt/json-schema-validator/commit/d97a3680b2863874241c4a569fe9e4bfad4d7935\"\u003e\u003ccode\u003ed97a368\u003c/code\u003e\u003c/a\u003e Reject non-ASCII whitespace in email format (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1267\"\u003e#1267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/networknt/json-schema-validator/compare/3.0.6...3.0.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:spring-boot-maven-plugin` from 4.1.0 to 4.1.1\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:spring-boot-maven-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch2\u003e:warning: Attention Required\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpring Boot's Gradle plugin no longer automatically configures gRPC when the Protobuf plugin is applied. This behavior caused problems for those using Protobuf without gRPC. To opt in to the configuration of gRPC, configure the \u003ccode\u003eprotobuf\u003c/code\u003e extension with the \u003ccode\u003egrpc\u003c/code\u003e plugin using an empty block. The Spring Boot Gradle plugin will then automatically configure the use of \u003ccode\u003eprotoc-gen-grpc-java\u003c/code\u003e as before. \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50822\"\u003e#50822\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKafka consumer-specific security protocol is not taken into account \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51369\"\u003e#51369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStructured logging: a failed JSON encode corrupts the next log event written on the same thread \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51156\"\u003e#51156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMicrometer registries pin the application context \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51135\"\u003e#51135\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTemporary file is not deleted when ExportedImageTar construction fails \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51132\"\u003e#51132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMetadata annotation processor ignores getter-level \u003ccode\u003e@NestedConfigurationProperty\u003c/code\u003e for records \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51098\"\u003e#51098\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-h2-console pulls servlet-api as transitive dependency \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51095\"\u003e#51095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropertiesLauncher does not log nested archive paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51089\"\u003e#51089\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMethods that return the result of Map#remove are not declared with a \u003ccode\u003e@Nullable\u003c/code\u003e return type \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51087\"\u003e#51087\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNativeImageResourceProvider flattens Flyway migration paths in subdirectories \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50964\"\u003e#50964\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ordering of Kotlinx Serialization CodecCustomizer \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50961\"\u003e#50961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJarFile is not closed when finding main class from archive \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50959\"\u003e#50959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplication-managed JUL bridge handler should only be removed if installed \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50950\"\u003e#50950\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCloudFoundry reactive auto-configuration should not require a WebClient.Builder bean to be defined \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50944\"\u003e#50944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails on reactive Cloud Foundry when using Actuator without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50942\"\u003e#50942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResources are not cleaned up when resolving an image that is not yet present in the builder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50941\"\u003e#50941\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGraphQlWebMvcAutoConfiguration should apply customizers in order \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50914\"\u003e#50914\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configured RedisMessageListenerContainer does not use virtual threads when spring.threads.virtual.enabled is true \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50884\"\u003e#50884\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails when using Actuator on Jersey without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50872\"\u003e#50872\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails on Cloud Foundry when using Actuator without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50871\"\u003e#50871\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIllegalStateException when binding properties to a \u003ccode\u003e@Validated\u003c/code\u003e class that contains a map whose value type is a wildcard \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50856\"\u003e#50856\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHigh number of connections due to Mongo health indicator \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50852\"\u003e#50852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInconsistent handling of empty string values of spring.security.oauth2.resourceserver.jwt issuer-uri and jwk-set-uri \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50849\"\u003e#50849\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn type nullability of ApplicationContextAssert's getBean methods does not indicate that bean may be null \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50845\"\u003e#50845\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropertiesWebClientHttpServiceGroupConfigurer has highest precedence, preventing other configurers from being ordered ahead of it \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50843\"\u003e#50843\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExposing gRPC test server port should backoff if gRPC is not present \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50825\"\u003e#50825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJpaBaseConfiguration#entityManagerConfiguration can cause a dependency loop on beans declaring AsyncTaskExecutor \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50801\"\u003e#50801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.grpc.server.health.include-overall-health is not taken into account \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50799\"\u003e#50799\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSetting 'server.servlet.session.cookie.partitioned' to false still emits the 'Partitioned' cookie attribute \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50790\"\u003e#50790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eManaged version of Prometheus Client is not aligned with Micrometer's micrometer-registry-prometheus \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50780\"\u003e#50780\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMap properties bound from empty strings fail with ConverterNotFoundException \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50773\"\u003e#50773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProtobuf Common Protos should not be a managed dependency \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50772\"\u003e#50772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAn application that depends on spring-boot-security-oauth2-resource-server may fail to start with a ClassNotFoundException when Reactor is on the classpath but WebFlux is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50764\"\u003e#50764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eW3CHeaderParser's decoding is not compliant with RFC 3986 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50650\"\u003e#50650\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\u003eDescription of spring.graphql.websocket.connection-init-timeout does not render correctly in the reference guide \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51348\"\u003e#51348\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.profiles.group should have a 'spring-profile-name' hint provider \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51284\"\u003e#51284\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove reference to removed InfluxDB auto-configuration \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51176\"\u003e#51176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse JacksonJsonSerde in Kafka Streams documentation \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51161\"\u003e#51161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument alternatives to HttpMessageConverters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51129\"\u003e#51129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix stale type reference for OTLP logging transport metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51119\"\u003e#51119\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMetadata for spring.test.mockmvc.htmlunit.url declares the wrong type \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51115\"\u003e#51115\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/6fdf67ea1552691e932604d4bf67a5e08ff0b0ea\"\u003e\u003ccode\u003e6fdf67e\u003c/code\u003e\u003c/a\u003e Release 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/fde599b28b40932e4ea6194399d89245923a01e7\"\u003e\u003ccode\u003efde599b\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Pulsar 2.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9daa58f7d98b82bf16febcb91943ce267c220a50\"\u003e\u003ccode\u003e9daa58f\u003c/code\u003e\u003c/a\u003e Upgrade to Spring HATEOAS 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/353993ebc1d7b1ceccbb981b0439a42ba122a816\"\u003e\u003ccode\u003e353993e\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Data Bom 2026.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/24ba596bc4fa000614834016452435c834fdeda2\"\u003e\u003ccode\u003e24ba596\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Session 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/5cb5c294d1f4780e78d010a964049e47c074e4d6\"\u003e\u003ccode\u003e5cb5c29\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Security 7.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4adc8eb130c4e0c688ed85316f385f4e04d47679\"\u003e\u003ccode\u003e4adc8eb\u003c/code\u003e\u003c/a\u003e Upgrade to Spring LDAP 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4d9c19cbc0589f57a7265052b507bf4b961082ac\"\u003e\u003ccode\u003e4d9c19c\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Kafka 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f30f6120c4f6f8f873ac56cba478ae1f011c276c\"\u003e\u003ccode\u003ef30f612\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 7.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/b930283d97e92eb24da1de3721cdd41625266dea\"\u003e\u003ccode\u003eb930283\u003c/code\u003e\u003c/a\u003e Upgrade to Spring gRPC 1.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.1.0...v4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.h2database:h2` from 2.3.232 to 2.4.240\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/h2database/h2database/releases\"\u003ecom.h2database:h2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.4.240\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/h2database/h2database/commit/c8eb81be7a30786b7534377a7e475bdaa08aeeb8\"\u003e\u003ccode\u003ec8eb81b\u003c/code\u003e\u003c/a\u003e in preparation for a release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h2database/h2database/commit/7ff5ee5cf0fa7d75ad341ebf53ff9301e390b537\"\u003e\u003ccode\u003e7ff5ee5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h2database/h2database/issues/4260\"\u003e#4260\u003c/a\u003e from JackPGreen/update-maven-central-url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h2database/h2database/commit/da4c337f0251d51b2aaeeb28133fb87c8da4907c\"\u003e\u003ccode\u003eda4c337\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h2database/h2database/issues/4271\"\u003e#4271\u003c/a\u003e from IrisesD/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h2database/h2database/commit/d053544f6baa9d91339b51a1b30572d1fabfe705\"\u003e\u003ccode\u003ed053544\u003c/code\u003e\u003c/a\u003e feat: allow \u003ccode\u003eCATALOG\u003c/code\u003e in \u003ccode\u003eCREATE SCHEMA\u003c/code\u003e and \u003ccode\u003eDROP SCHEMA\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/h2database/h2database/issues/4277\"\u003e#4277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h2database/h2database/commit/a448d91e083eceec493be60d398656f27a0ed4c7\"\u003e\u003ccode\u003ea448d91\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h2database/h2database/issues/4273\"\u003e#4273\u003c/a\u003e from naive924/feat/compactThreads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h2database/h2database/commit/6672123e6a404d6fde309bc9871538ddf838b0b6\"\u003e\u003ccode\u003e6672123\u003c/code\u003e\u003c/a\u003e fix: change log\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h2database/h2database/commit/858e74abc3676686c547f0182a73519e9962044c\"\u003e\u003ccode\u003e858e74a\u003c/code\u003e\u003c/a\u003e fix: MVStore.compact: run map copy in parallel by default (¼ cores, override ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h2database/h2database/commit/bce0ec1f9e116dae837d756af14281d3d566905d\"\u003e\u003ccode\u003ebce0ec1\u003c/code\u003e\u003c/a\u003e feat: parallel map copy option for MVStore.compact()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h2database/h2database/commit/d8a6cc3e20e028ac854c08764b9c3e41e360b72e\"\u003e\u003ccode\u003ed8a6cc3\u003c/code\u003e\u003c/a\u003e Fix command syntax in help.csv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h2database/h2database/commit/c45413cdc3f0c0bf77a62817c14cdaec65c87096\"\u003e\u003ccode\u003ec45413c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h2database/h2database/issues/4266\"\u003e#4266\u003c/a\u003e from andreitokar/issue-4208-2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/h2database/h2database/compare/version-2.3.232...version-2.4.240\"\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/DavidDingXu/java-ai-engineering-practice/pull/23","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavidDingXu%2Fjava-ai-engineering-practice/issues/23","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/23/packages"},{"uuid":"5285414376","node_id":"PR_kwDORHwl-s8AAAABBbQrCA","number":134,"state":"closed","title":"chore(deps): bump the all-maven group in /services with 16 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-09-05T08:03:41.000Z","author_association":null,"state_reason":null,"created_at":"2026-08-29T08:04:13.000Z","updated_at":"2026-09-05T08:03:43.000Z","time_to_close":604768,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"all-maven","update_count":16,"packages":[{"name":"org.springframework.boot:spring-boot-starter-parent","old_version":"3.2.5","new_version":"4.1.1","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.testcontainers:testcontainers-bom","old_version":"1.21.4","new_version":"2.0.5","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.codehaus.mojo:flatten-maven-plugin","old_version":"1.6.0","new_version":"1.8.0","repository_url":"https://github.com/mojohaus/flatten-maven-plugin"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.2.0","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"com.baomidou:mybatis-plus-spring-boot3-starter","old_version":"3.5.16","new_version":"3.5.17","repository_url":"https://github.com/baomidou/mybatis-plus"},{"name":"com.baomidou:mybatis-plus-jsqlparser","old_version":"3.5.16","new_version":"3.5.17","repository_url":"https://github.com/baomidou/mybatis-plus"},{"name":"com.baomidou:mybatis-plus-annotation","old_version":"3.5.16","new_version":"3.5.17","repository_url":"https://github.com/baomidou/mybatis-plus"},{"name":"com.baomidou:mybatis-plus-extension","old_version":"3.5.16","new_version":"3.5.17","repository_url":"https://github.com/baomidou/mybatis-plus"},{"name":"io.swagger.core.v3:swagger-annotations-jakarta","old_version":"2.2.22","new_version":"2.2.54"},{"name":"org.redisson:redisson-spring-boot-starter","old_version":"4.3.1","new_version":"4.7.0"},{"name":"cn.hutool:hutool-all","old_version":"5.8.44","new_version":"5.8.47","repository_url":"https://github.com/looly/hutool"},{"name":"org.jacoco:jacoco-maven-plugin","old_version":"0.8.14","new_version":"0.8.15","repository_url":"https://github.com/jacoco/jacoco"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"2.6.0","new_version":"3.1.0","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"com.meilisearch.sdk:meilisearch-java","old_version":"0.20.1","new_version":"0.21.0","repository_url":"https://github.com/meilisearch/meilisearch-java"},{"name":"org.flywaydb:flyway-core","old_version":"10.10.0","new_version":"13.3.0"},{"name":"org.flywaydb:flyway-mysql","old_version":"10.10.0","new_version":"13.3.0"}],"path":"/services","ecosystem":"maven"},"body":"Bumps the all-maven group in /services with 16 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.springframework.boot:spring-boot-starter-parent](https://github.com/spring-projects/spring-boot) | `3.2.5` | `4.1.1` |\n| [org.testcontainers:testcontainers-bom](https://github.com/testcontainers/testcontainers-java) | `1.21.4` | `2.0.5` |\n| [org.codehaus.mojo:flatten-maven-plugin](https://github.com/mojohaus/flatten-maven-plugin) | `1.6.0` | `1.8.0` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.2.0` | `1.5.0` |\n| [com.baomidou:mybatis-plus-spring-boot3-starter](https://github.com/baomidou/mybatis-plus) | `3.5.16` | `3.5.17` |\n| [com.baomidou:mybatis-plus-jsqlparser](https://github.com/baomidou/mybatis-plus) | `3.5.16` | `3.5.17` |\n| [com.baomidou:mybatis-plus-annotation](https://github.com/baomidou/mybatis-plus) | `3.5.16` | `3.5.17` |\n| [com.baomidou:mybatis-plus-extension](https://github.com/baomidou/mybatis-plus) | `3.5.16` | `3.5.17` |\n| io.swagger.core.v3:swagger-annotations-jakarta | `2.2.22` | `2.2.54` |\n| org.redisson:redisson-spring-boot-starter | `4.3.1` | `4.7.0` |\n| [cn.hutool:hutool-all](https://github.com/looly/hutool) | `5.8.44` | `5.8.47` |\n| [org.jacoco:jacoco-maven-plugin](https://github.com/jacoco/jacoco) | `0.8.14` | `0.8.15` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `2.6.0` | `3.1.0` |\n| [com.meilisearch.sdk:meilisearch-java](https://github.com/meilisearch/meilisearch-java) | `0.20.1` | `0.21.0` |\n| org.flywaydb:flyway-core | `10.10.0` | `13.3.0` |\n| org.flywaydb:flyway-mysql | `10.10.0` | `13.3.0` |\n\nUpdates `org.springframework.boot:spring-boot-starter-parent` from 3.2.5 to 4.1.1\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:spring-boot-starter-parent's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch2\u003e:warning: Attention Required\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpring Boot's Gradle plugin no longer automatically configures gRPC when the Protobuf plugin is applied. This behavior caused problems for those using Protobuf without gRPC. To opt in to the configuration of gRPC, configure the \u003ccode\u003eprotobuf\u003c/code\u003e extension with the \u003ccode\u003egrpc\u003c/code\u003e plugin using an empty block. The Spring Boot Gradle plugin will then automatically configure the use of \u003ccode\u003eprotoc-gen-grpc-java\u003c/code\u003e as before. \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50822\"\u003e#50822\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKafka consumer-specific security protocol is not taken into account \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51369\"\u003e#51369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStructured logging: a failed JSON encode corrupts the next log event written on the same thread \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51156\"\u003e#51156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMicrometer registries pin the application context \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51135\"\u003e#51135\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTemporary file is not deleted when ExportedImageTar construction fails \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51132\"\u003e#51132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMetadata annotation processor ignores getter-level \u003ccode\u003e@NestedConfigurationProperty\u003c/code\u003e for records \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51098\"\u003e#51098\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-h2-console pulls servlet-api as transitive dependency \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51095\"\u003e#51095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropertiesLauncher does not log nested archive paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51089\"\u003e#51089\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMethods that return the result of Map#remove are not declared with a \u003ccode\u003e@Nullable\u003c/code\u003e return type \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51087\"\u003e#51087\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNativeImageResourceProvider flattens Flyway migration paths in subdirectories \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50964\"\u003e#50964\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ordering of Kotlinx Serialization CodecCustomizer \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50961\"\u003e#50961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJarFile is not closed when finding main class from archive \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50959\"\u003e#50959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplication-managed JUL bridge handler should only be removed if installed \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50950\"\u003e#50950\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCloudFoundry reactive auto-configuration should not require a WebClient.Builder bean to be defined \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50944\"\u003e#50944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails on reactive Cloud Foundry when using Actuator without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50942\"\u003e#50942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResources are not cleaned up when resolving an image that is not yet present in the builder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50941\"\u003e#50941\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGraphQlWebMvcAutoConfiguration should apply customizers in order \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50914\"\u003e#50914\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configured RedisMessageListenerContainer does not use virtual threads when spring.threads.virtual.enabled is true \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50884\"\u003e#50884\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails when using Actuator on Jersey without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50872\"\u003e#50872\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails on Cloud Foundry when using Actuator without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50871\"\u003e#50871\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIllegalStateException when binding properties to a \u003ccode\u003e@Validated\u003c/code\u003e class that contains a map whose value type is a wildcard \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50856\"\u003e#50856\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHigh number of connections due to Mongo health indicator \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50852\"\u003e#50852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInconsistent handling of empty string values of spring.security.oauth2.resourceserver.jwt issuer-uri and jwk-set-uri \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50849\"\u003e#50849\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn type nullability of ApplicationContextAssert's getBean methods does not indicate that bean may be null \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50845\"\u003e#50845\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropertiesWebClientHttpServiceGroupConfigurer has highest precedence, preventing other configurers from being ordered ahead of it \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50843\"\u003e#50843\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExposing gRPC test server port should backoff if gRPC is not present \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50825\"\u003e#50825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJpaBaseConfiguration#entityManagerConfiguration can cause a dependency loop on beans declaring AsyncTaskExecutor \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50801\"\u003e#50801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.grpc.server.health.include-overall-health is not taken into account \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50799\"\u003e#50799\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSetting 'server.servlet.session.cookie.partitioned' to false still emits the 'Partitioned' cookie attribute \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50790\"\u003e#50790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eManaged version of Prometheus Client is not aligned with Micrometer's micrometer-registry-prometheus \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50780\"\u003e#50780\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMap properties bound from empty strings fail with ConverterNotFoundException \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50773\"\u003e#50773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProtobuf Common Protos should not be a managed dependency \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50772\"\u003e#50772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAn application that depends on spring-boot-security-oauth2-resource-server may fail to start with a ClassNotFoundException when Reactor is on the classpath but WebFlux is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50764\"\u003e#50764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eW3CHeaderParser's decoding is not compliant with RFC 3986 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50650\"\u003e#50650\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\u003eDescription of spring.graphql.websocket.connection-init-timeout does not render correctly in the reference guide \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51348\"\u003e#51348\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.profiles.group should have a 'spring-profile-name' hint provider \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51284\"\u003e#51284\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove reference to removed InfluxDB auto-configuration \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51176\"\u003e#51176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse JacksonJsonSerde in Kafka Streams documentation \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51161\"\u003e#51161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument alternatives to HttpMessageConverters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51129\"\u003e#51129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix stale type reference for OTLP logging transport metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51119\"\u003e#51119\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMetadata for spring.test.mockmvc.htmlunit.url declares the wrong type \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51115\"\u003e#51115\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/6fdf67ea1552691e932604d4bf67a5e08ff0b0ea\"\u003e\u003ccode\u003e6fdf67e\u003c/code\u003e\u003c/a\u003e Release 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/fde599b28b40932e4ea6194399d89245923a01e7\"\u003e\u003ccode\u003efde599b\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Pulsar 2.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9daa58f7d98b82bf16febcb91943ce267c220a50\"\u003e\u003ccode\u003e9daa58f\u003c/code\u003e\u003c/a\u003e Upgrade to Spring HATEOAS 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/353993ebc1d7b1ceccbb981b0439a42ba122a816\"\u003e\u003ccode\u003e353993e\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Data Bom 2026.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/24ba596bc4fa000614834016452435c834fdeda2\"\u003e\u003ccode\u003e24ba596\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Session 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/5cb5c294d1f4780e78d010a964049e47c074e4d6\"\u003e\u003ccode\u003e5cb5c29\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Security 7.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4adc8eb130c4e0c688ed85316f385f4e04d47679\"\u003e\u003ccode\u003e4adc8eb\u003c/code\u003e\u003c/a\u003e Upgrade to Spring LDAP 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4d9c19cbc0589f57a7265052b507bf4b961082ac\"\u003e\u003ccode\u003e4d9c19c\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Kafka 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f30f6120c4f6f8f873ac56cba478ae1f011c276c\"\u003e\u003ccode\u003ef30f612\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 7.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/b930283d97e92eb24da1de3721cdd41625266dea\"\u003e\u003ccode\u003eb930283\u003c/code\u003e\u003c/a\u003e Upgrade to Spring gRPC 1.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v3.2.5...v4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.testcontainers:testcontainers-bom` from 1.21.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-bom'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\u003ch2\u003e2.0.4\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/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/1.21.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.codehaus.mojo:flatten-maven-plugin` from 1.6.0 to 1.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/releases\"\u003eorg.codehaus.mojo:flatten-maven-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.8.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e🚀 New features and improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eConfigurable name for the revision variable (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/487\"\u003e#487\u003c/a\u003e) \u003ca href=\"https://github.com/senivam\"\u003e\u003ccode\u003e@​senivam\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 for \u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/issues/408\"\u003e#408\u003c/a\u003e, ensure nested dependency exclusions aren't overrided (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/485\"\u003e#485\u003c/a\u003e) \u003ca href=\"https://github.com/treilhes\"\u003e\u003ccode\u003e@​treilhes\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for Maven 3.10.x (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/517\"\u003e#517\u003c/a\u003e) \u003ca href=\"https://github.com/slawekjaranowski\"\u003e\u003ccode\u003e@​slawekjaranowski\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔧 Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd PR automation workflow to GitHub Actions (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/522\"\u003e#522\u003c/a\u003e) \u003ca href=\"https://github.com/slawekjaranowski\"\u003e\u003ccode\u003e@​slawekjaranowski\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump mavenVersion from 3.9.15 to 3.9.16 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/511\"\u003e#511\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump apache/maven-gh-actions-shared/.github/workflows/release-drafter.yml from 4 to 5 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/514\"\u003e#514\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml from 4 to 5 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/516\"\u003e#516\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump apache/maven-gh-actions-shared/.github/workflows/stale.yml from 4 to 5 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/515\"\u003e#515\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.mojo:mojo-parent from 96 to 97 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/519\"\u003e#519\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mavenVersion from 3.9.14 to 3.9.15 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/509\"\u003e#509\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/510\"\u003e#510\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.plexus:plexus-utils from 4.0.2 to 4.0.3 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/508\"\u003e#508\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.6 to 3.27.7 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/502\"\u003e#502\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven.plugin-testing:maven-plugin-testing-harness from 3.5.0 to 3.5.1 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/503\"\u003e#503\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.fasterxml.jackson.core:jackson-core from 2.15.0 to 2.18.6 in /src/it/projects/bom-pomElements/bom (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/504\"\u003e#504\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mavenVersion from 3.9.12 to 3.9.14 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/506\"\u003e#506\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.mojo:mojo-parent from 95 to 96 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/507\"\u003e#507\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven.plugin-testing:maven-plugin-testing-harness from 3.4.0 to 3.5.0 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/501\"\u003e#501\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mavenVersion from 3.9.11 to 3.9.12 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/498\"\u003e#498\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump parent to 95 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/500\"\u003e#500\u003c/a\u003e) \u003ca href=\"https://github.com/slachiewicz\"\u003e\u003ccode\u003e@​slachiewicz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.5 to 3.27.6 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/484\"\u003e#484\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump commons-io:commons-io from 2.20.0 to 2.21.0 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/492\"\u003e#492\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.plexus:plexus-interpolation from 1.28 to 1.29 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/493\"\u003e#493\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven.plugin-testing:maven-plugin-testing-harness from 3.3.0 to 3.4.0 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/491\"\u003e#491\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.7.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes condition-activated profiles not considered in effective model (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/481\"\u003e#481\u003c/a\u003e) \u003ca href=\"https://github.com/oldhen\"\u003e\u003ccode\u003e@​oldhen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.4 to 3.27.5 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/482\"\u003e#482\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.mojo:mojo-parent from 92 to 93 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/480\"\u003e#480\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.3 to 3.27.4 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/479\"\u003e#479\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\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/mojohaus/flatten-maven-plugin/commit/1b211937fc61b40e1c38a59fb882c0910032b089\"\u003e\u003ccode\u003e1b21193\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release 1.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/f693210d117749539f80068a48d08bcb43a7bc6c\"\u003e\u003ccode\u003ef693210\u003c/code\u003e\u003c/a\u003e Add PR automation workflow to GitHub Actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/cff2c4f2cd38899523db4f64d84f21236211028a\"\u003e\u003ccode\u003ecff2c4f\u003c/code\u003e\u003c/a\u003e Document \u003ccode\u003erevisionVariableName\u003c/code\u003e parameter with \u003ccode\u003e@since 1.8.0\u003c/code\u003e tag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/f18a67dc288e60362c04ca51e4c43f67b5e2de94\"\u003e\u003ccode\u003ef18a67d\u003c/code\u003e\u003c/a\u003e Fix for \u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/issues/408\"\u003e#408\u003c/a\u003e, ensure nested dependency exclusions aren't overrided (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/issues/485\"\u003e#485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/35396b634a203a1a3b7f5c52e0b72202285bce01\"\u003e\u003ccode\u003e35396b6\u003c/code\u003e\u003c/a\u003e Bump mavenVersion from 3.9.15 to 3.9.16\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/f78e07e292aea3ea95d7829e4983a7018f5cc95d\"\u003e\u003ccode\u003ef78e07e\u003c/code\u003e\u003c/a\u003e Bump apache/maven-gh-actions-shared/.github/workflows/release-drafter.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/25f849ed5277a9266bf2b2618686595974c403d9\"\u003e\u003ccode\u003e25f849e\u003c/code\u003e\u003c/a\u003e Bump apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/5fcc98fc10355f9128f48a1bd1a937378e37c5a8\"\u003e\u003ccode\u003e5fcc98f\u003c/code\u003e\u003c/a\u003e Bump apache/maven-gh-actions-shared/.github/workflows/stale.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/4bd9edaa0f2873c68a671b9dcb0fa674344f1a5c\"\u003e\u003ccode\u003e4bd9eda\u003c/code\u003e\u003c/a\u003e Bump org.codehaus.mojo:mojo-parent from 96 to 97\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/7bacd0e6773453b0eafc79aa20923186030d2cd4\"\u003e\u003ccode\u003e7bacd0e\u003c/code\u003e\u003c/a\u003e Fix for Maven 3.10.x (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/issues/517\"\u003e#517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/compare/1.6.0...1.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.tngtech.archunit:archunit-junit5` from 1.2.0 to 1.5.0\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.5.0\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 27 / class file major version 71 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1618\"\u003e#1618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove descriptions of \u003ccode\u003eJavaAccess.Predicates.originOwner\u003c/code\u003e and \u003ccode\u003eJavaAccess.Predicates.targetOwner\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1603\"\u003e#1603\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eExpose information on sealed classes via \u003ccode\u003eJavaClass\u003c/code\u003e: \u003ccode\u003eisSealed()\u003c/code\u003e and \u003ccode\u003egetPermittedSubclasses()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/bannmann\"\u003e\u003ccode\u003e@​bannmann\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eImportOption.DoNotIncludeTests\u003c/code\u003e and \u003ccode\u003eOnlyIncludeTests\u003c/code\u003e consider tests in custom Gradle source sets (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/Develop-KIM\"\u003e\u003ccode\u003e@​Develop-KIM\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLang\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchConditions\u003c/code\u003e offers new \u003ccode\u003eArchCondition\u0026lt;JavaClass\u0026gt; haveAnyDependenciesThat(DescribedPredicate\u0026lt;Dependency\u0026gt;)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1580\"\u003e#1580\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/wakingrufus\"\u003e\u003ccode\u003e@​wakingrufus\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchitectureMetrics.lakosMetrics\u003c/code\u003e is computed much more performantly (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1629\"\u003e#1629\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/ThanosTsiamis\"\u003e\u003ccode\u003e@​ThanosTsiamis\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTextFileBasedViolationStore\u003c/code\u003e is now thread-safe under parallel test execution (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1656\"\u003e#1656\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/kelunik\"\u003e\u003ccode\u003e@​kelunik\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eModuleDependency\u003c/code\u003e now provides stable descriptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1648\"\u003e#1648\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/DragonFSKY\"\u003e\u003ccode\u003e@​DragonFSKY\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eJUnit\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003earchunit-junit6\u003c/code\u003e supports ArchUnit with JUnit 6 (\u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1556\"\u003e#1556\u003c/a\u003e\u003c/del\u003e, \u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1658\"\u003e#1658\u003c/a\u003e\u003c/del\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1659\"\u003e#1659\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnalyzeClasses\u003c/code\u003e supports individual classes (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1569\"\u003e#1569\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003ePreparation:\u003c/em\u003e \u003ccode\u003earchunit-junit:0.9.0\u003c/code\u003e (which was renamed with \u003ca href=\"https://github.com/TNG/ArchUnit/releases/tag/v0.9.0\"\u003eArchUnit 0.9.0\u003c/a\u003e) now relocates to \u003ccode\u003earchunit-junit4:0.9.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1673\"\u003e#1673\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋) – will be published after \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1684\"\u003e#1684\u003c/a\u003e 🙈\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocument \u003ccode\u003ePriority\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1671\"\u003e#1671\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eDocument Package Identifiers in User Guide (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1672\"\u003e#1672\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eInternal Improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eText files now use UNIX line breaks (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1602\"\u003e#1602\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1611\"\u003e#1611\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eUpdate Gradle from 8 to 9; build \u0026amp; test with JDK 25 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1550\"\u003e#1550\u003c/a\u003e, and also \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1612\"\u003e#1612\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1619\"\u003e#1619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSeparate integration tests by JUnit version (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1636\"\u003e#1636\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003ejunit-dataprovider\u003c/code\u003e with \u003ccode\u003ejunit-jupiter-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1655\"\u003e#1655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eArchUnit releases now update Maven examples (and Gradle wrapper) of \u003ca href=\"https://github.com/TNG/ArchUnit-Examples\"\u003eArchUnit-Examples\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid managing hamcrest dependency (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1467\"\u003e#1467\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\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\u003ch2\u003eArchUnit 1.4.1\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 25 / class file major version 69 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1440\"\u003e#1440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\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/TNG/ArchUnit/commit/502d782bfbf2632a2c9f943a502ddd8cc3e3c46d\"\u003e\u003ccode\u003e502d782\u003c/code\u003e\u003c/a\u003e prepare release 1.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/4f26fccd784d37f469e743950f8e0a3ff686d64b\"\u003e\u003ccode\u003e4f26fcc\u003c/code\u003e\u003c/a\u003e fix testRelease exec() and task registration for Gradle 9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/96af98457c924289ecff834737eebd8a55bddda6\"\u003e\u003ccode\u003e96af984\u003c/code\u003e\u003c/a\u003e add new developers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/e427828fcb9b09117cd0e59a471314218f8331d5\"\u003e\u003ccode\u003ee427828\u003c/code\u003e\u003c/a\u003e consolidate POM checks during CI and release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a30f6e3465ed3cb0868607debf80bf83e741b5f0\"\u003e\u003ccode\u003ea30f6e3\u003c/code\u003e\u003c/a\u003e Bump gradle/actions from 6 to 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a036c08707c50e6f7091754e63389f5bd2aaec64\"\u003e\u003ccode\u003ea036c08\u003c/code\u003e\u003c/a\u003e Bump com.github.ben-manes.versions from 0.57.0 to 0.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/24a9d9e10d4bb5ba5c5678d36810ef2397470163\"\u003e\u003ccode\u003e24a9d9e\u003c/code\u003e\u003c/a\u003e Bump actions/setup-java from 5.6.0 to 5.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/9944244c116f2724ac5bc1d02c73ca10af1c92e4\"\u003e\u003ccode\u003e9944244\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/51fd6c9e90c681a3d644f8a1e86a428f64fe3418\"\u003e\u003ccode\u003e51fd6c9\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/65f4cd3a60c48b0654daa4662b563e6b8545e221\"\u003e\u003ccode\u003e65f4cd3\u003c/code\u003e\u003c/a\u003e add support for dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TNG/ArchUnit/compare/v1.2.0...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.baomidou:mybatis-plus-spring-boot3-starter` from 3.5.16 to 3.5.17\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/baomidou/mybatis-plus/releases\"\u003ecom.baomidou:mybatis-plus-spring-boot3-starter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.17\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6899\u003c/code\u003e 多租户插件 \u003ccode\u003e@Many\u003c/code\u003e 注解查无效问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6938\u003c/code\u003e \u003ccode\u003eHashMap\u003c/code\u003e 设置类型转换器异常\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7081\u003c/code\u003e 解决拦截全表存在 \u003ccode\u003eschema\u003c/code\u003e 校验问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6905\u003c/code\u003e 关于 \u003ccode\u003esaveOrUpdateBatch\u003c/code\u003e 导致 \u003ccode\u003eParameterHandler\u003c/code\u003e 被重复执行问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7056\u003c/code\u003e 支持 \u003ccode\u003eGraalVM Native\u003c/code\u003e 二进制编译问题，案例 \u003ca href=\"https://gitee.com/baomidou/mybatis-plus-native-image-demo\"\u003ehttps://gitee.com/baomidou/mybatis-plus-native-image-demo\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7027\u003c/code\u003e 支持 \u003ccode\u003eJDK 9+\u003c/code\u003e 模块化包重名问题，注意 \u003ccode\u003emybatis-plus-spring\u003c/code\u003e 模块下文件包名调整\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ewrapper\u003c/code\u003e 支持 \u003ccode\u003exml\u003c/code\u003e 别名配置\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003emybatis-plus-spring-boot-native-image\u003c/code\u003e 模块支持 \u003ccode\u003egraalvm\u003c/code\u003e 编译能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 支持自动识别 \u003ccode\u003etypeHandler\u003c/code\u003e 类型处理器\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 对比 \u003ccode\u003eeqOrIsNull\u003c/code\u003e 方法\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ei18n\u003c/code\u003e 逻辑删除日期格式及自动更新填充能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eGroovy\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eKotlin\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eMybatisEnumTypeHandler\u003c/code\u003e 枚举类型处理器支持缓存处理机制\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eITableFieldMetaInfoCustomizer\u003c/code\u003e 代码生成器扩展属性元数据处理能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eSequence\u003c/code\u003e 减少增加上下文切换\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eLambdaQueryWrapper.sqlSelect\u003c/code\u003e 属性修改为 \u003ccode\u003eprotected\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003esql\u003c/code\u003e 注入性能调整为函数方式拼接减少字符串\u003ccode\u003eformat\u003c/code\u003e使用\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eCursor\u003c/code\u003e 游标查询一条记录能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eformat\u003c/code\u003e 部分修改为字符串组合\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eexecuteBatch\u003c/code\u003e 根据执行影响行数返回确定结果布尔值\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eTableInfo\u003c/code\u003e 扩展允许返回新的自定义实例对象\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eIJsonTypeHandler\u003c/code\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/baomidou/mybatis-plus/blob/3.0/CHANGELOG.md\"\u003ecom.baomidou:mybatis-plus-spring-boot3-starter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v3.5.17] 2026.07.07\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6899\u003c/code\u003e 多租户插件 \u003ccode\u003e@Many\u003c/code\u003e 注解查无效问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6938\u003c/code\u003e \u003ccode\u003eHashMap\u003c/code\u003e 设置类型转换器异常\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7081\u003c/code\u003e 解决拦截全表存在 \u003ccode\u003eschema\u003c/code\u003e 校验问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6905\u003c/code\u003e 关于 \u003ccode\u003esaveOrUpdateBatch\u003c/code\u003e 导致 \u003ccode\u003eParameterHandler\u003c/code\u003e 被重复执行问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7056\u003c/code\u003e 支持 \u003ccode\u003eGraalVM Native\u003c/code\u003e 二进制编译问题，案例 \u003ca href=\"https://gitee.com/baomidou/mybatis-plus-native-image-demo\"\u003ehttps://gitee.com/baomidou/mybatis-plus-native-image-demo\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7027\u003c/code\u003e 支持 \u003ccode\u003eJDK 9+\u003c/code\u003e 模块化包重名问题，注意 \u003ccode\u003emybatis-plus-spring\u003c/code\u003e 模块下文件包名调整\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ewrapper\u003c/code\u003e 支持 \u003ccode\u003exml\u003c/code\u003e 别名配置\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003emybatis-plus-spring-boot-native-image\u003c/code\u003e 模块支持 \u003ccode\u003egraalvm\u003c/code\u003e 编译能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 支持自动识别 \u003ccode\u003etypeHandler\u003c/code\u003e 类型处理器\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 对比 \u003ccode\u003eeqOrIsNull\u003c/code\u003e 方法\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ei18n\u003c/code\u003e 逻辑删除日期格式及自动更新填充能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eGroovy\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eKotlin\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eMybatisEnumTypeHandler\u003c/code\u003e 枚举类型处理器支持缓存处理机制\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eITableFieldMetaInfoCustomizer\u003c/code\u003e 代码生成器扩展属性元数据处理能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eSequence\u003c/code\u003e 减少增加上下文切换\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eLambdaQueryWrapper.sqlSelect\u003c/code\u003e 属性修改为 \u003ccode\u003eprotected\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003esql\u003c/code\u003e 注入性能调整为函数方式拼接减少字符串\u003ccode\u003eformat\u003c/code\u003e使用\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eCursor\u003c/code\u003e 游标查询一条记录能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eformat\u003c/code\u003e 部分修改为字符串组合\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eexecuteBatch\u003c/code\u003e 根据执行影响行数返回确定结果布尔值\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eTableInfo\u003c/code\u003e 扩展允许返回新的自定义实例对象\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eIJsonTypeHandler\u003c/code\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/baomidou/mybatis-plus/commit/db0b3c4bb58a38bad9c3d78b7269d8a477cc6a63\"\u003e\u003ccode\u003edb0b3c4\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本脚本修复\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/28b9d23dfc436144922a519e2847d634d231d9fb\"\u003e\u003ccode\u003e28b9d23\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/baomidou/mybatis-plus/issues/7141\"\u003e#7141\u003c/a\u003e from smf-h/docs-idworker-sequence-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/7fbc364bcc720071082ef084850f12fe7572dad3\"\u003e\u003ccode\u003e7fbc364\u003c/code\u003e\u003c/a\u003e docs(core): clarify IdWorker sequence configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/404950bad052846233e137d1ba43cfc1fc960cd6\"\u003e\u003ccode\u003e404950b\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/070d5ea372a2d1f56a3d251d66cfc68303cb71a5\"\u003e\u003ccode\u003e070d5ea\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/0bc2e2f744409a75094a251d5b25d91f416ba23d\"\u003e\u003ccode\u003e0bc2e2f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/baomidou/mybatis-plus/issues/7134\"\u003e#7134\u003c/a\u003e from zhangyongxianggithub/3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/5461a4a79c1d79838b179a1beb3f3108deaf5505\"\u003e\u003ccode\u003e5461a4a\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/98cba6bc36758396c1dae18b11e082091a539652\"\u003e\u003ccode\u003e98cba6b\u003c/code\u003e\u003c/a\u003e feat(wrapper): 添加eqOrIsNull方法并优化参数别名设置逻辑\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/96465aa78fd89a44e6d3aa1b0cc08287d5a4cadf\"\u003e\u003ccode\u003e96465aa\u003c/code\u003e\u003c/a\u003e id auto 策略新增描述说明\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/41d78a2afd8002069390f93bab19498d134fd248\"\u003e\u003ccode\u003e41d78a2\u003c/code\u003e\u003c/a\u003e 优化 wrapper 支持 xml 别名配置\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/baomidou/mybatis-plus/compare/v3.5.16...v3.5.17\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.baomidou:mybatis-plus-jsqlparser` from 3.5.16 to 3.5.17\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/baomidou/mybatis-plus/releases\"\u003ecom.baomidou:mybatis-plus-jsqlparser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.17\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6899\u003c/code\u003e 多租户插件 \u003ccode\u003e@Many\u003c/code\u003e 注解查无效问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6938\u003c/code\u003e \u003ccode\u003eHashMap\u003c/code\u003e 设置类型转换器异常\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7081\u003c/code\u003e 解决拦截全表存在 \u003ccode\u003eschema\u003c/code\u003e 校验问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6905\u003c/code\u003e 关于 \u003ccode\u003esaveOrUpdateBatch\u003c/code\u003e 导致 \u003ccode\u003eParameterHandler\u003c/code\u003e 被重复执行问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7056\u003c/code\u003e 支持 \u003ccode\u003eGraalVM Native\u003c/code\u003e 二进制编译问题，案例 \u003ca href=\"https://gitee.com/baomidou/mybatis-plus-native-image-demo\"\u003ehttps://gitee.com/baomidou/mybatis-plus-native-image-demo\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7027\u003c/code\u003e 支持 \u003ccode\u003eJDK 9+\u003c/code\u003e 模块化包重名问题，注意 \u003ccode\u003emybatis-plus-spring\u003c/code\u003e 模块下文件包名调整\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ewrapper\u003c/code\u003e 支持 \u003ccode\u003exml\u003c/code\u003e 别名配置\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003emybatis-plus-spring-boot-native-image\u003c/code\u003e 模块支持 \u003ccode\u003egraalvm\u003c/code\u003e 编译能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 支持自动识别 \u003ccode\u003etypeHandler\u003c/code\u003e 类型处理器\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 对比 \u003ccode\u003eeqOrIsNull\u003c/code\u003e 方法\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ei18n\u003c/code\u003e 逻辑删除日期格式及自动更新填充能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eGroovy\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eKotlin\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eMybatisEnumTypeHandler\u003c/code\u003e 枚举类型处理器支持缓存处理机制\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eITableFieldMetaInfoCustomizer\u003c/code\u003e 代码生成器扩展属性元数据处理能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eSequence\u003c/code\u003e 减少增加上下文切换\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eLambdaQueryWrapper.sqlSelect\u003c/code\u003e 属性修改为 \u003ccode\u003eprotected\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003esql\u003c/code\u003e 注入性能调整为函数方式拼接减少字符串\u003ccode\u003eformat\u003c/code\u003e使用\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eCursor\u003c/code\u003e 游标查询一条记录能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eformat\u003c/code\u003e 部分修改为字符串组合\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eexecuteBatch\u003c/code\u003e 根据执行影响行数返回确定结果布尔值\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eTableInfo\u003c/code\u003e 扩展允许返回新的自定义实例对象\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eIJsonTypeHandler\u003c/code\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/baomidou/mybatis-plus/blob/3.0/CHANGELOG.md\"\u003ecom.baomidou:mybatis-plus-jsqlparser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v3.5.17] 2026.07.07\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6899\u003c/code\u003e 多租户插件 \u003ccode\u003e@Many\u003c/code\u003e 注解查无效问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6938\u003c/code\u003e \u003ccode\u003eHashMap\u003c/code\u003e 设置类型转换器异常\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7081\u003c/code\u003e 解决拦截全表存在 \u003ccode\u003eschema\u003c/code\u003e 校验问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6905\u003c/code\u003e 关于 \u003ccode\u003esaveOrUpdateBatch\u003c/code\u003e 导致 \u003ccode\u003eParameterHandler\u003c/code\u003e 被重复执行问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7056\u003c/code\u003e 支持 \u003ccode\u003eGraalVM Native\u003c/code\u003e 二进制编译问题，案例 \u003ca href=\"https://gitee.com/baomidou/mybatis-plus-native-image-demo\"\u003ehttps://gitee.com/baomidou/mybatis-plus-native-image-demo\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7027\u003c/code\u003e 支持 \u003ccode\u003eJDK 9+\u003c/code\u003e 模块化包重名问题，注意 \u003ccode\u003emybatis-plus-spring\u003c/code\u003e 模块下文件包名调整\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ewrapper\u003c/code\u003e 支持 \u003ccode\u003exml\u003c/code\u003e 别名配置\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003emybatis-plus-spring-boot-native-image\u003c/code\u003e 模块支持 \u003ccode\u003egraalvm\u003c/code\u003e 编译能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 支持自动识别 \u003ccode\u003etypeHandler\u003c/code\u003e 类型处理器\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 对比 \u003ccode\u003eeqOrIsNull\u003c/code\u003e 方法\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ei18n\u003c/code\u003e 逻辑删除日期格式及自动更新填充能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eGroovy\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eKotlin\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eMybatisEnumTypeHandler\u003c/code\u003e 枚举类型处理器支持缓存处理机制\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eITableFieldMetaInfoCustomizer\u003c/code\u003e 代码生成器扩展属性元数据处理能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eSequence\u003c/code\u003e 减少增加上下文切换\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eLambdaQueryWrapper.sqlSelect\u003c/code\u003e 属性修改为 \u003ccode\u003eprotected\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003esql\u003c/code\u003e 注入性能调整为函数方式拼接减少字符串\u003ccode\u003eformat\u003c/code\u003e使用\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eCursor\u003c/code\u003e 游标查询一条记录能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eformat\u003c/code\u003e 部分修改为字符串组合\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eexecuteBatch\u003c/code\u003e 根据执行影响行数返回确定结果布尔值\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eTableInfo\u003c/code\u003e 扩展允许返回新的自定义实例对象\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eIJsonTypeHandler\u003c/code\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/baomidou/mybatis-plus/commit/db0b3c4bb58a38bad9c3d78b7269d8a477cc6a63\"\u003e\u003ccode\u003edb0b3c4\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本脚本修复\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/28b9d23dfc436144922a519e2847d634d231d9fb\"\u003e\u003ccode\u003e28b9d23\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/baomidou/mybatis-plus/issues/7141\"\u003e#7141\u003c/a\u003e from smf-h/docs-idworker-sequence-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/7fbc364bcc720071082ef084850f12fe7572dad3\"\u003e\u003ccode\u003e7fbc364\u003c/code\u003e\u003c/a\u003e docs(core): clarify IdWorker sequence configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/404950bad052846233e137d1ba43cfc1fc960cd6\"\u003e\u003ccode\u003e404950b\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/070d5ea372a2d1f56a3d251d66cfc68303cb71a5\"\u003e\u003ccode\u003e070d5ea\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/0bc2e2f744409a75094a251d5b25d91f416ba23d\"\u003e\u003ccode\u003e0bc2e2f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/baomidou/mybatis-plus/issues/7134\"\u003e#7134\u003c/a\u003e from zhangyongxianggithub/3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/5461a4a79c1d79838b179a1beb3f3108deaf5505\"\u003e\u003ccode\u003e5461a4a\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/98cba6bc36758396c1dae18b11e082091a539652\"\u003e\u003ccode\u003e98cba6b\u003c/code\u003e\u003c/a\u003e feat(wrapper): 添加eqOrIsNull方法并优化参数别名设置逻辑\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/96465aa78fd89a44e6d3aa1b0cc08287d5a4cadf\"\u003e\u003ccode\u003e96465aa\u003c/code\u003e\u003c/a\u003e id auto 策略新增描述说明\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/41d78a2afd8002069390f93bab19498d134fd248\"\u003e\u003ccode\u003e41d78a2\u003c/code\u003e\u003c/a\u003e 优化 wrapper 支持 xml 别名配置\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/baomidou/mybatis-plus/compare/v3.5.16...v3.5.17\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.baomidou:mybatis-plus-annotation` from 3.5.16 to 3.5.17\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/baomidou/mybatis-plus/releases\"\u003ecom.baomidou:mybatis-plus-annotation's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.17\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6899\u003c/code\u003e 多租户插件 \u003ccode\u003e@Many\u003c/code\u003e 注解查无效问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6938\u003c/code\u003e \u003ccode\u003eHashMap\u003c/code\u003e 设置类型转换器异常\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7081\u003c/code\u003e 解决拦截全表存在 \u003ccode\u003eschema\u003c/code\u003e 校验问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6905\u003c/code\u003e 关于 \u003ccode\u003esaveOrUpdateBatch\u003c/code\u003e 导致 \u003ccode\u003eParameterHandler\u003c/code\u003e 被重复执行问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7056\u003c/code\u003e 支持 \u003ccode\u003eGraalVM Native\u003c/code\u003e 二进制编译问题，案例 \u003ca href=\"https://gitee.com/baomidou/mybatis-plus-native-image-demo\"\u003ehttps://gitee.com/baomidou/mybatis-plus-native-image-demo\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7027\u003c/code\u003e 支持 \u003ccode\u003eJDK 9+\u003c/code\u003e 模块化包重名问题，注意 \u003ccode\u003emybatis-plus-spring\u003c/code\u003e 模块下文件包名调整\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ewrapper\u003c/code\u003e 支持 \u003ccode\u003exml\u003c/code\u003e 别名配置\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003emybatis-plus-spring-boot-native-image\u003c/code\u003e 模块支持 \u003ccode\u003egraalvm\u003c/code\u003e 编译能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 支持自动识别 \u003ccode\u003etypeHandler\u003c/code\u003e 类型处理器\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 对比 \u003ccode\u003eeqOrIsNull\u003c/code\u003e 方法\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ei18n\u003c/code\u003e 逻辑删除日期格式及自动更新填充能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eGroovy\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eKotlin\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eMybatisEnumTypeHandler\u003c/code\u003e 枚举类型处理器支持缓存处理机制\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eITableFieldMetaInfoCustomizer\u003c/code\u003e 代码生成器扩展属性元数据处理能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eSequence\u003c/code\u003e 减少增加上下文切换\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eLambdaQueryWrapper.sqlSelect\u003c/code\u003e 属性修改为 \u003ccode\u003eprotected\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003esql\u003c/code\u003e 注入性能调整为函数方式拼接减少字符串\u003ccode\u003eformat\u003c/code\u003e使用\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eCursor\u003c/code\u003e 游标查询一条记录能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eformat\u003c/code\u003e 部分修改为字符串组合\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eexecuteBatch\u003c/code\u003e 根据执行影响行数返回确定结果布尔值\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eTableInfo\u003c/code\u003e 扩展允许返回新的自定义实例对象\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eIJsonTypeHandler\u003c/code\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/baomidou/mybatis-plus/blob/3.0/CHANGELOG.md\"\u003ecom.baomidou:mybatis-plus-annotation's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v3.5.17] 2026.07.07\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6899\u003c/code\u003e 多租户插件 \u003ccode\u003e@Many\u003c/code\u003e 注解查无效问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6938\u003c/code\u003e \u003ccode\u003eHashMap\u003c/code\u003e 设置类型转换器异常\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7081\u003c/code\u003e 解决拦截全表存在 \u003ccode\u003eschema\u003c/code\u003e 校验问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6905\u003c/code\u003e 关于 \u003ccode\u003esaveOrUpdateBatch\u003c/code\u003e 导致 \u003ccode\u003eParameterHandler\u003c/code\u003e 被重复执行问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7056\u003c/code\u003e 支持 \u003ccode\u003eGraalVM Native\u003c/code\u003e 二进制编译问题，案例 \u003ca href=\"https://gitee.com/baomidou/mybatis-plus-native-image-demo\"\u003ehttps://gitee.com/baomidou/mybatis-plus-native-image-demo\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7027\u003c/code\u003e 支持 \u003ccode\u003eJDK 9+\u003c/code\u003e 模块化包重名问题，注意 \u003ccode\u003emybatis-plus-spring\u003c/code\u003e 模块下文件包名调整\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ewrapper\u003c/code\u003e 支持 \u003ccode\u003exml\u003c/code\u003e 别名配置\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003emybatis-plus-spring-boot-native-image\u003c/code\u003e 模块支持 \u003ccode\u003egraalvm\u003c/code\u003e 编译能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 支持自动识别 \u003ccode\u003etypeHandler\u003c/code\u003e 类型处理器\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 对比 \u003ccode\u003eeqOrIsNull\u003c/code\u003e 方法\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ei18n\u003c/code\u003e 逻辑删除日期格式及自动更新填充能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eGroovy\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eKotlin\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eMybatisEnumTypeHandler\u003c/code\u003e 枚举类型处理器支持缓存处理机制\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eITableFieldMetaInfoCustomizer\u003c/code\u003e 代码生成器扩展属性元数据处理能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eSequence\u003c/code\u003e 减少增加上下文切换\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eLambdaQueryWrapper.sqlSelect\u003c/code\u003e 属性修改为 \u003ccode\u003eprotected\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003esql\u003c/code\u003e 注入性能调整为函数方式拼接减少字符串\u003ccode\u003eformat\u003c/code\u003e使用\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eCursor\u003c/code\u003e 游标查询一条记录能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eformat\u003c/code\u003e 部分修改为字符串组合\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eexecuteBatch\u003c/code\u003e 根据执行影响行数返回确定结果布尔值\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eTableInfo\u003c/code\u003e 扩展允许返回新的自定义实例对象\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eIJsonTypeHandler\u003c/code\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/baomidou/mybatis-plus/commit/db0b3c4bb58a38bad9c3d78b7269d8a477cc6a63\"\u003e\u003ccode\u003edb0b3c4\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本脚本修复\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/28b9d23dfc436144922a519e2847d634d231d9fb\"\u003e\u003ccode\u003e28b9d23\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/baomidou/mybatis-plus/issues/7141\"\u003e#7141\u003c/a\u003e from smf-h/docs-idworker-sequence-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/7fbc364bcc720071082ef084850f12fe7572dad3\"\u003e\u003ccode\u003e7fbc364\u003c/code\u003e\u003c/a\u003e docs(core): clarify IdWorker sequence configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/404950bad052846233e137d1ba43cfc1fc960cd6\"\u003e\u003ccode\u003e404950b\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/070d5ea372a2d1f56a3d251d66cfc68303cb71a5\"\u003e\u003ccode\u003e070d5ea\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/0bc2e2f744409a75094a251d5b25d91f416ba23d\"\u003e\u003ccode\u003e0bc2e2f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/baomidou/mybatis-plus/issues/7134\"\u003e#7134\u003c/a\u003e from zhangyongxianggithub/3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/5461a4a79c1d79838b179a1beb3f3108deaf5505\"\u003e\u003ccode\u003e5461a4a\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/98cba6bc36758396c1dae18b11e082091a539652\"\u003e\u003ccode\u003e98cba6b\u003c/code\u003e\u003c/a\u003e feat(wrapper): 添加eqOrIsNull方法并优化参数别名设置逻辑\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/96465aa78fd89a44e6d3aa1b0cc08287d5a4cadf\"\u003e\u003ccode\u003e96465aa\u003c/code\u003e\u003c/a\u003e id auto 策略新增描述说明\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/41d78a2afd8002069390f93bab19498d134fd248\"\u003e\u003ccode\u003e41d78a2\u003c/code\u003e\u003c/a\u003e 优化 wrapper 支持 xml 别名配置\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/baomidou/mybatis-plus/compare/v3.5.16...v3.5.17\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.baomidou:mybatis-plus-extension` from 3.5.16 to 3.5.17\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/baomidou/mybatis-plus/releases\"\u003ecom.baomidou:mybatis-plus-extension's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.17\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6899\u003c/code\u003e 多租户插件 \u003ccode\u003e@Many\u003c/code\u003e 注解查无效问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6938\u003c/code\u003e \u003ccode\u003eHashMap\u003c/code\u003e 设置类型转换器异常\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7081\u003c/code\u003e 解决拦截全表存在 \u003ccode\u003eschema\u003c/code\u003e 校验问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6905\u003c/code\u003e 关于 \u003ccode\u003esaveOrUpdateBatch\u003c/code\u003e 导致 \u003ccode\u003eParameterHandler\u003c/code\u003e 被重复执行问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7056\u003c/code\u003e 支持 \u003ccode\u003eGraalVM Native\u003c/code\u003e 二进制编译问题，案例 \u003ca href=\"https://gitee.com/baomidou/mybatis-plus-native-image-demo\"\u003ehttps://gitee.com/baomidou/mybatis-plus-native-image-demo\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7027\u003c/code\u003e 支持 \u003ccode\u003eJDK 9+\u003c/code\u003e 模块化包重名问题，注意 \u003ccode\u003emybatis-plus-spring\u003c/code\u003e 模块下文件包名调整\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ewrapper\u003c/code\u003e 支持 \u003ccode\u003exml\u003c/code\u003e 别名配置\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003emybatis-plus-spring-boot-native-image\u003c/code\u003e 模块支持 \u003ccode\u003egraalvm\u003c/code\u003e 编译能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 支持自动识别 \u003ccode\u003etypeHandler\u003c/code\u003e 类型处理器\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 对比 \u003ccode\u003eeqOrIsNull\u003c/code\u003e 方法\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ei18n\u003c/code\u003e 逻辑删除日期格式及自动更新填充能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eGroovy\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eKotlin\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eMybatisEnumTypeHandler\u003c/code\u003e 枚举类型处理器支持缓存处理机制\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eITableFieldMetaInfoCustomizer\u003c/code\u003e 代码生成器扩展属性元数据处理能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eSequence\u003c/code\u003e 减少增加上下文切换\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eLambdaQueryWrapper.sqlSelect\u003c/code\u003e 属性修改为 \u003ccode\u003eprotected\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003esql\u003c/code\u003e 注入性能调整为函数方式拼接减少字符串\u003ccode\u003eformat\u003c/code\u003e使用\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eCursor\u003c/code\u003e 游标查询一条记录能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eformat\u003c/code\u003e 部分修改为字符串组合\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eexecuteBatch\u003c/code\u003e 根据执行影响行数返回确定结果布尔值\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eTableInfo\u003c/code\u003e 扩展允许返回新的自定义实例对象\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eIJsonTypeHandler\u003c/code\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/baomidou/mybatis-plus/blob/3.0/CHANGELOG.md\"\u003ecom.baomidou:mybatis-plus-extension's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v3.5.17] 2026.07.07\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6899\u003c/code\u003e 多租户插件 \u003ccode\u003e@Many\u003c/code\u003e 注解查无效问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6938\u003c/code\u003e \u003ccode\u003eHashMap\u003c/code\u003e 设置类型转换器异常\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7081\u003c/code\u003e 解决拦截全表存在 \u003ccode\u003eschema\u003c/code\u003e 校验问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6905\u003c/code\u003e 关于 \u003ccode\u003esaveOrUpdateBatch\u003c/code\u003e 导致 \u003ccode\u003eParameterHandler\u003c/code\u003e 被重复执行问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7056\u003c/code\u003e 支持 \u003ccode\u003eGraalVM Native\u003c/code\u003e 二进制编译问题，案例 \u003ca href=\"https://gitee.com/baomidou/mybatis-plus-native-image-demo\"\u003ehttps://gitee.com/baomidou/mybatis-plus-native-image-demo\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7027\u003c/code\u003e 支持 \u003ccode\u003eJDK 9+\u003c/code\u003e 模块化包重名问题，注意 \u003ccode\u003emybatis-plus-spring\u003c/code\u003e 模块下文件包名调整\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ewrapper\u003c/code\u003e 支持 \u003ccode\u003exml\u003c/code\u003e 别名配置\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003emybatis-plus-spring-boot-native-image\u003c/code\u003e 模块支持 \u003ccode\u003egraalvm\u003c/code\u003e 编译能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 支持自动识别 \u003ccode\u003etypeHandler\u003c/code\u003e 类型处理器\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 对比 \u003ccode\u003eeqOrIsNull\u003c/code\u003e 方法\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ei18n\u003c/code\u003e 逻辑删除日期格式及自动更新填充能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eGroovy\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eKotlin\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eMybatisEnumTypeHandler\u003c/code\u003e 枚举类型处理器支持缓存处理机制\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eITableFieldMetaInfoCustomizer\u003c/code\u003e 代码生成器扩展属性元数据处理能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eSequence\u003c/code\u003e 减少增加上下文切换\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eLambdaQueryWrapper.sqlSelect\u003c/code\u003e 属性修改为 \u003ccode\u003eprotected\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003esql\u003c/code\u003e 注入性能调整为函数方式拼接减少字符串\u003ccode\u003eformat\u003c/code\u003e使用\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eCursor\u003c/code\u003e 游标查询一条记录能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eformat\u003c/code\u003e 部分修改为字符串组合\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eexecuteBatch\u003c/code\u003e 根据执行影响行数返回确定结果布尔值\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eTableInfo\u003c/code\u003e 扩展允许返回新的自定义实例对象\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eIJsonTypeHandler\u003c/code\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/baomidou/mybatis-plus/commit/db0b3c4bb58a38bad9c3d78b7269d8a477cc6a63\"\u003e\u003ccode\u003edb0b3c4\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本脚本修复\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/28b9d23dfc436144922a519e2847d634d231d9fb\"\u003e\u003ccode\u003e28b9d23\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/baomidou/mybatis-plus/issues/7141\"\u003e#7141\u003c/a\u003e from smf-h/docs-idworker-sequence-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/7fbc364bcc720071082ef084850f12fe7572dad3\"\u003e\u003ccode\u003e7fbc364\u003c/code\u003e\u003c/a\u003e docs(core): clarify IdWorker sequence configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/404950bad052846233e137d1ba43cfc1fc960cd6\"\u003e\u003ccode\u003e404950b\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/070d5ea372a2d1f56a3d251d66cfc68303cb71a5\"\u003e\u003ccode\u003e070d5ea\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/0bc2e2f744409a75094a251d5b25d91f416ba23d\"\u003e\u003ccode\u003e0bc2e2f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/baomidou/mybatis-plus/issues/7134\"\u003e#7134\u003c/a\u003e from zhangyongxianggithub/3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/5461a4a79c1d79838b179a1beb3f3108deaf5505\"\u003e\u003ccode\u003e5461a4a\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/98cba6bc36758396c1dae18b11e082091a539652\"\u003e\u003ccode\u003e98cba6b\u003c/code\u003e\u003c/a\u003e feat(wrapper): 添加eqOrIsNull方法并优化参数别名设置逻辑\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/96465aa78fd89a44e6d3aa1b0cc08287d5a4cadf\"\u003e\u003ccode\u003e96465aa\u003c/code\u003e\u003c/a\u003e id auto 策略新增描述说明\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/41d78a2afd8002069390f93bab19498d134fd248\"\u003e\u003ccode\u003e41d78a2\u003c/code\u003e\u003c/a\u003e 优化 wrapper 支持 xml 别名配置\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/baomidou/mybatis-plus/compare/v3.5.16...v3.5.17\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.swagger.core.v3:swagger-annotations-jakarta` from 2.2.22 to 2.2.54\n\nUpdates `org.redisson:redisson-spring-boot-starter` from 4.3.1 to 4.7.0\n\nUpdates `com.baomidou:mybatis-plus-jsqlparser` from 3.5.16 to 3.5.17\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/baomidou/mybatis-plus/releases\"\u003ecom.baomidou:mybatis-plus-jsqlparser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.17\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6899\u003c/code\u003e 多租户插件 \u003ccode\u003e@Many\u003c/code\u003e 注解查无效问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6938\u003c/code\u003e \u003ccode\u003eHashMap\u003c/code\u003e 设置类型转换器异常\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7081\u003c/code\u003e 解决拦截全表存在 \u003ccode\u003eschema\u003c/code\u003e 校验问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6905\u003c/code\u003e 关于 \u003ccode\u003esaveOrUpdateBatch\u003c/code\u003e 导致 \u003ccode\u003eParameterHandler\u003c/code\u003e 被重复执行问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7056\u003c/code\u003e 支持 \u003ccode\u003eGraalVM Native\u003c/code\u003e 二进制编译问题，案例 \u003ca href=\"https://gitee.com/baomidou/mybatis-plus-native-image-demo\"\u003ehttps://gitee.com/baomidou/mybatis-plus-native-image-demo\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7027\u003c/code\u003e 支持 \u003ccode\u003eJDK 9+\u003c/code\u003e 模块化包重名问题，注意 \u003ccode\u003emybatis-plus-spring\u003c/code\u003e 模块下文件包名调整\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ewrapper\u003c/code\u003e 支持 \u003ccode\u003exml\u003c/code\u003e 别名配置\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003emybatis-plus-spring-boot-native-image\u003c/code\u003e 模块支持 \u003ccode\u003egraalvm\u003c/code\u003e 编译能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 支持自动识别 \u003ccode\u003etypeHandler\u003c/code\u003e 类型处理器\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 对比 \u003ccode\u003eeqOrIsNull\u003c/c...\n\n_Description has been truncated_","html_url":"https://github.com/DavidHLP/UltiCode/pull/134","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavidHLP%2FUltiCode/issues/134","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/134/packages"},{"uuid":"5104388284","node_id":"PR_kwDOTU-bdM78uCvu","number":12,"state":"closed","title":"Bump the gradle-dependencies group across 1 directory with 8 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-06T19:44:37.000Z","author_association":null,"state_reason":null,"created_at":"2026-08-09T19:44:21.000Z","updated_at":"2026-09-06T19:44:39.000Z","time_to_close":2419216,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"gradle-dependencies","update_count":8,"packages":[{"name":"gradle-wrapper","old_version":"9.6.1","new_version":"9.7.0","repository_url":"https://github.com/gradle/gradle"},{"name":"org.junit.jupiter:junit-jupiter","old_version":"5.13.4","new_version":"6.1.2","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.platform:junit-platform-launcher","old_version":"1.13.4","new_version":"6.1.2","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.assertj:assertj-core","old_version":"3.27.3","new_version":"3.27.7","repository_url":"https://github.com/assertj/assertj"},{"name":"net.jqwik:jqwik","old_version":"1.9.3","new_version":"1.10.1","repository_url":"https://github.com/jqwik-team/jqwik"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.4.1","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"org.slf4j:slf4j-api","old_version":"2.0.17","new_version":"2.0.18"},{"name":"ch.qos.logback:logback-classic","old_version":"1.5.18","new_version":"1.6.1","repository_url":"https://github.com/qos-ch/logback"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 8 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.6.1` | `9.7.0` |\n| [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) | `5.13.4` | `6.1.2` |\n| [org.junit.platform:junit-platform-launcher](https://github.com/junit-team/junit-framework) | `1.13.4` | `6.1.2` |\n| [org.assertj:assertj-core](https://github.com/assertj/assertj) | `3.27.3` | `3.27.7` |\n| [net.jqwik:jqwik](https://github.com/jqwik-team/jqwik) | `1.9.3` | `1.10.1` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.4.1` | `1.5.0` |\n| org.slf4j:slf4j-api | `2.0.17` | `2.0.18` |\n| [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) | `1.5.18` | `1.6.1` |\n\n\nUpdates `gradle-wrapper` from 9.6.1 to 9.7.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.7.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.7.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIsolated Projects graduates to incubating\u003c/li\u003e\n\u003cli\u003eBroader Configuration Cache compatibility\u003c/li\u003e\n\u003cli\u003eMore source locations in problem reports\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.7.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/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/Gautam-aman\"\u003eAman Gautam\u003c/a\u003e,\n\u003ca href=\"https://github.com/YukiCodepth\"\u003eAman Kumar\u003c/a\u003e,\n\u003ca href=\"https://github.com/adubrouski\"\u003eAnton Dubrouski\u003c/a\u003e,\n\u003ca href=\"https://github.com/liutikas\"\u003eAurimas\u003c/a\u003e,\n\u003ca href=\"https://github.com/gbhavya07\"\u003egbhavya07\u003c/a\u003e,\n\u003ca href=\"https://github.com/joshfriend\"\u003eJosh Friend\u003c/a\u003e,\n\u003ca href=\"https://github.com/nicklauslittle-gov\"\u003enicklauslittle-gov\u003c/a\u003e,\n\u003ca href=\"https://github.com/psoni674\"\u003ePragati\u003c/a\u003e,\n\u003ca href=\"https://github.com/Project516\"\u003eproject516\u003c/a\u003e,\n\u003ca href=\"https://github.com/Uomocapra\"\u003eQin Mi\u003c/a\u003e,\n\u003ca href=\"https://github.com/rkdfx\"\u003eRavi\u003c/a\u003e,\n\u003ca href=\"https://github.com/sk-reddy17\"\u003esk-reddy17\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/ShreckYe\"\u003eYongshun Ye\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.7.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew :wrapper --gradle-version=9.7.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.7.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.7.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.7.0 RC3\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.7.0 RC3.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIsolated Projects graduates to incubating\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/gradle/gradle/commit/3defbfc59d757b873d787b2261de5c7f8a00970a\"\u003e\u003ccode\u003e3defbfc\u003c/code\u003e\u003c/a\u003e make DistributionIntegrationSpec more permissive for releases (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38766\"\u003e#38766\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f176043d6416ca85dab736b6e7581d1f0018ee8e\"\u003e\u003ccode\u003ef176043\u003c/code\u003e\u003c/a\u003e make DistributionIntegrationSpec more permissive for releases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/b0828dad52cf99112e2071fb10547c0d2293a51b\"\u003e\u003ccode\u003eb0828da\u003c/code\u003e\u003c/a\u003e Prepare release notes for Gradle 9.7.0GA (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38756\"\u003e#38756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/064b6d6161b55f531be7710d68efe4404b48558a\"\u003e\u003ccode\u003e064b6d6\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/dfe7bdcc464152313992f49b6ea3846d7c0119ed\"\u003e\u003ccode\u003edfe7bdc\u003c/code\u003e\u003c/a\u003e add new training to release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/756196837a985dd030d596411852b99c43d6880e\"\u003e\u003ccode\u003e7561968\u003c/code\u003e\u003c/a\u003e add release notes for 37801\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/68a1f351d3ba32e09523e5d67949cea326c0d781\"\u003e\u003ccode\u003e68a1f35\u003c/code\u003e\u003c/a\u003e cherrypick 38367 to release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/a462c95ca92b7a5cc55172a42608fcab5fd43b4c\"\u003e\u003ccode\u003ea462c95\u003c/code\u003e\u003c/a\u003e Rebalance AllVersionsCrossVersion buckets for agents without TestDistribution...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/820e2b14ad6b0f64a1a042dcfb43ea7e3e8f7ada\"\u003e\u003ccode\u003e820e2b1\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.7.0-rc-3 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38743\"\u003e#38743\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/75ea3d7671b4c52daf3fd26d0824b8fa7c752181\"\u003e\u003ccode\u003e75ea3d7\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.7.0-rc-3\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.6.1...v9.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.jupiter:junit-jupiter` from 5.13.4 to 6.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.jupiter:junit-jupiter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.2 = Platform 6.1.2 + Jupiter 6.1.2 + Vintage 6.1.2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.2/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.1...r6.1.2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.1...r6.1.2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.1 = Platform 6.1.1 + Jupiter 6.1.1 + Vintage 6.1.1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.1/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.0...r6.1.1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.0...r6.1.1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0 = Platform 6.1.0 + Jupiter 6.1.0 + Vintage 6.1.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JarvisCraft\"\u003e\u003ccode\u003e@​JarvisCraft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5633\"\u003ejunit-team/junit-framework#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Maran23\"\u003e\u003ccode\u003e@​Maran23\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5644\"\u003ejunit-team/junit-framework#5644\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-RC1 = Platform 6.1.0-RC1 + Jupiter 6.1.0-RC1 + Vintage 6.1.0-RC1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-RC1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariokhoury4\"\u003e\u003ccode\u003e@​mariokhoury4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4574\"\u003ejunit-team/junit-framework#4574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ogu1208\"\u003e\u003ccode\u003e@​Ogu1208\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5145\"\u003ejunit-team/junit-framework#5145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HyungGeun94\"\u003e\u003ccode\u003e@​HyungGeun94\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5271\"\u003ejunit-team/junit-framework#5271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yalishevant\"\u003e\u003ccode\u003e@​yalishevant\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5316\"\u003ejunit-team/junit-framework#5316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JINU-CHANG\"\u003e\u003ccode\u003e@​JINU-CHANG\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5290\"\u003ejunit-team/junit-framework#5290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaschdoc\"\u003e\u003ccode\u003e@​jaschdoc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5427\"\u003ejunit-team/junit-framework#5427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kawshikbuet17\"\u003e\u003ccode\u003e@​kawshikbuet17\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5561\"\u003ejunit-team/junit-framework#5561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/msridhar\"\u003e\u003ccode\u003e@​msridhar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5602\"\u003ejunit-team/junit-framework#5602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-M1 = Platform 6.1.0-M1 + Jupiter 6.1.0-M1 + Vintage 6.1.0-M1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-M1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vy\"\u003e\u003ccode\u003e@​vy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5041\"\u003ejunit-team/junit-framework#5041\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Pankraz76\"\u003e\u003ccode\u003e@​Pankraz76\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5006\"\u003ejunit-team/junit-framework#5006\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5066\"\u003ejunit-team/junit-framework#5066\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/laeubi\"\u003e\u003ccode\u003e@​laeubi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5092\"\u003ejunit-team/junit-framework#5092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jihun4452\"\u003e\u003ccode\u003e@​jihun4452\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5088\"\u003ejunit-team/junit-framework#5088\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TWiStErRob\"\u003e\u003ccode\u003e@​TWiStErRob\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5133\"\u003ejunit-team/junit-framework#5133\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/junit-team/junit-framework/commit/b6854269eef188e6354dd6a7091fe7fde1e0f195\"\u003e\u003ccode\u003eb685426\u003c/code\u003e\u003c/a\u003e Release 6.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/ae244a6936b750865b6e98299f4d6791bea44f97\"\u003e\u003ccode\u003eae244a6\u003c/code\u003e\u003c/a\u003e Remove blanket outputDirectoryCreator from SuiteEngineTests (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5793\"\u003e#5793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/43bd154163ef3dfcc553103d5d8e63c4ccbe8cee\"\u003e\u003ccode\u003e43bd154\u003c/code\u003e\u003c/a\u003e Finalize 6.1.2 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0cd9510637ee792a3578dacddc04a7c9f2cad90e\"\u003e\u003ccode\u003e0cd9510\u003c/code\u003e\u003c/a\u003e Fix order of release note sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/a1507cbaf409424898c6b7767a0fcfc5c08ecdef\"\u003e\u003ccode\u003ea1507cb\u003c/code\u003e\u003c/a\u003e Add initial 6.1.2 release notes to release notes index\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/932664186b9c1b587c954d14c134fb05fec75538\"\u003e\u003ccode\u003e9326641\u003c/code\u003e\u003c/a\u003e Fix NoTestsDiscoveredException for suites containing only dynamic tests (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5839\"\u003e#5839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/2ef11234dc42ec8fcd744f03d8cbdce315c2a9b1\"\u003e\u003ccode\u003e2ef1123\u003c/code\u003e\u003c/a\u003e Create initial 6.1.2 release notes from template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/83fa9ab372a1b8894070a2e85f05820b773005c6\"\u003e\u003ccode\u003e83fa9ab\u003c/code\u003e\u003c/a\u003e Back to snapshots for further development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0d85889d9846c14378b732a8da860bfef6ddf7ca\"\u003e\u003ccode\u003e0d85889\u003c/code\u003e\u003c/a\u003e Release 6.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0363eee5be323b0a0ef05a0578ed03815d1ca258\"\u003e\u003ccode\u003e0363eee\u003c/code\u003e\u003c/a\u003e Finalize 6.1.1 release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r5.13.4...r6.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.platform:junit-platform-launcher` from 1.13.4 to 6.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.platform:junit-platform-launcher's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.2 = Platform 6.1.2 + Jupiter 6.1.2 + Vintage 6.1.2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.2/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.1...r6.1.2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.1...r6.1.2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.1 = Platform 6.1.1 + Jupiter 6.1.1 + Vintage 6.1.1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.1/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.0...r6.1.1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.0...r6.1.1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0 = Platform 6.1.0 + Jupiter 6.1.0 + Vintage 6.1.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JarvisCraft\"\u003e\u003ccode\u003e@​JarvisCraft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5633\"\u003ejunit-team/junit-framework#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Maran23\"\u003e\u003ccode\u003e@​Maran23\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5644\"\u003ejunit-team/junit-framework#5644\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-RC1 = Platform 6.1.0-RC1 + Jupiter 6.1.0-RC1 + Vintage 6.1.0-RC1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-RC1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariokhoury4\"\u003e\u003ccode\u003e@​mariokhoury4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4574\"\u003ejunit-team/junit-framework#4574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ogu1208\"\u003e\u003ccode\u003e@​Ogu1208\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5145\"\u003ejunit-team/junit-framework#5145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HyungGeun94\"\u003e\u003ccode\u003e@​HyungGeun94\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5271\"\u003ejunit-team/junit-framework#5271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yalishevant\"\u003e\u003ccode\u003e@​yalishevant\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5316\"\u003ejunit-team/junit-framework#5316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JINU-CHANG\"\u003e\u003ccode\u003e@​JINU-CHANG\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5290\"\u003ejunit-team/junit-framework#5290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaschdoc\"\u003e\u003ccode\u003e@​jaschdoc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5427\"\u003ejunit-team/junit-framework#5427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kawshikbuet17\"\u003e\u003ccode\u003e@​kawshikbuet17\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5561\"\u003ejunit-team/junit-framework#5561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/msridhar\"\u003e\u003ccode\u003e@​msridhar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5602\"\u003ejunit-team/junit-framework#5602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-M1 = Platform 6.1.0-M1 + Jupiter 6.1.0-M1 + Vintage 6.1.0-M1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-M1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vy\"\u003e\u003ccode\u003e@​vy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5041\"\u003ejunit-team/junit-framework#5041\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Pankraz76\"\u003e\u003ccode\u003e@​Pankraz76\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5006\"\u003ejunit-team/junit-framework#5006\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5066\"\u003ejunit-team/junit-framework#5066\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/laeubi\"\u003e\u003ccode\u003e@​laeubi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5092\"\u003ejunit-team/junit-framework#5092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jihun4452\"\u003e\u003ccode\u003e@​jihun4452\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5088\"\u003ejunit-team/junit-framework#5088\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TWiStErRob\"\u003e\u003ccode\u003e@​TWiStErRob\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5133\"\u003ejunit-team/junit-framework#5133\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\u003eSee full diff in \u003ca href=\"https://github.com/junit-team/junit-framework/commits/r6.1.2\"\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.3 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\u003ch2\u003ev3.27.6\u003c/h2\u003e\n\u003ch2\u003e:bug: Bug Fixes\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing export for \u003ccode\u003eorg.assertj.core.annotation\u003c/code\u003e \u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3951\"\u003e#3951\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:heart: Contributors\u003c/h2\u003e\n\u003cp\u003eThanks to all the contributors who worked on this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/duponter\"\u003e\u003ccode\u003e@​duponter\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.27.5\u003c/h2\u003e\n\u003ch2\u003e:zap: Improvements\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eByteBuddy in AssertJ 3.27.4 not compatible with Java 25 \u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3946\"\u003e#3946\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/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.3...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 `net.jqwik:jqwik` from 1.9.3 to 1.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jqwik-team/jqwik/releases\"\u003enet.jqwik:jqwik's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAnti-AI Release\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eWarning:\u003c/strong\u003e Starting with version 1.10 jqwik comes with an \u003ca href=\"https://jqwik.net/docs/1.10.1/user-guide.html#anti-ai-usage-clause\"\u003e\u003cstrong\u003eAnti-AI Usage Clause\u003c/strong\u003e\u003c/a\u003e!\nUsage with any \u0026quot;AI\u0026quot; agent is strongly discouraged. Jqwik's log output may confuse the agent.\u003c/p\u003e\n\u003cp\u003eThis will probably be the last release of Jqwik using JUnit Platform version 1.x.\nUpcoming releases, if ever realised, will be built on JUnit Platform 6 and thus Java \u0026gt;= 21.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch4\u003eNew and Enhanced Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ca href=\"https://jqwik.net/docs/1.10.1/user-guide.html#anti-ai-usage-clause\"\u003eparagraph about intended AI usage\u003c/a\u003e to user guide:\n\u003cstrong\u003eThis project is not meant to be used by any “AI” coding agents at all.\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMade \u003ccode\u003e@NotBlank\u003c/code\u003e configurator compatible with UTF-8 whitespace.\nSee \u003ca href=\"https://redirect.github.com/jqwik-team/jqwik/issues/663\"\u003eissue 663\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eBreaking Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eUse of jqwik \u0026gt;= 1.10 with coding agents is strongly discouraged.\nJqwik's output to stdout may confuse AI-based agents.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eDependency Upgrades and Bug Fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eUpgraded to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003eUpgraded to JUnit Platform 1.14.4\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/jqwik-team/jqwik/commit/dc3da975e8bb68f706858fd1c762ebddb42e9833\"\u003e\u003ccode\u003edc3da97\u003c/code\u003e\u003c/a\u003e Set version to release 1.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/c4205510c3d8360c57d54c1df59593f5045b6798\"\u003e\u003ccode\u003ec420551\u003c/code\u003e\u003c/a\u003e Made hiding of anti AI clause configurable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/0249c03fcc576fc943651691e24a55cb7f4b56ab\"\u003e\u003ccode\u003e0249c03\u003c/code\u003e\u003c/a\u003e Expanded paragraph on AI agent usage in user guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/7c212b6e3a93e31152af5e6606ee88075460d5dd\"\u003e\u003ccode\u003e7c212b6\u003c/code\u003e\u003c/a\u003e Updated TODOs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/4aac8af2fd4e87e29073962ff9680f177a6273e4\"\u003e\u003ccode\u003e4aac8af\u003c/code\u003e\u003c/a\u003e Advance version to 1.10.1-SNAPSHOT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/7d7e9baaa5f46ed4122a5ff22edfbca81a955778\"\u003e\u003ccode\u003e7d7e9ba\u003c/code\u003e\u003c/a\u003e Set release version 1.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/37178a1b3068a4ef250a975245a1c5498b802f21\"\u003e\u003ccode\u003e37178a1\u003c/code\u003e\u003c/a\u003e Made NotBlank UTF-8 whitespace compatible\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/b9a8d81d07242f81bf669129bf2c462751375842\"\u003e\u003ccode\u003eb9a8d81\u003c/code\u003e\u003c/a\u003e Minor formatting tweak in user guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/2aaae09f6c4146a73b12001cab6d4c582097610d\"\u003e\u003ccode\u003e2aaae09\u003c/code\u003e\u003c/a\u003e Updated TODOs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/6fe00a2c473469186ba29dcf0986600db9b8dc22\"\u003e\u003ccode\u003e6fe00a2\u003c/code\u003e\u003c/a\u003e Fixed dokka generation\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jqwik-team/jqwik/compare/1.9.3...1.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.tngtech.archunit:archunit-junit5` from 1.4.1 to 1.5.0\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.5.0\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 27 / class file major version 71 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1618\"\u003e#1618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove descriptions of \u003ccode\u003eJavaAccess.Predicates.originOwner\u003c/code\u003e and \u003ccode\u003eJavaAccess.Predicates.targetOwner\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1603\"\u003e#1603\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eExpose information on sealed classes via \u003ccode\u003eJavaClass\u003c/code\u003e: \u003ccode\u003eisSealed()\u003c/code\u003e and \u003ccode\u003egetPermittedSubclasses()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/bannmann\"\u003e\u003ccode\u003e@​bannmann\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eImportOption.DoNotIncludeTests\u003c/code\u003e and \u003ccode\u003eOnlyIncludeTests\u003c/code\u003e consider tests in custom Gradle source sets (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/Develop-KIM\"\u003e\u003ccode\u003e@​Develop-KIM\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLang\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchConditions\u003c/code\u003e offers new \u003ccode\u003eArchCondition\u0026lt;JavaClass\u0026gt; haveAnyDependenciesThat(DescribedPredicate\u0026lt;Dependency\u0026gt;)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1580\"\u003e#1580\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/wakingrufus\"\u003e\u003ccode\u003e@​wakingrufus\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchitectureMetrics.lakosMetrics\u003c/code\u003e is computed much more performantly (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1629\"\u003e#1629\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/ThanosTsiamis\"\u003e\u003ccode\u003e@​ThanosTsiamis\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTextFileBasedViolationStore\u003c/code\u003e is now thread-safe under parallel test execution (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1656\"\u003e#1656\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/kelunik\"\u003e\u003ccode\u003e@​kelunik\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eModuleDependency\u003c/code\u003e now provides stable descriptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1648\"\u003e#1648\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/DragonFSKY\"\u003e\u003ccode\u003e@​DragonFSKY\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eJUnit\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003earchunit-junit6\u003c/code\u003e supports ArchUnit with JUnit 6 (\u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1556\"\u003e#1556\u003c/a\u003e\u003c/del\u003e, \u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1658\"\u003e#1658\u003c/a\u003e\u003c/del\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1659\"\u003e#1659\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnalyzeClasses\u003c/code\u003e supports individual classes (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1569\"\u003e#1569\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003ePreparation:\u003c/em\u003e \u003ccode\u003earchunit-junit:0.9.0\u003c/code\u003e (which was renamed with \u003ca href=\"https://github.com/TNG/ArchUnit/releases/tag/v0.9.0\"\u003eArchUnit 0.9.0\u003c/a\u003e) now relocates to \u003ccode\u003earchunit-junit4:0.9.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1673\"\u003e#1673\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋) – will be published after \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1684\"\u003e#1684\u003c/a\u003e 🙈\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocument \u003ccode\u003ePriority\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1671\"\u003e#1671\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eDocument Package Identifiers in User Guide (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1672\"\u003e#1672\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eInternal Improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eText files now use UNIX line breaks (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1602\"\u003e#1602\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1611\"\u003e#1611\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eUpdate Gradle from 8 to 9; build \u0026amp; test with JDK 25 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1550\"\u003e#1550\u003c/a\u003e, and also \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1612\"\u003e#1612\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1619\"\u003e#1619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSeparate integration tests by JUnit version (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1636\"\u003e#1636\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003ejunit-dataprovider\u003c/code\u003e with \u003ccode\u003ejunit-jupiter-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1655\"\u003e#1655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eArchUnit releases now update Maven examples (and Gradle wrapper) of \u003ca href=\"https://github.com/TNG/ArchUnit-Examples\"\u003eArchUnit-Examples\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid managing hamcrest dependency (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1467\"\u003e#1467\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\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/502d782bfbf2632a2c9f943a502ddd8cc3e3c46d\"\u003e\u003ccode\u003e502d782\u003c/code\u003e\u003c/a\u003e prepare release 1.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/4f26fccd784d37f469e743950f8e0a3ff686d64b\"\u003e\u003ccode\u003e4f26fcc\u003c/code\u003e\u003c/a\u003e fix testRelease exec() and task registration for Gradle 9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/96af98457c924289ecff834737eebd8a55bddda6\"\u003e\u003ccode\u003e96af984\u003c/code\u003e\u003c/a\u003e add new developers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/e427828fcb9b09117cd0e59a471314218f8331d5\"\u003e\u003ccode\u003ee427828\u003c/code\u003e\u003c/a\u003e consolidate POM checks during CI and release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a30f6e3465ed3cb0868607debf80bf83e741b5f0\"\u003e\u003ccode\u003ea30f6e3\u003c/code\u003e\u003c/a\u003e Bump gradle/actions from 6 to 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a036c08707c50e6f7091754e63389f5bd2aaec64\"\u003e\u003ccode\u003ea036c08\u003c/code\u003e\u003c/a\u003e Bump com.github.ben-manes.versions from 0.57.0 to 0.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/24a9d9e10d4bb5ba5c5678d36810ef2397470163\"\u003e\u003ccode\u003e24a9d9e\u003c/code\u003e\u003c/a\u003e Bump actions/setup-java from 5.6.0 to 5.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/9944244c116f2724ac5bc1d02c73ca10af1c92e4\"\u003e\u003ccode\u003e9944244\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/51fd6c9e90c681a3d644f8a1e86a428f64fe3418\"\u003e\u003ccode\u003e51fd6c9\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/65f4cd3a60c48b0654daa4662b563e6b8545e221\"\u003e\u003ccode\u003e65f4cd3\u003c/code\u003e\u003c/a\u003e add support for dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TNG/ArchUnit/compare/v1.4.1...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.slf4j:slf4j-api` from 2.0.17 to 2.0.18\n\nUpdates `ch.qos.logback:logback-classic` from 1.5.18 to 1.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/qos-ch/logback/releases\"\u003ech.qos.logback:logback-classic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eLogback 1.6.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e2026-07-28 Release of logback version 1.6.1\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e• In TimeBasedRollingPolicy, when the file option is set, the intermediate file renamed before asynchronous compression now receives the target archive name without the compression suffix (e.g. \u003ccode\u003e.gz\u003c/code\u003e, \u003ccode\u003e.zip\u003c/code\u003e, \u003ccode\u003e.xz\u003c/code\u003e). Previously it used a nanotime-based \u003ccode\u003e.tmp\u003c/code\u003e suffix. This makes the file easier to identify if compression fails during rollover. (See also the following paragraph.)\u003c/p\u003e\n\u003cp\u003e• On GZ, ZIP, or XZ compression failure, the original (uncompressed) log file is no longer deleted. Compression strategies now delete the source file only after successful compression and emit a warning that the original was left intact.\u003c/p\u003e\n\u003cp\u003e• ConsoleAppender with \u003c!-- raw HTML omitted --\u003e now probes JLine's org.jline.jansi.AnsiConsole first and falls back to the legacy FuseSource org.fusesource.jansi.AnsiConsole class. This keeps ANSI coloring working after Jansi moved under the JLine project. The optional org.jline:jansi-core artifact is declared as a dependency alongside the existing FuseSource jansi dependency. A preferredJansiClassName property was added for tests. This issue was reported in \u003ca href=\"https://redirect.github.com/qos-ch/logback/issues/1043\"\u003eissues/1043\u003c/a\u003e by \u003ca href=\"https://github.com/seonwooj0810\"\u003eseonwoo_jung\u003c/a\u003e who also provided the relevant PR.\u003c/p\u003e\n\u003cp\u003e• LayoutWrappingEncoder now reports an error at start() when no layout is set and guards encode() against a null layout. Previously, a missing layout (for example after an ignored \u003c!-- raw HTML omitted --\u003e/\u003c!-- raw HTML omitted --\u003e/\u003c!-- raw HTML omitted --\u003e branch) allowed the encoder to start and then fail with a NullPointerException on every event, resulting in silent log loss. This issue was reported in \u003ca href=\"https://redirect.github.com/qos-ch/logback/issues/1046\"\u003eissues/1046\u003c/a\u003e by \u003ca href=\"https://github.com/seonwooj0810\"\u003eseonwoo_jung\u003c/a\u003e who also provided the relevant PR.\u003c/p\u003e\n\u003cp\u003e• FileCollisionAnalyser now detects file collisions involving nested appenders of SiftingAppender. When the nested file or fileNamePattern does not textually reference the discriminator key (e.g. ${userId}), a warning is issued at configuration time naming the appender, the key, and the shared target. This closes a gap where statically declared file appenders were checked but sifted nested appenders were not. This enhancement was contributed in [PR \u003ca href=\"https://redirect.github.com/qos-ch/logback/issues/1041\"\u003e#1041\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/qos-ch/logback/issues/1041\"\u003eqos-ch/logback#1041\u003c/a\u003e) by \u003ca href=\"https://github.com/seonwooj0810\"\u003eseonwoo_jung\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e• More defensive handling in SyslogOutputStream and SyslogAppenderBase: the close() method now ensures that resources are closed, writes and flushes check that the underlying resources are in a valid state and fallback to no-op otherwise.\u003c/p\u003e\n\u003cp\u003e• A bit-wise identical binary of this version can be reproduced by building from source code at commit 57759f433000a133088ef0441038963134437fbd associated with the tag v_1.6.1. The release was built using Java \u0026quot;21\u0026quot; 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.\u003c/p\u003e\n\u003cp\u003e• See \u003ca href=\"https://logback.qos.ch/news.html#1.6.1\"\u003ehttps://logback.qos.ch/news.html#1.6.1\u003c/a\u003e for the original text.\u003c/p\u003e\n\u003ch2\u003eLogback 1.6.0\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e2026-07-23 Release of logback version 1.6.0\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e• Removed certain deprecated variables, methods, and classes. For the list of removed members see \u003ca href=\"https://logback.qos.ch/notes/release_1.6.0.txt\"\u003erelease_1.6.0.txt.\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e• In \u003ccode\u003eAsyncAppenderBase\u003c/code\u003e, the \u003ccode\u003eput(ILoggingEvent)\u003c/code\u003e method now has the protected modifier to allow access from derived classes. This change was requested by Thomas Skjølberg in \u003ca href=\"https://redirect.github.com/qos-ch/logback/pull/1053\"\u003epr#1053\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e• Bump SLF4J dependency to version 2.0.18.\u003c/p\u003e\n\u003cp\u003e• \u003cstrong\u003eSee also the overview of the \u003ca href=\"https://logback.qos.ch/news.html#latest_stable\"\u003e1.6.x series\u003c/a\u003e.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e• A bit-wise identical binary of this version can be reproduced by building from source code at commit b07adf36019b51a10f824fdd94009985c587b1d3 associated with the tag v_1.6.0. The release was built using Java \u0026quot;21\u0026quot; 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.\u003c/p\u003e\n\u003ch2\u003eLogback 1.5.38\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e2026-07-09 Release of logback version 1.5.38\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e• In \u003ccode\u003eHardenedObjectInputStream\u003c/code\u003e, fixed a typo preventing \u003ccode\u003eThrowable\u003c/code\u003e objects from being white-filtered. This issue was reported in [PR \u003ca href=\"https://redirect.github.com/qos-ch/logback/issues/1045\"\u003e#1045\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/qos-ch/logback/pull/1045\"\u003eqos-ch/logback#1045\u003c/a\u003e) by \u003ca href=\"https://github.com/t0rchwo0d\"\u003et0rchwo0d\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e• A bitwise identical binary of this version can be reproduced by building from source code at commit d04984a41fce42977466f45a2f076f0ee5cc4207 associated with the tag v_1.5.38. Release built using Java \u0026quot;21\u0026quot; 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.\u003c/p\u003e\n\u003ch2\u003eLogback 1.5.37\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e2026-06-26 Release of logback version 1.5.37\u003c/strong\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e• Given the numerous vulnerabilities related to conditional configuration processing based on the evaluation of Java expressions using the Janino library, support for such expressions has been removed. Users are offered the an \u003ca href=\"https://logback.qos.ch/translator/services/conditionalConfigMigrator.html\"\u003eonline migration service\u003c/a\u003e or the \u003ccode\u003e\u0026lt;condition\u0026gt;\u003c/code\u003e element introduced in version 1.5.20. See the \u003ca href=\"https://logback.qos.ch/manual/configuration.html#conditional\"\u003erelevant documentation\u003c/a\u003e for more details.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e• A bitwise identical binary of this version can be reproduced by building from source code at commit c1df7f522e648eec7b4ef6a12c8758fec0f00048 associated with the tag v_1.5.37. Release built using Java \u0026quot;21\u0026quot; 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.\u003c/p\u003e\n\u003ch2\u003eLogback 1.5.36\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e2026-06-25 Release of logback version 1.5.36\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e• The 'condition' attribute in \u003ccode\u003e\u0026lt;if\u0026gt;\u003c/code\u003e elements now reject certain references that are associated with ACE attacks. This issue was reported by \u0026quot;yulate\u0026quot; (\u003ca href=\"mailto:yulate531@gmail.com.com\"\u003eyulate531@gmail.com.com\u003c/a\u003e) and registered as \u003ca href=\"https://www.cve.org/cverecord?id=CVE-2026-13006\"\u003eCVE-2026-13006\u003c/a\u003e. \u003cstrong\u003ePlease note that version 1.5.37 provides the full fix to this vulnerability.\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/qos-ch/logback/commit/57759f433000a133088ef0441038963134437fbd\"\u003e\u003ccode\u003e57759f4\u003c/code\u003e\u003c/a\u003e prepare release 1.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/175f99f2093ae07f4c8d44f93b800f65b03a6e19\"\u003e\u003ccode\u003e175f99f\u003c/code\u003e\u003c/a\u003e fix imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/4b8773ed127fdc62b85a7c7ddaef10f25830788c\"\u003e\u003ccode\u003e4b8773e\u003c/code\u003e\u003c/a\u003e add compressionFailureLeavesOriginalFileIntact test for XZ compression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/cafaf1115fd20be19b2f7a4a09184446e8bbc04d\"\u003e\u003ccode\u003ecafaf11\u003c/code\u003e\u003c/a\u003e do not delete original file if compression fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/ee50125b293f5a731543de9f9f5fb72756a43464\"\u003e\u003ccode\u003eee50125\u003c/code\u003e\u003c/a\u003e let the temporary file before compression be target file without the .gz or ....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/5626acc301f4039537a6c668f0f2d51989472785\"\u003e\u003ccode\u003e5626acc\u003c/code\u003e\u003c/a\u003e minor refactoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/d97da4fbc0de00ca901ef78d91b9fc1850ae803f\"\u003e\u003ccode\u003ed97da4f\u003c/code\u003e\u003c/a\u003e minor refactoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/159c045d8f045ccf8b382775d81d83919c228cca\"\u003e\u003ccode\u003e159c045\u003c/code\u003e\u003c/a\u003e more defensive coding in SyslogOutputStream and in SyslogAppenderBase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/9427d6b23d5a692c8a76a994c076ef68ded7835c\"\u003e\u003ccode\u003e9427d6b\u003c/code\u003e\u003c/a\u003e slight refactoring for clarity\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/79c4179c0b440a9dcf35bc9bda1ead2b2f90966c\"\u003e\u003ccode\u003e79c4179\u003c/code\u003e\u003c/a\u003e slight refactoring\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/qos-ch/logback/compare/v_1.5.18...v_1.6.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/tuanworlddev/jdesk/pull/12","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tuanworlddev%2Fjdesk/issues/12","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/12/packages"},{"uuid":"4877851030","node_id":"PR_kwDOQEfaqc7xR3-I","number":282,"state":"open","title":"deps(deps): bump the gradle-dependencies group across 1 directory with 30 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-07-13T21:43:49.000Z","updated_at":"2026-07-24T17:00:34.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"gradle-dependencies","update_count":30,"packages":[{"name":"org.yaml:snakeyaml","old_version":"2.3","new_version":"2.6"},{"name":"org.springframework.boot:spring-boot-dependencies","old_version":"3.4.4","new_version":"4.1.0","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot","old_version":"3.4.4","new_version":"4.1.0","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"gradle-wrapper","old_version":"8.12","new_version":"9.6.1","repository_url":"https://github.com/gradle/gradle"},{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-test","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-allopen","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-noarg","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.jvm","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.spring","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.jpa","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.fasterxml.jackson.module:jackson-module-kotlin","old_version":"2.18.2","new_version":"2.22.1","repository_url":"https://github.com/FasterXML/jackson-module-kotlin"},{"name":"com.fasterxml.jackson.dataformat:jackson-dataformat-xml","old_version":"2.18.2","new_version":"2.22.1","repository_url":"https://github.com/FasterXML/jackson-dataformat-xml"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"2.8.6","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"com.giffing.bucket4j.spring.boot.starter:bucket4j-spring-boot-starter","old_version":"0.12.10","new_version":"0.14.0","repository_url":"https://github.com/MarcGiffing/bucket4j-spring-boot-starter"},{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.1.8","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"com.github.ben-manes.caffeine:jcache","old_version":"3.1.8","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"org.flywaydb:flyway-core","old_version":"11.3.1","new_version":"13.0.0"},{"name":"org.flywaydb:flyway-database-postgresql","old_version":"11.3.1","new_version":"13.0.0"},{"name":"org.postgresql:postgresql","old_version":"42.7.4","new_version":"42.7.13","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"io.kotest:kotest-runner-junit5","old_version":"5.9.1","new_version":"6.2.3","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-assertions-core","old_version":"5.9.1","new_version":"6.2.3","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-property","old_version":"5.9.1","new_version":"6.2.3","repository_url":"https://github.com/kotest/kotest"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.3.0","new_version":"1.4.2","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"net.jqwik:jqwik","old_version":"1.9.2","new_version":"1.10.1","repository_url":"https://github.com/jqwik-team/jqwik"},{"name":"org.testcontainers:testcontainers-bom","old_version":"1.20.4","new_version":"1.21.4","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.testcontainers:junit-jupiter","old_version":"1.20.4","new_version":"1.21.4","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.testcontainers:postgresql","old_version":"1.20.4","new_version":"1.21.4","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"com.diffplug.spotless","old_version":"7.0.4","new_version":"8.8.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 30 updates in the /yay-tsa-v2 directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.yaml:snakeyaml](https://bitbucket.org/snakeyaml/snakeyaml) | `2.3` | `2.6` |\n| [org.springframework.boot:spring-boot-dependencies](https://github.com/spring-projects/spring-boot) | `3.4.4` | `4.1.0` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `3.4.4` | `4.1.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.12` | `9.6.1` |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [org.jetbrains.kotlin:kotlin-test](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [org.jetbrains.kotlin:kotlin-allopen](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [org.jetbrains.kotlin:kotlin-noarg](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [org.jetbrains.kotlin.plugin.spring](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [org.jetbrains.kotlin.plugin.jpa](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [com.fasterxml.jackson.module:jackson-module-kotlin](https://github.com/FasterXML/jackson-module-kotlin) | `2.18.2` | `2.22.1` |\n| [com.fasterxml.jackson.dataformat:jackson-dataformat-xml](https://github.com/FasterXML/jackson-dataformat-xml) | `2.18.2` | `2.22.1` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `2.8.6` | `3.0.3` |\n| [com.giffing.bucket4j.spring.boot.starter:bucket4j-spring-boot-starter](https://github.com/MarcGiffing/bucket4j-spring-boot-starter) | `0.12.10` | `0.14.0` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.1.8` | `3.2.4` |\n| [com.github.ben-manes.caffeine:jcache](https://github.com/ben-manes/caffeine) | `3.1.8` | `3.2.4` |\n| org.flywaydb:flyway-core | `11.3.1` | `13.0.0` |\n| org.flywaydb:flyway-database-postgresql | `11.3.1` | `13.0.0` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.4` | `42.7.13` |\n| [io.kotest:kotest-runner-junit5](https://github.com/kotest/kotest) | `5.9.1` | `6.2.3` |\n| [io.kotest:kotest-assertions-core](https://github.com/kotest/kotest) | `5.9.1` | `6.2.3` |\n| [io.kotest:kotest-property](https://github.com/kotest/kotest) | `5.9.1` | `6.2.3` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.3.0` | `1.4.2` |\n| [net.jqwik:jqwik](https://github.com/jqwik-team/jqwik) | `1.9.2` | `1.10.1` |\n| [org.testcontainers:testcontainers-bom](https://github.com/testcontainers/testcontainers-java) | `1.20.4` | `1.21.4` |\n| [org.testcontainers:junit-jupiter](https://github.com/testcontainers/testcontainers-java) | `1.20.4` | `1.21.4` |\n| [org.testcontainers:postgresql](https://github.com/testcontainers/testcontainers-java) | `1.20.4` | `1.21.4` |\n| com.diffplug.spotless | `7.0.4` | `8.8.0` |\n\n\nUpdates `org.yaml:snakeyaml` from 2.3 to 2.6\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/015ab57b3a789f85cf8967f6f3431035d928d9bc\"\u003e\u003ccode\u003e015ab57\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/4795519ef773da23c8816a4e932f9aaffd630f8c\"\u003e\u003ccode\u003e4795519\u003c/code\u003e\u003c/a\u003e Update info\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/9c36c69034617a1c2e06b5b9b6da4073416279b8\"\u003e\u003ccode\u003e9c36c69\u003c/code\u003e\u003c/a\u003e Introduce devcontainer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/0c5b3e513a8a3971f7c97404f73fadebb63b73c0\"\u003e\u003ccode\u003e0c5b3e5\u003c/code\u003e\u003c/a\u003e fix: add debug level to internal logger\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/a65b13170d1b221af062d6aa90fd7741ed7ea7cd\"\u003e\u003ccode\u003ea65b131\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into devcontainers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/788a98b92bfd1696e95a0a48eb1d652d80660149\"\u003e\u003ccode\u003e788a98b\u003c/code\u003e\u003c/a\u003e Update changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/556b4bfec56355987f292f0ee515798b3a2eb3e0\"\u003e\u003ccode\u003e556b4bf\u003c/code\u003e\u003c/a\u003e Add info for devcontainer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/0828c39da732f89844c0c66d7f55169417f8cd16\"\u003e\u003ccode\u003e0828c39\u003c/code\u003e\u003c/a\u003e ops: migrate deployment from OSSRH to Central Portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/30d6a3a64809f0f6d3d9fd901a85b7c3cda94930\"\u003e\u003ccode\u003e30d6a3a\u003c/code\u003e\u003c/a\u003e Add a test for issue 1108\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/2da4c6d8bfe0590dab56a5319366dc3b6558b9b5\"\u003e\u003ccode\u003e2da4c6d\u003c/code\u003e\u003c/a\u003e Remove unrelated code\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/branches/compare/snakeyaml-2.6..snakeyaml-2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot:spring-boot-dependencies` from 3.4.4 to 4.1.0\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:spring-boot-dependencies's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003cp\u003eFull \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.1-Release-Notes\"\u003erelease notes for Spring Boot 4.1\u003c/a\u003e are available on the wiki.\u003c/p\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd public constructor to InvalidConfigurationPropertyValueException that accepts a cause \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50211\"\u003e#50211\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReduce memory consumption when repeatedly calling WritableJson.toByteArray \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49428\"\u003e#49428\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMailSender auto-configuration does not enable hostname verification \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50747\"\u003e#50747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eArtemis auto-configuration uses a predictable default location for the embedded broker's data \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50745\"\u003e#50745\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEmbedded LDAP SSL should not be enabled when its bundle is empty \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50700\"\u003e#50700\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInetAddressFilter.externalAddresses does not exclude special purpose addresses from RFC 6890 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50668\"\u003e#50668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNullPointerException in reactor-netty SniProvider and unmapped SSL bundle with RSocket \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50645\"\u003e#50645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSSL should not be enabled when a SSL bundle is overridden to an empty string \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50635\"\u003e#50635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest auto-configuration no longer integrates Spring Security with HtmlUnitDriver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50633\"\u003e#50633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConfiguration property metadata includes incorrect class references \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50632\"\u003e#50632\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support does not restore thread interrupt flag when catching InterruptedException \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50618\"\u003e#50618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRabbitProperties enables SSL even when spring.rabbitmq.ssl.bundle is overridden to an empty string \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50612\"\u003e#50612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNullPointerException in reactor-netty SniProvider when SSL bundle uses client-auth or server truststore without server-name-bundles \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50610\"\u003e#50610\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpringJtaPlatform should have been deprecated since 4.1.0-M3 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50592\"\u003e#50592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLayer written outside the output location of '//' exception is thrown when using extract layers in root directory \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50510\"\u003e#50510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConfigurationPropertiesReportEndpoint exposes AOP proxy internals \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50417\"\u003e#50417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreated StackTracePrinter instances have no access to the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50414\"\u003e#50414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMappingsEndpoint reports the context's own ID as parentId when a parent exists \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50412\"\u003e#50412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuildpack module does not validate long-to-int casts \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50410\"\u003e#50410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGradle gRPC support fails if protobuf-java dependency is used instead of protobuf-java-util \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50405\"\u003e#50405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGraphQL WebSocket support does not configure allowed origins \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50394\"\u003e#50394\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Boot Loader Does Not Support RSA and EC Signed Jars \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50298\"\u003e#50298\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMeter registries are not removed from the global registry when the context is closed \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50287\"\u003e#50287\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDataSourceBuilder cannot derive a DataSource from a lazy connection proxy \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50271\"\u003e#50271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNullable annotations from AbstractErrorController.getErrorAttributes are not aligned with implementation \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50266\"\u003e#50266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBean definitions can be added with an initializer before setAllowBeanDefinitionOverriding is called \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50264\"\u003e#50264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEndpointRequest links matcher unnecessarily matches HTTP methods other than GET  \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50261\"\u003e#50261\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eActuator's '/cloudfoundryapplication' endpoint does not work if restrictive CORS configuration is provided using a bean named corsConfigurationSource \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50258\"\u003e#50258\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThreadPoolTaskScheduleBuilder unnecessarily loses precision when configuring await termination time \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50234\"\u003e#50234\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNimbusJwtDecoder silently accepts unknown values for spring.security.oauth2.resourceserver.jwt.jws-algorithms \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50228\"\u003e#50228\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMissing dependency management for spring-boot-web-server-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50224\"\u003e#50224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Batch support for MongoDB modules are not included in dependency management \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50223\"\u003e#50223\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply HTML escaping to timestamp attribute in Whitelabel error page \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50216\"\u003e#50216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGrpcServerHealthScheduler is not started in servlet environments \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50209\"\u003e#50209\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSetting server.servlet.session.cookie.partitioned=true has no effect when using Tomcat \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50204\"\u003e#50204\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\u003eFix reference to Gradle documentation for module replacement \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50647\"\u003e#50647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument SSL reloading with Let's Encrypt \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50630\"\u003e#50630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove the use of Optional from Data Neo4j repository examples \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50622\"\u003e#50622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos in documentation \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50620\"\u003e#50620\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/ac2cfe03538b87a0dc9d2619ed52a4c901eaea54\"\u003e\u003ccode\u003eac2cfe0\u003c/code\u003e\u003c/a\u003e Release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/1a5815cf3183a0c9493cece8ba550a6e8b125d67\"\u003e\u003ccode\u003e1a5815c\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Batch 6.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/a8364ff9c2a0ca88541cc153f032089e063b797c\"\u003e\u003ccode\u003ea8364ff\u003c/code\u003e\u003c/a\u003e Merge branch '4.0.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9755ff29e7ce3a8ac4574e5b452bdfe1053718b1\"\u003e\u003ccode\u003e9755ff2\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Batch 6.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/6a6dedc4354cbafadaf8aab2803fc3acd7e6b8de\"\u003e\u003ccode\u003e6a6dedc\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 7.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/db7b2b9fb0b3c623d707f2627f832b4dd5f2eb8c\"\u003e\u003ccode\u003edb7b2b9\u003c/code\u003e\u003c/a\u003e Merge branch '4.0.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/d549d077c03add0421464fcd0248bd8b76b41973\"\u003e\u003ccode\u003ed549d07\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 7.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4d9e463dc3fefea2b73dcfbb15b4ced6b69dbaf9\"\u003e\u003ccode\u003e4d9e463\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/b0686478a71cceb977dc1ff5b4e69ef5eb052fcf\"\u003e\u003ccode\u003eb068647\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 6.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/198af995dc03a09583c61bcd0b8ffda341055feb\"\u003e\u003ccode\u003e198af99\u003c/code\u003e\u003c/a\u003e Merge branch '4.0.x'\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v3.4.4...v4.1.0\"\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.4.4 to 4.1.0\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.1.0\u003c/h2\u003e\n\u003cp\u003eFull \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.1-Release-Notes\"\u003erelease notes for Spring Boot 4.1\u003c/a\u003e are available on the wiki.\u003c/p\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd public constructor to InvalidConfigurationPropertyValueException that accepts a cause \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50211\"\u003e#50211\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReduce memory consumption when repeatedly calling WritableJson.toByteArray \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49428\"\u003e#49428\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMailSender auto-configuration does not enable hostname verification \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50747\"\u003e#50747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eArtemis auto-configuration uses a predictable default location for the embedded broker's data \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50745\"\u003e#50745\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEmbedded LDAP SSL should not be enabled when its bundle is empty \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50700\"\u003e#50700\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInetAddressFilter.externalAddresses does not exclude special purpose addresses from RFC 6890 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50668\"\u003e#50668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNullPointerException in reactor-netty SniProvider and unmapped SSL bundle with RSocket \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50645\"\u003e#50645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSSL should not be enabled when a SSL bundle is overridden to an empty string \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50635\"\u003e#50635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest auto-configuration no longer integrates Spring Security with HtmlUnitDriver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50633\"\u003e#50633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConfiguration property metadata includes incorrect class references \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50632\"\u003e#50632\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support does not restore thread interrupt flag when catching InterruptedException \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50618\"\u003e#50618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRabbitProperties enables SSL even when spring.rabbitmq.ssl.bundle is overridden to an empty string \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50612\"\u003e#50612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNullPointerException in reactor-netty SniProvider when SSL bundle uses client-auth or server truststore without server-name-bundles \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50610\"\u003e#50610\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpringJtaPlatform should have been deprecated since 4.1.0-M3 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50592\"\u003e#50592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLayer written outside the output location of '//' exception is thrown when using extract layers in root directory \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50510\"\u003e#50510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConfigurationPropertiesReportEndpoint exposes AOP proxy internals \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50417\"\u003e#50417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreated StackTracePrinter instances have no access to the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50414\"\u003e#50414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMappingsEndpoint reports the context's own ID as parentId when a parent exists \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50412\"\u003e#50412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuildpack module does not validate long-to-int casts \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50410\"\u003e#50410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGradle gRPC support fails if protobuf-java dependency is used instead of protobuf-java-util \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50405\"\u003e#50405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGraphQL WebSocket support does not configure allowed origins \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50394\"\u003e#50394\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Boot Loader Does Not Support RSA and EC Signed Jars \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50298\"\u003e#50298\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMeter registries are not removed from the global registry when the context is closed \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50287\"\u003e#50287\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDataSourceBuilder cannot derive a DataSource from a lazy connection proxy \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50271\"\u003e#50271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNullable annotations from AbstractErrorController.getErrorAttributes are not aligned with implementation \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50266\"\u003e#50266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBean definitions can be added with an initializer before setAllowBeanDefinitionOverriding is called \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50264\"\u003e#50264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEndpointRequest links matcher unnecessarily matches HTTP methods other than GET  \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50261\"\u003e#50261\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eActuator's '/cloudfoundryapplication' endpoint does not work if restrictive CORS configuration is provided using a bean named corsConfigurationSource \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50258\"\u003e#50258\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThreadPoolTaskScheduleBuilder unnecessarily loses precision when configuring await termination time \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50234\"\u003e#50234\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNimbusJwtDecoder silently accepts unknown values for spring.security.oauth2.resourceserver.jwt.jws-algorithms \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50228\"\u003e#50228\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMissing dependency management for spring-boot-web-server-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50224\"\u003e#50224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Batch support for MongoDB modules are not included in dependency management \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50223\"\u003e#50223\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply HTML escaping to timestamp attribute in Whitelabel error page \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50216\"\u003e#50216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGrpcServerHealthScheduler is not started in servlet environments \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50209\"\u003e#50209\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSetting server.servlet.session.cookie.partitioned=true has no effect when using Tomcat \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50204\"\u003e#50204\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\u003eFix reference to Gradle documentation for module replacement \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50647\"\u003e#50647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument SSL reloading with Let's Encrypt \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50630\"\u003e#50630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove the use of Optional from Data Neo4j repository examples \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50622\"\u003e#50622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos in documentation \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50620\"\u003e#50620\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/ac2cfe03538b87a0dc9d2619ed52a4c901eaea54\"\u003e\u003ccode\u003eac2cfe0\u003c/code\u003e\u003c/a\u003e Release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/1a5815cf3183a0c9493cece8ba550a6e8b125d67\"\u003e\u003ccode\u003e1a5815c\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Batch 6.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/a8364ff9c2a0ca88541cc153f032089e063b797c\"\u003e\u003ccode\u003ea8364ff\u003c/code\u003e\u003c/a\u003e Merge branch '4.0.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9755ff29e7ce3a8ac4574e5b452bdfe1053718b1\"\u003e\u003ccode\u003e9755ff2\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Batch 6.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/6a6dedc4354cbafadaf8aab2803fc3acd7e6b8de\"\u003e\u003ccode\u003e6a6dedc\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 7.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/db7b2b9fb0b3c623d707f2627f832b4dd5f2eb8c\"\u003e\u003ccode\u003edb7b2b9\u003c/code\u003e\u003c/a\u003e Merge branch '4.0.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/d549d077c03add0421464fcd0248bd8b76b41973\"\u003e\u003ccode\u003ed549d07\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 7.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4d9e463dc3fefea2b73dcfbb15b4ced6b69dbaf9\"\u003e\u003ccode\u003e4d9e463\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/b0686478a71cceb977dc1ff5b4e69ef5eb052fcf\"\u003e\u003ccode\u003eb068647\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 6.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/198af995dc03a09583c61bcd0b8ffda341055feb\"\u003e\u003ccode\u003e198af99\u003c/code\u003e\u003c/a\u003e Merge branch '4.0.x'\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v3.4.4...v4.1.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 8.12 to 9.6.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.6.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.6.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImproved Configuration Cache hit rates\u003c/li\u003e\n\u003cli\u003eAdditional CLI rendering options\u003c/li\u003e\n\u003cli\u003eImportant project hierarchy lookup deprecations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.6.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/Ahar28\"\u003eAharnish Solanki\u003c/a\u003e,\n\u003ca href=\"https://github.com/benediktjohannes\"\u003eBenedikt Johannes\u003c/a\u003e,\n\u003ca href=\"https://github.com/devareddy05\"\u003eDevendra Reddy Pennabadi\u003c/a\u003e,\n\u003ca href=\"https://github.com/smplio\"\u003eDmytro Rodionov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Dreeam-qwq\"\u003eDreeam\u003c/a\u003e,\n\u003ca href=\"https://github.com/EliasHdzR\"\u003eElías Hernández Rodríguez\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/FinlayRJW\"\u003eFinlayRJW\u003c/a\u003e,\n\u003ca href=\"https://github.com/kamalkansal27\"\u003eKamal Kansal\u003c/a\u003e,\n\u003ca href=\"https://github.com/Marcono1234\"\u003eMarcono1234\u003c/a\u003e,\n\u003ca href=\"https://github.com/runningcode\"\u003eNelson Osacky\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/rkdfx\"\u003eRavi\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/rschmitt\"\u003eRyan Schmitt\u003c/a\u003e,\n\u003ca href=\"https://github.com/sschuberth\"\u003eSebastian Schuberth\u003c/a\u003e,\n\u003ca href=\"https://github.com/seung-hun-h\"\u003eseunghun.ham\u003c/a\u003e,\n\u003ca href=\"https://github.com/sk-reddy17\"\u003esk-reddy17\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/VedantMadane\"\u003eVedant Madane\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.6.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew :wrapper --gradle-version=9.6.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.6.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.6.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.6.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/309d128bd9fe8c0b71311878fc660b9cbaa07c51\"\u003e\u003ccode\u003e309d128\u003c/code\u003e\u003c/a\u003e Update fixed issues in release notes for 9.6.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38328\"\u003e#38328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/040a978e74ceefbd408bd832fca23e1462fb34b7\"\u003e\u003ccode\u003e040a978\u003c/code\u003e\u003c/a\u003e Update fixed issues in release notes for 9.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e0b8325523e3ae1e93fe81da595a1fb1b66a6cce\"\u003e\u003ccode\u003ee0b8325\u003c/code\u003e\u003c/a\u003e Restore --non-interactive flag instead of --interactive/--no-interactive (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38\"\u003e#38\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/946f3e637ce0d8042a22a8096b9837a69607382e\"\u003e\u003ccode\u003e946f3e6\u003c/code\u003e\u003c/a\u003e Limit explicit temp file permission setting to intended use case (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38300\"\u003e#38300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/65f82246193da1bd8c7a087712c3c376aab1dd82\"\u003e\u003ccode\u003e65f8224\u003c/code\u003e\u003c/a\u003e Restore --non-interactive flag instead of --interactive/--no-interactive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e346a5ec9d5bbdb5a2478118651d22c19b121f39\"\u003e\u003ccode\u003ee346a5e\u003c/code\u003e\u003c/a\u003e Adjust CLI flag to configure non-interactive console (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38301\"\u003e#38301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9b53be9a1271e12ac5186f7148c5a15b85f1f1d6\"\u003e\u003ccode\u003e9b53be9\u003c/code\u003e\u003c/a\u003e Adjust CLI flag to configure non-interactive console\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0dd3b53bec1c03db4bb20b7cb401c948123c5db4\"\u003e\u003ccode\u003e0dd3b53\u003c/code\u003e\u003c/a\u003e Limit explicit temp file permission setting to intended use case\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/48e5ac210190a0e3a33083404eea77e4dbdf8918\"\u003e\u003ccode\u003e48e5ac2\u003c/code\u003e\u003c/a\u003e Add reproducers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/25598fd75cffa8034af51d399e2b4bf03ba4c7ab\"\u003e\u003ccode\u003e25598fd\u003c/code\u003e\u003c/a\u003e Prepare 9.6.1 patch release (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38293\"\u003e#38293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.12.0...v9.6.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-stdlib` from 2.1.20 to 2.4.10\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-stdlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.10\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-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\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-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.4.10-RC2\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-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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-stdlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.10\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\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-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\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\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/JetBrains/kotlin/commit/5687445832cd835b4509b9fbc264cdf1a8201093\"\u003e\u003ccode\u003e5687445\u003c/code\u003e\u003c/a\u003e Add Changelog for 2.4.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ba30392c459dd7c1ae74c1501e83453144416bc9\"\u003e\u003ccode\u003eba30392\u003c/code\u003e\u003c/a\u003e [Wasm] Support regenerate unchanged modules flag on KGP\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6307e7310d14eef05f199ebccd9518379772d3a7\"\u003e\u003ccode\u003e6307e73\u003c/code\u003e\u003c/a\u003e [Wasm] Implement Xwasm-IC-generate-unchanged-modules flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/39d7aee8470b7ce61fea8f76c317456e2756f7c0\"\u003e\u003ccode\u003e39d7aee\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/a2956bed85f99752b78881075665d81a82e98ab2\"\u003e\u003ccode\u003ea2956be\u003c/code\u003e\u003c/a\u003e [Gradle] Update karma.conf.js to use 'require(...)' instead plain strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9b1361ce7a6cfd2edd6f8cdb05198573fb839b61\"\u003e\u003ccode\u003e9b1361c\u003c/code\u003e\u003c/a\u003e [Gradle] KT-87223: Updated regression test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/a4c153af52ad4694c0cca14c25812db54b19f90e\"\u003e\u003ccode\u003ea4c153a\u003c/code\u003e\u003c/a\u003e [Gradle] KT-87223: Fix toochain to 2.4.0 for abiValidation compat config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/bc04b90d245cd27d8339fe51bd43a90dd4c04e9f\"\u003e\u003ccode\u003ebc04b90\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/bbcb94baa2eed1cc5ccb39147dcf5a5a184d7a14\"\u003e\u003ccode\u003ebbcb94b\u003c/code\u003e\u003c/a\u003e [CRI] explicitly disable CRI generation for non-JVM targets to avoid false-po...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6c2c458f1d2e4b4f8638fb16f12ff1dd375c4ae2\"\u003e\u003ccode\u003e6c2c458\u003c/code\u003e\u003c/a\u003e Scripting: fix jvmTarget processing from script annotations\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.20...v2.4.10\"\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-test` from 2.1.20 to 2.4.10\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-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.10\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-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\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-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.4.10-RC2\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-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.10\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\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-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\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\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/JetBrains/kotlin/commit/5687445832cd835b4509b9fbc264cdf1a8201093\"\u003e\u003ccode\u003e5687445\u003c/code\u003e\u003c/a\u003e Add Changelog for 2.4.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ba30392c459dd7c1ae74c1501e83453144416bc9\"\u003e\u003ccode\u003eba30392\u003c/code\u003e\u003c/a\u003e [Wasm] Support regenerate unchanged modules flag on KGP\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6307e7310d14eef05f199ebccd9518379772d3a7\"\u003e\u003ccode\u003e6307e73\u003c/code\u003e\u003c/a\u003e [Wasm] Implement Xwasm-IC-generate-unchanged-modules flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/39d7aee8470b7ce61fea8f76c317456e2756f7c0\"\u003e\u003ccode\u003e39d7aee\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/a2956bed85f99752b78881075665d81a82e98ab2\"\u003e\u003ccode\u003ea2956be\u003c/code\u003e\u003c/a\u003e [Gradle] Update karma.conf.js to use 'require(...)' instead plain strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9b1361ce7a6cfd2edd6f8cdb05198573fb839b61\"\u003e\u003ccode\u003e9b1361c\u003c/code\u003e\u003c/a\u003e [Gradle] KT-87223: Updated regression test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/a4c153af52ad4694c0cca14c25812db54b19f90e\"\u003e\u003ccode\u003ea4c153a\u003c/code\u003e\u003c/a\u003e [Gradle] KT-87223: Fix toochain to 2.4.0 for abiValidation compat config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/bc04b90d245cd27d8339fe51bd43a90dd4c04e9f\"\u003e\u003ccode\u003ebc04b90\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/bbcb94baa2eed1cc5ccb39147dcf5a5a184d7a14\"\u003e\u003ccode\u003ebbcb94b\u003c/code\u003e\u003c/a\u003e [CRI] explicitly disable CRI generation for non-JVM targets to avoid false-po...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6c2c458f1d2e4b4f8638fb16f12ff1dd375c4ae2\"\u003e\u003ccode\u003e6c2c458\u003c/code\u003e\u003c/a\u003e Scripting: fix jvmTarget processing from script annotations\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.20...v2.4.10\"\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.1.20 to 2.4.10\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.10\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-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\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-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.4.10-RC2\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-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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.10\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\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-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\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\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/JetBrains/kotlin/commit/5687445832cd835b4509b9fbc264cdf1a8201093\"\u003e\u003ccode\u003e5687445\u003c/code\u003e\u003c/a\u003e Add Changelog for 2.4.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ba30392c459dd7c1ae74c1501e83453144416bc9\"\u003e\u003ccode\u003eba30392\u003c/code\u003e\u003c/a\u003e [Wasm] Support regenerate unchanged modules flag on KGP\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6307e7310d14eef05f199ebccd9518379772d3a7\"\u003e\u003ccode\u003e6307e73\u003c/code\u003e\u003c/a\u003e [Wasm] Implement Xwasm-IC-generate-unchanged-modules flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/39d7aee8470b7ce61fea8f76c317456e2756f7c0\"\u003e\u003ccode\u003e39d7aee\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/a2956bed85f99752b78881075665d81a82e98ab2\"\u003e\u003ccode\u003ea2956be\u003c/code\u003e\u003c/a\u003e [Gradle] Update karma.conf.js to use 'require(...)' instead plain strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9b1361ce7a6cfd2edd6f8cdb05198573fb839b61\"\u003e\u003ccode\u003e9b1361c\u003c/code\u003e\u003c/a\u003e [Gradle] KT-87223: Updated regression test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/a4c153af52ad4694c0cca14c25812db54b19f90e\"\u003e\u003ccode\u003ea4c153a\u003c/code\u003e\u003c/a\u003e [Gradle] KT-87223: Fix toochain to 2.4.0 for abiValidation compat config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/bc04b90d245cd27d8339fe51bd43a90dd4c04e9f\"\u003e\u003ccode\u003ebc04b90\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/bbcb94baa2eed1cc5ccb39147dcf5a5a184d7a14\"\u003e\u003ccode\u003ebbcb94b\u003c/code\u003e\u003c/a\u003e [CRI] explicitly disable CRI generation for non-JVM targets to avoid false-po...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6c2c458f1d2e4b4f8638fb16f12ff1dd375c4ae2\"\u003e\u003ccode\u003e6c2c458\u003c/code\u003e\u003c/a\u003e Scripting: fix jvmTarget processing from script annotations\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.20...v2.4.10\"\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-allopen` from 2.1.20 to 2.4.10\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-allopen's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.10\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-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\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-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.4.10-RC2\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-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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-allopen's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.10\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\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-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\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\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/JetBrains/kotlin/commit/5687445832cd835b4509b9fbc264cdf1a8201093\"\u003e\u003ccode\u003e5687445\u003c/code\u003e\u003c/a\u003e Add Changelog for 2.4.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ba30392c459dd7c1ae74c1501e83453144416bc9\"\u003e\u003ccode\u003eba30392\u003c/code\u003e\u003c/a\u003e [Wasm] Support regenerate unchanged modules flag on KGP\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6307e7310d14eef05f199ebccd9518379772d3a7\"\u003e\u003cc...\n\n_Description has been truncated_","html_url":"https://github.com/nikolay-e/yay-tsa/pull/282","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikolay-e%2Fyay-tsa/issues/282","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/282/packages"},{"uuid":"4814090400","node_id":"PR_kwDOQtNs4s7uGAf6","number":16,"state":"open","title":"chore(deps): bump the maven-minor-patch group with 8 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-07-05T19:09:00.000Z","updated_at":"2026-07-05T19:09:00.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"maven-minor-patch","update_count":8,"packages":[{"name":"tools.jackson.core:jackson-core","old_version":"3.1.4","new_version":"3.2.0","repository_url":"https://github.com/FasterXML/jackson-core"},{"name":"tools.jackson.core:jackson-databind","old_version":"3.1.4","new_version":"3.2.0","repository_url":"https://github.com/FasterXML/jackson"},{"name":"io.sentry:sentry-spring-boot-starter-jakarta","old_version":"8.46.0","new_version":"8.47.0","repository_url":"https://github.com/getsentry/sentry-java"},{"name":"com.squareup.okhttp3:okhttp-jvm","old_version":"5.3.2","new_version":"5.4.0","repository_url":"https://github.com/square/okhttp"},{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.2.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.apache.commons:commons-lang3","old_version":"3.18.0","new_version":"3.20.0"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.3.0","new_version":"1.4.2","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"com.diffplug.spotless:spotless-maven-plugin","old_version":"3.7.0","new_version":"3.8.0","repository_url":"https://github.com/diffplug/spotless"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven-minor-patch group with 8 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [tools.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) | `3.1.4` | `3.2.0` |\n| [tools.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) | `3.1.4` | `3.2.0` |\n| [io.sentry:sentry-spring-boot-starter-jakarta](https://github.com/getsentry/sentry-java) | `8.46.0` | `8.47.0` |\n| [com.squareup.okhttp3:okhttp-jvm](https://github.com/square/okhttp) | `5.3.2` | `5.4.0` |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.4.0` |\n| org.apache.commons:commons-lang3 | `3.18.0` | `3.20.0` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.3.0` | `1.4.2` |\n| [com.diffplug.spotless:spotless-maven-plugin](https://github.com/diffplug/spotless) | `3.7.0` | `3.8.0` |\n\nUpdates `tools.jackson.core:jackson-core` from 3.1.4 to 3.2.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/d658b023b5def16c1abdb076ba43ca02806cf430\"\u003e\u003ccode\u003ed658b02\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/82a4d3192d07b1e26a49d3eb5d072c91d89f18ec\"\u003e\u003ccode\u003e82a4d31\u003c/code\u003e\u003c/a\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/ed252b6aba6f47ac672ebf84f944d1eb7e4221e0\"\u003e\u003ccode\u003eed252b6\u003c/code\u003e\u003c/a\u003e Prep for 3.2.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/f49fad1d9315f68fb3ec38205bbc7a2a86f0936f\"\u003e\u003ccode\u003ef49fad1\u003c/code\u003e\u003c/a\u003e Merge branch '3.1' into 3.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/42c673cd7eae25ba8f8e525ae9c7fa51ef1489da\"\u003e\u003ccode\u003e42c673c\u003c/code\u003e\u003c/a\u003e Merge branch '2.x' into 3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/76695905ee426fb5e126a321a807809dbb8916ce\"\u003e\u003ccode\u003e7669590\u003c/code\u003e\u003c/a\u003e Merge branch '2.22' into 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/492000443fcfc30bd97ae6a46d924120f39ce21c\"\u003e\u003ccode\u003e4920004\u003c/code\u003e\u003c/a\u003e Post-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/2bb55e8634c7fa1c197f995cdd4566ae7b7f4e0f\"\u003e\u003ccode\u003e2bb55e8\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-core/commit/d763562443cc9d6e224a6265ca3710195c813cf5\"\u003e\u003ccode\u003ed763562\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/e5c69fe5f7be957490d52dae70787e7a8138ddda\"\u003e\u003ccode\u003ee5c69fe\u003c/code\u003e\u003c/a\u003e Re-do 2.22.0 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-core/compare/jackson-core-3.1.4...jackson-core-3.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tools.jackson.core:jackson-databind` from 3.1.4 to 3.2.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/FasterXML/jackson/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tools.jackson.core:jackson-databind` from 3.1.4 to 3.2.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/FasterXML/jackson/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.sentry:sentry-spring-boot-starter-jakarta` from 8.46.0 to 8.47.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-java/releases\"\u003eio.sentry:sentry-spring-boot-starter-jakarta's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.47.0\u003c/h2\u003e\n\u003ch3\u003eBehavioral Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentryOkHttpInterceptor::intercept\u003c/code\u003e now throws \u003ccode\u003eIOException\u003c/code\u003e. This is a source-only and Java-only breaking change (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5654\"\u003e#5654\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't start a redundant UI interaction transaction when a transaction is already bound to the Scope (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5491\"\u003e#5491\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003ePreviously, \u003ccode\u003eSentryGestureListener\u003c/code\u003e always started a UI transaction and only afterwards skipped binding it to the Scope when a manually-bound transaction already existed, leaving the new transaction to be dropped as an idle transaction without children.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix potential NPE within \u003ccode\u003eScope.endSession()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5657\"\u003e#5657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix memory leak in \u003ccode\u003eReplayIntegration\u003c/code\u003e due to persisting executor not being shut down (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5627\"\u003e#5627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix AbstractMethodError when compose-ui 1.11+ is used in combination with \u003ccode\u003eModifier.sentryTag()\u003c/code\u003e or the Sentry Kotlin compiler plugin (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5672\"\u003e#5672\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up touch gesture target detection on deeply nested view hierarchies by hit-testing in local coordinates instead of calling \u003ccode\u003egetLocationOnScreen\u003c/code\u003e per view (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5595\"\u003e#5595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProbe class availability without initializing the class during SDK init (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5635\"\u003e#5635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid constructing an exception per view when resolving view ids during view-hierarchy and gesture capture (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5631\"\u003e#5631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStart the frame metrics thread lazily on first collection instead of during SDK init (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5641\"\u003e#5641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce \u003ccode\u003eSentryId\u003c/code\u003e and \u003ccode\u003eSpanId\u003c/code\u003e allocation overhead by replacing their per-instance \u003ccode\u003eLazyEvaluator\u003c/code\u003e (and its lock) with a lightweight lazily-generated \u003ccode\u003eString\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5645\"\u003e#5645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLazily allocate the \u003ccode\u003eReentrantLock\u003c/code\u003e backing \u003ccode\u003eAutoClosableReentrantLock\u003c/code\u003e to avoid eager lock allocations for SDK objects that never contend during \u003ccode\u003eSentryAndroid.init\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5643\"\u003e#5643\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/getsentry/sentry-java/blob/main/CHANGELOG.md\"\u003eio.sentry:sentry-spring-boot-starter-jakarta's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.47.0\u003c/h2\u003e\n\u003ch3\u003eBehavioral Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentryOkHttpInterceptor::intercept\u003c/code\u003e now throws \u003ccode\u003eIOException\u003c/code\u003e. This is a source-only and Java-only breaking change (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5654\"\u003e#5654\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix fragment tracing not working with detach/attach navigation (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5660\"\u003e#5660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't start a redundant UI interaction transaction when a transaction is already bound to the Scope (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5491\"\u003e#5491\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003ePreviously, \u003ccode\u003eSentryGestureListener\u003c/code\u003e always started a UI transaction and only afterwards skipped binding it to the Scope when a manually-bound transaction already existed, leaving the new transaction to be dropped as an idle transaction without children.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix potential NPE within \u003ccode\u003eScope.endSession()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5657\"\u003e#5657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix memory leak in \u003ccode\u003eReplayIntegration\u003c/code\u003e due to persisting executor not being shut down (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5627\"\u003e#5627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix AbstractMethodError when compose-ui 1.11+ is used in combination with \u003ccode\u003eModifier.sentryTag()\u003c/code\u003e or the Sentry Kotlin compiler plugin (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5672\"\u003e#5672\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up touch gesture target detection on deeply nested view hierarchies by hit-testing in local coordinates instead of calling \u003ccode\u003egetLocationOnScreen\u003c/code\u003e per view (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5595\"\u003e#5595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProbe class availability without initializing the class during SDK init (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5635\"\u003e#5635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid constructing an exception per view when resolving view ids during view-hierarchy and gesture capture (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5631\"\u003e#5631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStart the frame metrics thread lazily on first collection instead of during SDK init (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5641\"\u003e#5641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce \u003ccode\u003eSentryId\u003c/code\u003e and \u003ccode\u003eSpanId\u003c/code\u003e allocation overhead by replacing their per-instance \u003ccode\u003eLazyEvaluator\u003c/code\u003e (and its lock) with a lightweight lazily-generated \u003ccode\u003eString\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5645\"\u003e#5645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLazily allocate the \u003ccode\u003eReentrantLock\u003c/code\u003e backing \u003ccode\u003eAutoClosableReentrantLock\u003c/code\u003e to avoid eager lock allocations for SDK objects that never contend during \u003ccode\u003eSentryAndroid.init\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5643\"\u003e#5643\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/getsentry/sentry-java/commit/ac08f86d4a15996d553eceef3d1cdfbbfe6bcc32\"\u003e\u003ccode\u003eac08f86\u003c/code\u003e\u003c/a\u003e release: 8.47.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/844c3e85ea53e298315edb075db1fd39bfdd47f0\"\u003e\u003ccode\u003e844c3e8\u003c/code\u003e\u003c/a\u003e build: Suppress obsolete Java 8 option warning under JDK 21+ (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5664\"\u003e#5664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/ea2a517b565d0dc5c37a0e2f22f68324f0fc724f\"\u003e\u003ccode\u003eea2a517\u003c/code\u003e\u003c/a\u003e perf(core): Lazily allocate AutoClosableReentrantLock (JAVA-588) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5643\"\u003e#5643\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/4414d9f4cd5601bee4c95f72a868b2c1ddff1f80\"\u003e\u003ccode\u003e4414d9f\u003c/code\u003e\u003c/a\u003e build: Remove global per-test JVM heap cap (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5671\"\u003e#5671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/30862fca3f9c52541d12e1d966e19f22ed22d402\"\u003e\u003ccode\u003e30862fc\u003c/code\u003e\u003c/a\u003e fix(compose): add isImportantForBounds() to SentryTagModifierNode for compose...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/0980ed763492be856f205dabfea93f14e8942878\"\u003e\u003ccode\u003e0980ed7\u003c/code\u003e\u003c/a\u003e perf(core): Drop per-instance lock from SentryId and SpanId (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5645\"\u003e#5645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/d06126055527212a23f245ea8640d20b61bb5cd2\"\u003e\u003ccode\u003ed061260\u003c/code\u003e\u003c/a\u003e fix: guard executor shutdown in BaseCaptureStrategy.stop() (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5627\"\u003e#5627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/58b65f0fd57114f98e9f2bd4517e8ffae1d51e05\"\u003e\u003ccode\u003e58b65f0\u003c/code\u003e\u003c/a\u003e chore: Add PR template checkbox for cross sdk review on public API changes (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/307edcd968452d07d801c46362bf98f815fea808\"\u003e\u003ccode\u003e307edcd\u003c/code\u003e\u003c/a\u003e refactor: do not start redundant UI event transaction when one is already on ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/3859a2cc37716e2c8d9f149a0d94a1552f22c248\"\u003e\u003ccode\u003e3859a2c\u003c/code\u003e\u003c/a\u003e perf(android): Defer SentryFrameMetricsCollector thread startup (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5641\"\u003e#5641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.46.0...8.47.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.squareup.okhttp3:okhttp-jvm` from 5.3.2 to 5.4.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/square/okhttp/blob/master/CHANGELOG.md\"\u003ecom.squareup.okhttp3:okhttp-jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 5.4.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2026-06-08\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNew: Add superpowers to interceptors. Interceptors can now override anything settable on\n\u003ccode\u003eOkHttpClient.Builder\u003c/code\u003e, such as the cache, connection pool, socket factory, and DNS. We expect\nthis will allow most users to use interceptors everywhere, insted of mixing and matching\ninterceptors with custom \u003ccode\u003eCall.Factory\u003c/code\u003e wrappers.\u003c/li\u003e\n\u003cli\u003eFix: Limit each HTTP/2 response to 256 KiB of total headers.\u003c/li\u003e\n\u003cli\u003eUpgrade: [kotlinx.coroutines 1.11.0][coroutines_1_11_0]. This is used by the optional\n\u003ccode\u003eokhttp-coroutines\u003c/code\u003e artifact.\u003c/li\u003e\n\u003cli\u003eUpgrade: [GraalVM 25.0.3][graalvm_25].\u003c/li\u003e\n\u003cli\u003eUpgrade: [Okio 3.17.0][okio_3_17_0].\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/square/okhttp/commit/61423f472da24e0ccc42b6a2c0863fb27932fea5\"\u003e\u003ccode\u003e61423f4\u003c/code\u003e\u003c/a\u003e Prepare for release 5.4.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/d7e6effcb6852ca848b5f497032546b98b0a6370\"\u003e\u003ccode\u003ed7e6eff\u003c/code\u003e\u003c/a\u003e Update eclipse.osgi to v3.24.200 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9480\"\u003e#9480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/7a350986e3231a7b81cbfcc6e3c185327033422b\"\u003e\u003ccode\u003e7a35098\u003c/code\u003e\u003c/a\u003e Update bnd to v7.3.0 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9475\"\u003e#9475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/0c5a45b1174b8f735cc251eb19faaed87b65d868\"\u003e\u003ccode\u003e0c5a45b\u003c/code\u003e\u003c/a\u003e Update dependency com.puppycrawl.tools:checkstyle to v13.5.0 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9468\"\u003e#9468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/113ad17f70af6984a1a8b4d46024118e5409c44b\"\u003e\u003ccode\u003e113ad17\u003c/code\u003e\u003c/a\u003e Update dependency macos to v26 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9457\"\u003e#9457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/84f601af03d047eef3f4b2f0ca6b6f72303dcea1\"\u003e\u003ccode\u003e84f601a\u003c/code\u003e\u003c/a\u003e Update shadow.plugin to v9.4.2 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9466\"\u003e#9466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/7d463f4bcfca91e4466037f2c65c7c700545d64c\"\u003e\u003ccode\u003e7d463f4\u003c/code\u003e\u003c/a\u003e Update spotless.plugin to v8.6.0 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9464\"\u003e#9464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/3bf00f52921a0727bd18997cd92112dd2e582ed7\"\u003e\u003ccode\u003e3bf00f5\u003c/code\u003e\u003c/a\u003e Update plugin com.diffplug.spotless to v8.6.0 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9463\"\u003e#9463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/cfc45a3f146d2389797a3d51d405e9118bed56c9\"\u003e\u003ccode\u003ecfc45a3\u003c/code\u003e\u003c/a\u003e Update spotless.plugin to v8.5.1 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9456\"\u003e#9456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/81c5006e336c1cb67870694e38707e2c1c44fb34\"\u003e\u003ccode\u003e81c5006\u003c/code\u003e\u003c/a\u003e Apply gradle lint correctly (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9459\"\u003e#9459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/square/okhttp/compare/parent-5.3.2...parent-5.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-stdlib` from 2.2.21 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-stdlib'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-stdlib'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.2.21...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.apache.commons:commons-lang3` from 3.18.0 to 3.20.0\n\nUpdates `com.tngtech.archunit:archunit-junit5` from 1.3.0 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\u003ch2\u003eArchUnit 1.4.1\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 25 / class file major version 69 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1440\"\u003e#1440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport priorities in \u003ccode\u003eSlicesRuleDefinition\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1436\"\u003e#1436\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/guesshe\"\u003e\u003ccode\u003e@​guesshe\u003c/code\u003e\u003c/a\u003e 👏)\u003c/li\u003e\n\u003cli\u003eIgnore synthetic bridge methods in \u003ccode\u003eProxyRules\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1443\"\u003e#1443\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove documentation of slices rule (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1454\"\u003e#1454\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eInternal improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eReduce memory footprint of \u003ccode\u003eClassFileImporterSlowTest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1446\"\u003e#1446\u003c/a\u003e / \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1440\"\u003e#1440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eArchUnit 1.4.0\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 24 / class file major version 68 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1364\"\u003e#1364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLang\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove performance for transitive dependency checks (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1381\"\u003e#1381\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/To6i\"\u003e\u003ccode\u003e@​To6i\u003c/code\u003e\u003c/a\u003e 👏)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew \u003ccode\u003eGeneralCodingRules.OLD_DATE_AND_TIME_CLASSES_SHOULD_NOT_BE_USED\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1385\"\u003e#1385\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/Bukama\"\u003e\u003ccode\u003e@​Bukama\u003c/code\u003e\u003c/a\u003e 👏)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003eGeneralCodingRules.testClassesShouldResideInTheSamePackageAsImplementation\u003c/code\u003e to not fail for classes with no tests in their packages (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1368\"\u003e#1368\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/krzysztof-owczarek\"\u003e\u003ccode\u003e@​krzysztof-owczarek\u003c/code\u003e\u003c/a\u003e 👏)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eJUnit\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix failure when \u003ccode\u003ejunit.testFilter\u003c/code\u003e is used (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1361\"\u003e#1361\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/Sparkymann\"\u003e\u003ccode\u003e@​Sparkymann\u003c/code\u003e\u003c/a\u003e 👏)\u003c/li\u003e\n\u003cli\u003eEnable \u003ccode\u003e@AnalyzeClasses\u003c/code\u003e annotation to be used as meta annotation (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1300\"\u003e#1300\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/mathze\"\u003e\u003ccode\u003e@​mathze\u003c/code\u003e\u003c/a\u003e 👏)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix user guide describing wrong default behavior of \u003ccode\u003e@AnalyzeClasses\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1406\"\u003e#1406\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClarify Slices documentation (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1366\"\u003e#1366\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/mipo256\"\u003e\u003ccode\u003e@​mipo256\u003c/code\u003e\u003c/a\u003e 👏)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eInternal improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRun tests with JUnit Platform to pave the way to migrate to JUnit 5 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1294\"\u003e#1294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Gradle Wrapper from 7.6 to 8.12 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1392\"\u003e#1392\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/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.3.0...v1.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.diffplug.spotless:spotless-maven-plugin` from 3.7.0 to 3.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/diffplug/spotless/releases\"\u003ecom.diffplug.spotless:spotless-maven-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eMaven Plugin v3.8.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for custom string format for license header copyright year via \u003ccode\u003eyearStringFormat()\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2965\"\u003e#2965\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e\u0026lt;expandWildcardImports\u0026gt;\u003c/code\u003e no longer triggers a full transitive dependency resolution on every build. Dependency resolution is now deferred until the step actually runs, so projects that do not use \u003ccode\u003e\u0026lt;expandWildcardImports\u0026gt;\u003c/code\u003e (or that use version ranges) are no longer penalized. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2983\"\u003e#2983\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/diffplug/spotless/blob/main/CHANGES.md\"\u003ecom.diffplug.spotless:spotless-maven-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003espotless-lib and spotless-lib-extra releases\u003c/h1\u003e\n\u003cp\u003eIf you are a Spotless user (as opposed to developer), then you are probably looking for:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/blob/main/plugin-gradle/CHANGES.md\"\u003ehttps://github.com/diffplug/spotless/blob/main/plugin-gradle/CHANGES.md\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/blob/main/plugin-maven/CHANGES.md\"\u003ehttps://github.com/diffplug/spotless/blob/main/plugin-maven/CHANGES.md\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis document is intended for Spotless developers.\u003c/p\u003e\n\u003cp\u003eWe adhere to the \u003ca href=\"https://keepachangelog.com/en/1.0.0/\"\u003ekeepachangelog\u003c/a\u003e format (starting after version \u003ccode\u003e1.27.0\u003c/code\u003e).\u003c/p\u003e\n\u003ch2\u003e[Unreleased]\u003c/h2\u003e\n\u003ch2\u003e[4.8.0] - 2026-06-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for custom string format for license header copyright year via \u003ccode\u003eyearStringFormat()\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2965\"\u003e#2965\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.7.0] - 2026-06-16\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for AsciiDoc formatting via \u003ccode\u003eadocfmt\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2960\"\u003e#2960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflexmark\u003c/code\u003e step now supports arbitrary formatter options via a \u003ccode\u003eformatterOptions\u003c/code\u003e map. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2968\"\u003e#2968\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eFenceStep.preserveWithin\u003c/code\u003e now forwards lints from nested steps while still suppressing lints inside preserved blocks. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2962\"\u003e#2962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003ektfmt\u003c/code\u003e 0.63 and use its new builder API for formatting options to better avoid future breaking changes.\u003c/li\u003e\n\u003cli\u003eParse standard git year output in LicenseHeaderStep. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eStringIndexOutOfBoundsException\u003c/code\u003e in scenarios where copyright year is surrounded by whitespace. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2973\"\u003e#2973\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump default \u003ccode\u003egreclipse\u003c/code\u003e version to latest \u003ccode\u003e4.35\u003c/code\u003e -\u0026gt; \u003ccode\u003e4.39\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2924\"\u003e#2924\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.6.2] - 2026-05-27\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eP2Provisioner\u003c/code\u003e now passes cache directory overrides directly to Solstice. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2944\"\u003e#2944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eforbidWildcardImports\u003c/code\u003e and \u003ccode\u003eforbidModuleImports\u003c/code\u003e now detect imports that have leading whitespace (indentation/tabs). (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2939\"\u003e#2939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eversionCatalog\u003c/code\u003e step no longer splits long inline tables across multiple lines — Gradle's TOML 1.0 parser cannot read multi-line inline tables. The \u003ccode\u003emaxLineLength\u003c/code\u003e option has been removed. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2948\"\u003e#2948\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eEclipseJdtFormtterStep\u003c/code\u003e now can conditionally set compiler source/compliance options. Allows for better parsing of AST Node for newer language features and more correct sorting; e.g. records or seal classes. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2942\"\u003e#2942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFormatter\u003c/code\u003e no longer recomputes line-ending normalization (\u003ccode\u003eLineEnding.toUnix\u003c/code\u003e) a second time for every formatter step that changes content, removing redundant O(n) work from the core formatting loop. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2934\"\u003e#2934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpandWildcardImports support pom type dependency. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2839\"\u003e#2839\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.6.1] - 2026-05-15\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eLicenseHeaderStep\u003c/code\u003e in \u003ccode\u003eSET_FROM_GIT\u003c/code\u003e year mode no longer invokes \u003ccode\u003egit log\u003c/code\u003e through \u003ccode\u003ebash -c\u003c/code\u003e / \u003ccode\u003ecmd /c\u003c/code\u003e, eliminating a shell-injection vector when processing repositories that contain files whose names include shell metacharacters.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.6.0] - 2026-05-14\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003escalafmt()\u003c/code\u003e now reads the version from the \u003ccode\u003eversion\u003c/code\u003e field in the scalafmt config file when no version is explicitly set in the plugin config, falling back to the built-in default only if neither is available. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2922\"\u003e#2922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eversionCatalog\u003c/code\u003e step for formatting and sorting Gradle version catalog (\u003ccode\u003e.toml\u003c/code\u003e) files. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2916\"\u003e#2916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ejavaparserVersion\u003c/code\u003e option to the Cleanthat step, allowing callers to override the JavaParser version pulled in transitively by Cleanthat. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2903\"\u003e#2903\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\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/diffplug/spotless/commit/03d43ba2cdc81050e07b62646c08b22e39505368\"\u003e\u003ccode\u003e03d43ba\u003c/code\u003e\u003c/a\u003e Published maven/3.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/8b80c1388017f9b390fd9681007ba58a8c5d77f7\"\u003e\u003ccode\u003e8b80c13\u003c/code\u003e\u003c/a\u003e Published gradle/8.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/8ee6cf904ae77a4baec287132c69a63d4b5f4052\"\u003e\u003ccode\u003e8ee6cf9\u003c/code\u003e\u003c/a\u003e Published lib/4.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/6c02c0bf3fa0914206b28b2e9abec5e2061273e4\"\u003e\u003ccode\u003e6c02c0b\u003c/code\u003e\u003c/a\u003e Add missing changelog entry.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/264f4cc904ad85149a90822c0835c17a615cee8e\"\u003e\u003ccode\u003e264f4cc\u003c/code\u003e\u003c/a\u003e Add regression test for forbidWildcardImports inside toggleOffOn (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2982\"\u003e#2982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/6abb06449354899642d716dfb3daf67a888bac9b\"\u003e\u003ccode\u003e6abb064\u003c/code\u003e\u003c/a\u003e fix \u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2983\"\u003e#2983\u003c/a\u003e, expandWildcardImports triggers a full transitive reso… (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2984\"\u003e#2984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/f4536d41caebdda8201cdb126832ea96a75e5afe\"\u003e\u003ccode\u003ef4536d4\u003c/code\u003e\u003c/a\u003e Update plugin spotbugs to v6.5.8 (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2987\"\u003e#2987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/873454acbc24dd66a0d334f29b30d5dcb645cd0a\"\u003e\u003ccode\u003e873454a\u003c/code\u003e\u003c/a\u003e Update plugin spotbugs to v6.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/000b8a8f9f0398f60aeafee4d2fbd90a6a61b7f1\"\u003e\u003ccode\u003e000b8a8\u003c/code\u003e\u003c/a\u003e Update dependency org.junit.jupiter:junit-jupiter to v6.1.1 (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2985\"\u003e#2985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/84ebcab6a588c0ae7ddb8d883f5f60947e488e0a\"\u003e\u003ccode\u003e84ebcab\u003c/code\u003e\u003c/a\u003e Update dependency org.junit.jupiter:junit-jupiter to v6.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/diffplug/spotless/compare/maven/3.7.0...maven/3.8.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/haohaizi554/monkey-shop/pull/16","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/haohaizi554%2Fmonkey-shop/issues/16","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/16/packages"},{"uuid":"4620055477","node_id":"PR_kwDOPqJ4i87kRkU8","number":151,"state":"closed","title":"build(deps): bump the gradle group with 28 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-12T21:07:59.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-09T07:57:19.000Z","updated_at":"2026-06-12T21:08:01.000Z","time_to_close":306640,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"gradle","update_count":28,"packages":[{"name":"gradle-wrapper","old_version":"9.5.0","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"},{"name":"io.github.resilience4j:resilience4j-bom","old_version":"2.2.0","new_version":"2.4.0","repository_url":"https://github.com/resilience4j/resilience4j"},{"name":"org.testcontainers:testcontainers-bom","old_version":"1.21.4","new_version":"2.0.5","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"software.amazon.awssdk:s3","old_version":"2.25.36","new_version":"2.46.6"},{"name":"io.swagger.core.v3:swagger-annotations-jakarta","old_version":"2.2.41","new_version":"2.2.50"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-scalar","old_version":"3.0.1","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.springdoc:springdoc-openapi-starter-webflux-scalar","old_version":"3.0.1","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.projectlombok:lombok","old_version":"1.18.40","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"cn.hutool:hutool-core","old_version":"5.8.25","new_version":"5.8.46"},{"name":"cn.hutool:hutool-crypto","old_version":"5.8.25","new_version":"5.8.46","repository_url":"https://github.com/chinabugotech/hutool"},{"name":"com.google.guava:guava","old_version":"31.1-jre","new_version":"33.6.0-jre","repository_url":"https://github.com/google/guava"},{"name":"commons-net:commons-net","old_version":"3.11.1","new_version":"3.13.0","repository_url":"https://github.com/apache/commons-net"},{"name":"com.ibm.icu:icu4j","old_version":"76.1","new_version":"78.3","repository_url":"https://github.com/unicode-org/icu"},{"name":"org.jsoup:jsoup","old_version":"1.18.3","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.apache.rocketmq:rocketmq-spring-boot-starter","old_version":"2.3.1","new_version":"2.3.6","repository_url":"https://github.com/apache/rocketmq-spring"},{"name":"com.xuxueli:xxl-job-core","old_version":"3.2.0","new_version":"3.4.0","repository_url":"https://github.com/xuxueli/xxl-job"},{"name":"io.minio:minio","old_version":"8.5.7","new_version":"9.0.1","repository_url":"https://github.com/minio/minio-java"},{"name":"org.redisson:redisson-spring-boot-starter","old_version":"4.1.0","new_version":"4.5.0"},{"name":"org.junit.jupiter:junit-jupiter","old_version":"5.11.4","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.mockito:mockito-core","old_version":"5.15.2","new_version":"5.23.0","repository_url":"https://github.com/mockito/mockito"},{"name":"org.mockito:mockito-junit-jupiter","old_version":"5.15.2","new_version":"5.23.0","repository_url":"https://github.com/mockito/mockito"},{"name":"org.assertj:assertj-core","old_version":"3.27.3","new_version":"3.27.7","repository_url":"https://github.com/assertj/assertj"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.4.1","new_version":"1.4.2","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"org.awaitility:awaitility","old_version":"4.2.2","new_version":"4.3.0","repository_url":"https://github.com/awaitility/awaitility"},{"name":"org.objenesis:objenesis","old_version":"3.4","new_version":"3.5","repository_url":"https://github.com/easymock/objenesis"},{"name":"org.wiremock:wiremock-standalone","old_version":"3.10.0","new_version":"3.13.2","repository_url":"https://github.com/wiremock/wiremock"},{"name":"com.diffplug.spotless","old_version":"7.0.4","new_version":"8.6.0"},{"name":"com.github.spotbugs","old_version":"6.4.8","new_version":"6.5.5"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle group with 28 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.5.0` | `9.5.1` |\n| [io.github.resilience4j:resilience4j-bom](https://github.com/resilience4j/resilience4j) | `2.2.0` | `2.4.0` |\n| [org.testcontainers:testcontainers-bom](https://github.com/testcontainers/testcontainers-java) | `1.21.4` | `2.0.5` |\n| software.amazon.awssdk:s3 | `2.25.36` | `2.46.6` |\n| io.swagger.core.v3:swagger-annotations-jakarta | `2.2.41` | `2.2.50` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-scalar](https://github.com/springdoc/springdoc-openapi) | `3.0.1` | `3.0.3` |\n| [org.springdoc:springdoc-openapi-starter-webflux-scalar](https://github.com/springdoc/springdoc-openapi) | `3.0.1` | `3.0.3` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.40` | `1.18.46` |\n| cn.hutool:hutool-core | `5.8.25` | `5.8.46` |\n| [cn.hutool:hutool-crypto](https://github.com/chinabugotech/hutool) | `5.8.25` | `5.8.46` |\n| [com.google.guava:guava](https://github.com/google/guava) | `31.1-jre` | `33.6.0-jre` |\n| [commons-net:commons-net](https://github.com/apache/commons-net) | `3.11.1` | `3.13.0` |\n| [com.ibm.icu:icu4j](https://github.com/unicode-org/icu) | `76.1` | `78.3` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.18.3` | `1.22.2` |\n| [org.apache.rocketmq:rocketmq-spring-boot-starter](https://github.com/apache/rocketmq-spring) | `2.3.1` | `2.3.6` |\n| [com.xuxueli:xxl-job-core](https://github.com/xuxueli/xxl-job) | `3.2.0` | `3.4.0` |\n| [io.minio:minio](https://github.com/minio/minio-java) | `8.5.7` | `9.0.1` |\n| org.redisson:redisson-spring-boot-starter | `4.1.0` | `4.5.0` |\n| [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) | `5.11.4` | `6.1.0` |\n| [org.mockito:mockito-core](https://github.com/mockito/mockito) | `5.15.2` | `5.23.0` |\n| [org.mockito:mockito-junit-jupiter](https://github.com/mockito/mockito) | `5.15.2` | `5.23.0` |\n| [org.assertj:assertj-core](https://github.com/assertj/assertj) | `3.27.3` | `3.27.7` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.4.1` | `1.4.2` |\n| [org.awaitility:awaitility](https://github.com/awaitility/awaitility) | `4.2.2` | `4.3.0` |\n| [org.objenesis:objenesis](https://github.com/easymock/objenesis) | `3.4` | `3.5` |\n| [org.wiremock:wiremock-standalone](https://github.com/wiremock/wiremock) | `3.10.0` | `3.13.2` |\n| com.diffplug.spotless | `7.0.4` | `8.6.0` |\n| com.github.spotbugs | `6.4.8` | `6.5.5` |\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 `io.github.resilience4j:resilience4j-bom` from 2.2.0 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/resilience4j/resilience4j/releases\"\u003eio.github.resilience4j:resilience4j-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support of initializing circuitBreaker in desired state from config by \u003ca href=\"https://github.com/agarwalbharat\"\u003e\u003ccode\u003e@​agarwalbharat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2268\"\u003eresilience4j/resilience4j#2268\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2269\"\u003e#2269\u003c/a\u003e: Added getCausingRateLimiterName by \u003ca href=\"https://github.com/noomkram\"\u003e\u003ccode\u003e@​noomkram\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2270\"\u003eresilience4j/resilience4j#2270\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTime limiter registry builder by \u003ca href=\"https://github.com/darkius\"\u003e\u003ccode\u003e@​darkius\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2291\"\u003eresilience4j/resilience4j#2291\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue resilience4j#2285: Add HealthContributorAutoConfiguration to ConditionalOnClass by \u003ca href=\"https://github.com/obecker\"\u003e\u003ccode\u003e@​obecker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2286\"\u003eresilience4j/resilience4j#2286\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2278\"\u003e#2278\u003c/a\u003e: Added ThreadPoolBulkhead to some Decorators by \u003ca href=\"https://github.com/matsev\"\u003e\u003ccode\u003e@​matsev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2284\"\u003eresilience4j/resilience4j#2284\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect registry config in aspect by \u003ca href=\"https://github.com/darkius\"\u003e\u003ccode\u003e@​darkius\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2282\"\u003eresilience4j/resilience4j#2282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2285\"\u003e#2285\u003c/a\u003e - add configuration to move circuit breaker from half open to closed state by \u003ca href=\"https://github.com/victorpasqualino\"\u003e\u003ccode\u003e@​victorpasqualino\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2290\"\u003eresilience4j/resilience4j#2290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/cache from 4.0.2 to 4.2.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2252\"\u003eresilience4j/resilience4j#2252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove dependency on kotlin-stdlib-jdk8 from resilience4j-core by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2301\"\u003eresilience4j/resilience4j#2301\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBring back 'slidingWindow' with default synchronization strategy by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2302\"\u003eresilience4j/resilience4j#2302\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd withFallback() methods to DecorateFunction by \u003ca href=\"https://github.com/matsev\"\u003e\u003ccode\u003e@​matsev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2312\"\u003eresilience4j/resilience4j#2312\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2295\"\u003e#2295\u003c/a\u003e: Ensure ignoreExceptions take precedence over recordExceptions by \u003ca href=\"https://github.com/kssumin\"\u003e\u003ccode\u003e@​kssumin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2304\"\u003eresilience4j/resilience4j#2304\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix spring boot3 customizer application order by \u003ca href=\"https://github.com/alexey-grigorovich-savvymoney\"\u003e\u003ccode\u003e@​alexey-grigorovich-savvymoney\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2321\"\u003eresilience4j/resilience4j#2321\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(1910): update grafana dashboard by \u003ca href=\"https://github.com/JoranVanBelle\"\u003e\u003ccode\u003e@​JoranVanBelle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2318\"\u003eresilience4j/resilience4j#2318\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide key for components using SpEL for names by \u003ca href=\"https://github.com/doumdoum\"\u003e\u003ccode\u003e@​doumdoum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2329\"\u003eresilience4j/resilience4j#2329\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeature \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2224\"\u003e#2224\u003c/a\u003e : Bump jdk from 17 to 21 for support virtual thread by \u003ca href=\"https://github.com/ykhfree\"\u003e\u003ccode\u003e@​ykhfree\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2331\"\u003eresilience4j/resilience4j#2331\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing eventConsumerBufferSize merge for Retry config by \u003ca href=\"https://github.com/skowrxn\"\u003e\u003ccode\u003e@​skowrxn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2344\"\u003eresilience4j/resilience4j#2344\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2334\"\u003eGH-2334\u003c/a\u003e fix: reject TIME_BASED + LOCK_FREE when slidingWindowSize \u0026lt; 2 by \u003ca href=\"https://github.com/bandalgomsu\"\u003e\u003ccode\u003e@​bandalgomsu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2358\"\u003eresilience4j/resilience4j#2358\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add setter for bulkheadAspectOrder property by \u003ca href=\"https://github.com/NiMv1\"\u003e\u003ccode\u003e@​NiMv1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2386\"\u003eresilience4j/resilience4j#2386\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: Clarify Aspect Order defaults for Spring Boot 3 to prevent metric inflation by \u003ca href=\"https://github.com/GarimaBokdia\"\u003e\u003ccode\u003e@​GarimaBokdia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2387\"\u003eresilience4j/resilience4j#2387\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Spring Boot 4 / Spring Cloud 5 by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2384\"\u003eresilience4j/resilience4j#2384\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTimeLimiter, take success path when completing without error by \u003ca href=\"https://github.com/TheFrogAndy\"\u003e\u003ccode\u003e@​TheFrogAndy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2374\"\u003eresilience4j/resilience4j#2374\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd back OSGi meta data with bnd builder plugin by \u003ca href=\"https://github.com/chrisrueger\"\u003e\u003ccode\u003e@​chrisrueger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2385\"\u003eresilience4j/resilience4j#2385\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/536\"\u003e#536\u003c/a\u003e: Added best practices documentation for instance management by \u003ca href=\"https://github.com/fajrizulfikar\"\u003e\u003ccode\u003e@​fajrizulfikar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2389\"\u003eresilience4j/resilience4j#2389\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow to mock nanoTime in RateLimiter by \u003ca href=\"https://github.com/strokyl\"\u003e\u003ccode\u003e@​strokyl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2356\"\u003eresilience4j/resilience4j#2356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2397\"\u003e#2397\u003c/a\u003e: compile SPEL regex'es only once by \u003ca href=\"https://github.com/stokpop\"\u003e\u003ccode\u003e@​stokpop\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2398\"\u003eresilience4j/resilience4j#2398\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate publishing to use new Sonatype urls and add release workflow by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2393\"\u003eresilience4j/resilience4j#2393\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/1450\"\u003e#1450\u003c/a\u003e: Fixed Grafana dashboard metric query for call rate panel by \u003ca href=\"https://github.com/fajrizulfikar\"\u003e\u003ccode\u003e@​fajrizulfikar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2391\"\u003eresilience4j/resilience4j#2391\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/1448\"\u003e#1448\u003c/a\u003e: Fixed Duration property binding in Spring Boot 2 by \u003ca href=\"https://github.com/fajrizulfikar\"\u003e\u003ccode\u003e@​fajrizulfikar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2390\"\u003eresilience4j/resilience4j#2390\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2327\"\u003e#2327\u003c/a\u003e: Correct \u003ca href=\"https://github.com/see\"\u003e\u003ccode\u003e@​see\u003c/code\u003e\u003c/a\u003e tag usage in CircuitBreakerConfig Javadoc by \u003ca href=\"https://github.com/chanani\"\u003e\u003ccode\u003e@​chanani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2400\"\u003eresilience4j/resilience4j#2400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2368\"\u003e#2368\u003c/a\u003e: Fix Retry retryOnResult interrupt handling: throw CancellationException instead of NPE by \u003ca href=\"https://github.com/platanus-kr\"\u003e\u003ccode\u003e@​platanus-kr\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2392\"\u003eresilience4j/resilience4j#2392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in Spring aspect docs by \u003ca href=\"https://github.com/gukin-han\"\u003e\u003ccode\u003e@​gukin-han\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2399\"\u003eresilience4j/resilience4j#2399\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2354\"\u003eGH-2354\u003c/a\u003e Remove kotlin-stdlib from resilience4j-core by \u003ca href=\"https://github.com/josalmi\"\u003e\u003ccode\u003e@​josalmi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2359\"\u003eresilience4j/resilience4j#2359\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded CheckedSupplierUtils and deprecated CheckedFunctionUtils by \u003ca href=\"https://github.com/matsev\"\u003e\u003ccode\u003e@​matsev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2313\"\u003eresilience4j/resilience4j#2313\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse correct constant for initializing CircuitBreakerConfig.Builder.waitIntervalFunctionInOpenState by \u003ca href=\"https://github.com/obecker\"\u003e\u003ccode\u003e@​obecker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2402\"\u003eresilience4j/resilience4j#2402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded bulkhead name to BulkheadFullException by \u003ca href=\"https://github.com/dominic-miglar\"\u003e\u003ccode\u003e@​dominic-miglar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2349\"\u003eresilience4j/resilience4j#2349\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove unrelated flaky Clock test from CircuitBreakerEventTest by \u003ca href=\"https://github.com/KimDoubleB\"\u003e\u003ccode\u003e@​KimDoubleB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2409\"\u003eresilience4j/resilience4j#2409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded decorateFunction and executeFunction to TimeLimiter by \u003ca href=\"https://github.com/zbnerd\"\u003e\u003ccode\u003e@​zbnerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2407\"\u003eresilience4j/resilience4j#2407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2189\"\u003e#2189\u003c/a\u003e: Use snapshot reads for actuator event endpoints in Spring Boot 3/4 by \u003ca href=\"https://github.com/seokjun7410\"\u003e\u003ccode\u003e@​seokjun7410\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2406\"\u003eresilience4j/resilience4j#2406\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove log spam from tests by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2412\"\u003eresilience4j/resilience4j#2412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSet JDK target back to 17 by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2415\"\u003eresilience4j/resilience4j#2415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix release workflow: unquoted multi-line GPG key breaks Gradle invocation by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2416\"\u003eresilience4j/resilience4j#2416\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRead env variables from gradle for gpg key by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2417\"\u003eresilience4j/resilience4j#2417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable SNAPSHOT artifact signing from master by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2418\"\u003eresilience4j/resilience4j#2418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove sign skip on snapshot version by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2419\"\u003eresilience4j/resilience4j#2419\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/agarwalbharat\"\u003e\u003ccode\u003e@​agarwalbharat\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2268\"\u003eresilience4j/resilience4j#2268\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/resilience4j/resilience4j/blob/master/RELEASENOTES.adoc\"\u003eio.github.resilience4j:resilience4j-bom's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e= Release Notes\u003c/p\u003e\n\u003cp\u003e== Version 0.1.0\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial version\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.1.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded the functionality to add exceptions with are ignored by the CircuitBreaker\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.1.2\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded the feature to get Metrics for function executions\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.1.3\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a static factory method for the CircuitBreakerConfig builder\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.1.4\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded the feature to retry a failed function\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.1.5\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded builders to simplify chaining of decorators\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.1.6\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRenamed project to javaslang-circuitbreaker\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.1.7\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Issue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2\"\u003e#2\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/3\"\u003e#3\u003c/a\u003e Added a listener mechanism for state transitions\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e== Version 0.2.0\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved Dropwizard Metrics, because its a too heavy dependency for such a lightweight library.\u003c/li\u003e\n\u003cli\u003eChanged the way exceptions can be handled. You have to provide a Predicate now instead of a list of exceptions to ignore.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e== Version 0.3.0\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe CircuitBreaker is based on a Ring Bit Buffer and a failure rate now.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.3.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eChanged the visibility of CircuitBreakerUtils.isCallPermitted to public.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.3.2\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCircuitBreakerRegistry has a new method which takes a Supplier of a CircuitBreakerConfig so that the CircuitBreakerConfig is only created when needed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.3.3\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCircuitBreaker has a new method \u003ccode\u003e+getCircuitBreakerConfig+\u003c/code\u003e which allows to retrieve the CircuitBreakerConfig of the CircuitBreaker.\u003c/li\u003e\n\u003cli\u003eRenamed the state HALF_CLOSED to HALF_OPEN to match the pattern description of Martin Fowler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.3.4\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a Metrics interface to the CircuitBreaker which allows to retrieve current statistics like failureRate and number of buffer calls.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e== Version 0.4.0\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated javaslang from 2.0.0-RC4 to 2.0.1\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/resilience4j/resilience4j/commit/f1c3be8e79d09c70d457b2f89c3f89d03f1b5720\"\u003e\u003ccode\u003ef1c3be8\u003c/code\u003e\u003c/a\u003e Fix signing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/88a8293640244c2a3e3eac7767dabac99a67f2fc\"\u003e\u003ccode\u003e88a8293\u003c/code\u003e\u003c/a\u003e Enable signing for resilience4j-bom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/1ed88c202a93651a063b0f6e78055972c3da66b8\"\u003e\u003ccode\u003e1ed88c2\u003c/code\u003e\u003c/a\u003e Remove sign skip on snapshot version (\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2419\"\u003e#2419\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/ed637ecade5ef07b7601c44033aa51a62884e9d0\"\u003e\u003ccode\u003eed637ec\u003c/code\u003e\u003c/a\u003e Enable SNAPSHOT artifact signing from master (\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2418\"\u003e#2418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/d51bce10f37734ec9f13fe69e73edab28e2dd053\"\u003e\u003ccode\u003ed51bce1\u003c/code\u003e\u003c/a\u003e Read env variables from gradle for gpg key (\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2417\"\u003e#2417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/89baea75656027cdce4d69e521e0ea9f99d2ac0d\"\u003e\u003ccode\u003e89baea7\u003c/code\u003e\u003c/a\u003e Fix release workflow: unquoted multi-line GPG key breaks Gradle invocation (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/b888e8249e746bcb9b005f3a67326ad6d2dab55c\"\u003e\u003ccode\u003eb888e82\u003c/code\u003e\u003c/a\u003e Add GPG key and passphrase to build step\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/e9aedeeeccd0672fac64ecd3ee1712e4bda322a4\"\u003e\u003ccode\u003ee9aedee\u003c/code\u003e\u003c/a\u003e Revert JDK target back to 17 (\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2415\"\u003e#2415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/ad4efb8a3346e289e7913ef30422d5b984151ad1\"\u003e\u003ccode\u003ead4efb8\u003c/code\u003e\u003c/a\u003e Remove log spam from tests (\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2412\"\u003e#2412\u003c/a\u003e)4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/cd8f8e066f043d12267732d89a2a08aaa4b8d281\"\u003e\u003ccode\u003ecd8f8e0\u003c/code\u003e\u003c/a\u003e Issue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2189\"\u003e#2189\u003c/a\u003e: Use snapshot reads for actuator event endpoints in Spring Boot 3...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/resilience4j/resilience4j/compare/v2.2.0...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.testcontainers:testcontainers-bom` from 1.21.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-bom'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\u003ch2\u003e2.0.4\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/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/1.21.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 `software.amazon.awssdk:s3` from 2.25.36 to 2.46.6\n\nUpdates `io.swagger.core.v3:swagger-annotations-jakarta` from 2.2.41 to 2.2.50\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-scalar` from 3.0.1 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-scalar'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-scalar'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/v3.0.1...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.springdoc:springdoc-openapi-starter-webflux-scalar` from 3.0.1 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-webflux-scalar'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-webflux-scalar'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/v3.0.1...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.springdoc:springdoc-openapi-starter-webflux-scalar` from 3.0.1 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-webflux-scalar'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-webflux-scalar'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...\n\n_Description has been truncated_","html_url":"https://github.com/linqibin0826/patra/pull/151","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/linqibin0826%2Fpatra/issues/151","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/151/packages"},{"uuid":"4609731560","node_id":"PR_kwDOR-Qo087jvVfy","number":11,"state":"open","title":"chore(deps)(deps-dev): bump the test-tooling group across 1 directory with 2 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-08T03:10:59.000Z","updated_at":"2026-06-08T03:10:59.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps-dev): bump","group_name":"test-tooling","update_count":2,"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":"org.jacoco:jacoco-maven-plugin","old_version":"0.8.14","new_version":"0.8.15","repository_url":"https://github.com/jacoco/jacoco"}],"path":null,"ecosystem":"maven"},"body":"Bumps the test-tooling group with 2 updates in the / directory: [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) and [org.jacoco:jacoco-maven-plugin](https://github.com/jacoco/jacoco).\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 `org.jacoco:jacoco-maven-plugin` from 0.8.14 to 0.8.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jacoco/jacoco/releases\"\u003eorg.jacoco:jacoco-maven-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.8.15\u003c/h2\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eJaCoCo now officially supports Java 26 (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2076\"\u003e#2076\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eExperimental support for Java 27 class files (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2004\"\u003e#2004\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eCompatibility methods generated by Kotlin compiler for functions defined in interfaces are filtered out during generation of report (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/1905\"\u003e#1905\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eCompatibility methods generated by Kotlin compiler for exposed boxed inline value classes (JvmExposeBoxed annotation) are filtered out during generation of report (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/1944\"\u003e#1944\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMethods generated by the Kotlin compiler for functions with JvmStatic annotation are filtered out during generation of report (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2097\"\u003e#2097\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved filtering of bytecode generated by Kotlin compiler for when expressions and statements with kotlin.String subject where first branch condition contains string with largest hash (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2098\"\u003e#2098\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003ePart of bytecode that javac versions from 24 to 26 generate for switch statements and expressions with selector expression of type java.lang.String inside lambdas is filtered out during generation of report (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2023\"\u003e#2023\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved performance of Kotlin files analysis by parsing SMAPs only once per class (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2114\"\u003e#2114\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFor better performance agent output methods tcpclient and tcpserver use BufferedOutputStream to write execution data to socket. Maven plugin, Ant tasks, CLI, API usage examples, and ExecDumpClient API use BufferedInputStream to read execution data from socket. Third-party integrations should do the same to benefit from this change in agent (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2089\"\u003e#2089\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed bugs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed processing of Kotlin SMAP in synthetic classes (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/1985\"\u003e#1985\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMultiple JaCoCo runtimes within one JVM writing to the same output file should not cause data corruption when running on JDK versions from 6 to 10 affected by \u003ca href=\"https://bugs.openjdk.org/browse/JDK-8166253\"\u003eJDK-8166253\u003c/a\u003e (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2065\"\u003e#2065\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2074\"\u003e#2074\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFor better performance agent writes to output file via BufferedOutputStream, this fixes regression introduced in version 0.6.2 (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2073\"\u003e#2073\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed NullPointerException when JaCoCo agent is loaded by non system class loader, for example when loaded by JBoss Modules (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/1651\"\u003e#1651\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNon-functional Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eJaCoCo now depends on ASM 9.10.1 (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2134\"\u003e#2134\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/jacoco/jacoco/commit/6c5260a192eaa535e4a519771d530781cbac9136\"\u003e\u003ccode\u003e6c5260a\u003c/code\u003e\u003c/a\u003e Prepare release v0.8.15\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/5c05141431a7f064a804a923fbae11271241f116\"\u003e\u003ccode\u003e5c05141\u003c/code\u003e\u003c/a\u003e Transfer of execution data through socket should use buffered stream (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2089\"\u003e#2089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/ab5efa9d63c06899b2aec1d4a6099fc856132a22\"\u003e\u003ccode\u003eab5efa9\u003c/code\u003e\u003c/a\u003e Remove from Azure Pipelines all builds except with JDK 5 and JDK EA (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2148\"\u003e#2148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/5f6ea38f20ff4583deb4ab976571c853231f97c2\"\u003e\u003ccode\u003e5f6ea38\u003c/code\u003e\u003c/a\u003e Use Windows 2025 image in GitHub Actions (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2130\"\u003e#2130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/35a8af2cfc168ce51f2a3ea2d55d65f31e61c513\"\u003e\u003ccode\u003e35a8af2\u003c/code\u003e\u003c/a\u003e Use Renovate instead of Dependabot for updates of ASM (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2137\"\u003e#2137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/85b8ddf530821f75b3b26f5f96d03252286b3ad6\"\u003e\u003ccode\u003e85b8ddf\u003c/code\u003e\u003c/a\u003e Upgrade ASM to 9.10.1 (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2134\"\u003e#2134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/2988647ac37c3ad35a77b51d01b10a916b85627b\"\u003e\u003ccode\u003e2988647\u003c/code\u003e\u003c/a\u003e AgentModule should use ClassLoader of agent instead of SystemClassLoader (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/1651\"\u003e#1651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/75a4e31fed32f180fbe4593ad91ec5c176c0535b\"\u003e\u003ccode\u003e75a4e31\u003c/code\u003e\u003c/a\u003e Add filter for Kotlin \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/1944\"\u003e#1944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/691fa1d6a0dffa91f45daf0714f28bfdaa367fc0\"\u003e\u003ccode\u003e691fa1d\u003c/code\u003e\u003c/a\u003e Use Renovate instead of Dependabot for updates of GitHub Actions (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2132\"\u003e#2132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/3e18f17207bca0203b726ace460aa6be8d0f3dd4\"\u003e\u003ccode\u003e3e18f17\u003c/code\u003e\u003c/a\u003e Require at least JDK 21 for build (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2128\"\u003e#2128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jacoco/jacoco/compare/v0.8.14...v0.8.15\"\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/chrom/quarkus-ms-gold-template/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrom%2Fquarkus-ms-gold-template/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"}],"issue_packages":[{"old_version":"1.4.2","new_version":"1.5.0","update_type":"minor","path":null,"pr_created_at":"2026-09-07T02:11:31.000Z","version_change":"1.4.2 → 1.5.0","issue":{"uuid":"5369195890","node_id":"PR_kwDOST0KW88AAAABCc53zw","number":2689,"state":"open","title":"chore(deps): bump the backend-minor-and-patch group across 1 directory with 26 updates","user":"dependabot[bot]","labels":["dependencies","area:backend"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-09-07T02:11:31.000Z","updated_at":"2026-09-07T02:21:05.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"backend-minor-and-patch","update_count":26,"packages":[{"name":"io.quarkus.platform:quarkus-bom","old_version":"3.37.2","new_version":"3.39.2","repository_url":"https://github.com/quarkusio/quarkus-platform"},{"name":"io.quarkus.platform:quarkus-maven-plugin","old_version":"3.37.2","new_version":"3.39.2","repository_url":"https://github.com/quarkusio/quarkus-platform"},{"name":"org.hibernate.orm:hibernate-spatial","old_version":"7.4.5.Final","new_version":"7.4.7.Final","repository_url":"https://github.com/hibernate/hibernate-orm"},{"name":"org.junit.jupiter:junit-jupiter","old_version":"6.1.2","new_version":"6.1.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.jupiter:junit-jupiter-params","old_version":"6.1.2","new_version":"6.1.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"nl.jqno.equalsverifier:equalsverifier","old_version":"4.5","new_version":"4.5.2","repository_url":"https://github.com/jqno/equalsverifier"},{"name":"org.neo4j:neo4j-ogm-core","old_version":"5.0.7","new_version":"5.0.9","repository_url":"https://github.com/neo4j/neo4j-ogm"},{"name":"org.neo4j:neo4j-ogm-bolt-driver","old_version":"5.0.7","new_version":"5.0.9","repository_url":"https://github.com/neo4j/neo4j-ogm"},{"name":"org.neo4j:neo4j-cypher-dsl","old_version":"2025.3.0","new_version":"2025.3.1","repository_url":"https://github.com/neo4j/cypher-dsl"},{"name":"eu.michael-simons.neo4j:neo4j-migrations","old_version":"4.1.2","new_version":"4.1.3","repository_url":"https://github.com/michael-simons/neo4j-migrations"},{"name":"org.projectlombok:lombok","old_version":"1.18.46","new_version":"1.18.48","repository_url":"https://github.com/projectlombok/lombok"},{"name":"edu.kit.datamanager:ro-crate-java","old_version":"2.1.1","new_version":"2.1.2","repository_url":"https://github.com/kit-data-manager/ro-crate-java"},{"name":"io.quarkiverse.wiremock:quarkus-wiremock-test","old_version":"1.6.3","new_version":"1.7.0","repository_url":"https://github.com/quarkiverse/quarkus-wiremock"},{"name":"org.jsoup:jsoup","old_version":"1.22.2","new_version":"1.23.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.4.2","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"org.commonmark:commonmark","old_version":"0.29.0","new_version":"0.30.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"org.commonmark:commonmark-ext-gfm-tables","old_version":"0.29.0","new_version":"0.30.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"org.commonmark:commonmark-ext-gfm-strikethrough","old_version":"0.29.0","new_version":"0.30.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"org.commonmark:commonmark-ext-task-list-items","old_version":"0.29.0","new_version":"0.30.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"com.twelvemonkeys.imageio:imageio-tiff","old_version":"3.13.1","new_version":"3.14.0"},{"name":"org.apache.maven.plugins:maven-compiler-plugin","old_version":"3.15.0","new_version":"3.16.0","repository_url":"https://github.com/apache/maven-compiler-plugin"},{"name":"org.apache.maven.plugins:maven-surefire-plugin","old_version":"3.5.6","new_version":"3.6.0","repository_url":"https://github.com/apache/maven-surefire"},{"name":"org.apache.maven.plugins:maven-failsafe-plugin","old_version":"3.5.6","new_version":"3.6.0","repository_url":"https://github.com/apache/maven-surefire"},{"name":"com.github.spotbugs:spotbugs-maven-plugin","old_version":"4.10.3.0","new_version":"4.10.4.0","repository_url":"https://github.com/spotbugs/spotbugs-maven-plugin"},{"name":"org.apache.maven.plugins:maven-jar-plugin","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/apache/maven-jar-plugin"},{"name":"org.apache.maven:apache-maven","old_version":"3.9.12","new_version":"3.9.16"}],"path":null,"ecosystem":"maven"},"body":"Bumps the backend-minor-and-patch group with 26 updates in the /backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [io.quarkus.platform:quarkus-bom](https://github.com/quarkusio/quarkus-platform) | `3.37.2` | `3.39.2` |\n| [io.quarkus.platform:quarkus-maven-plugin](https://github.com/quarkusio/quarkus-platform) | `3.37.2` | `3.39.2` |\n| [org.hibernate.orm:hibernate-spatial](https://github.com/hibernate/hibernate-orm) | `7.4.5.Final` | `7.4.7.Final` |\n| [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) | `6.1.2` | `6.1.3` |\n| [org.junit.jupiter:junit-jupiter-params](https://github.com/junit-team/junit-framework) | `6.1.2` | `6.1.3` |\n| [nl.jqno.equalsverifier:equalsverifier](https://github.com/jqno/equalsverifier) | `4.5` | `4.5.2` |\n| [org.neo4j:neo4j-ogm-core](https://github.com/neo4j/neo4j-ogm) | `5.0.7` | `5.0.9` |\n| [org.neo4j:neo4j-ogm-bolt-driver](https://github.com/neo4j/neo4j-ogm) | `5.0.7` | `5.0.9` |\n| [org.neo4j:neo4j-cypher-dsl](https://github.com/neo4j/cypher-dsl) | `2025.3.0` | `2025.3.1` |\n| [eu.michael-simons.neo4j:neo4j-migrations](https://github.com/michael-simons/neo4j-migrations) | `4.1.2` | `4.1.3` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.46` | `1.18.48` |\n| [edu.kit.datamanager:ro-crate-java](https://github.com/kit-data-manager/ro-crate-java) | `2.1.1` | `2.1.2` |\n| [io.quarkiverse.wiremock:quarkus-wiremock-test](https://github.com/quarkiverse/quarkus-wiremock) | `1.6.3` | `1.7.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.2` | `1.23.2` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.4.2` | `1.5.0` |\n| [org.commonmark:commonmark](https://github.com/commonmark/commonmark-java) | `0.29.0` | `0.30.0` |\n| [org.commonmark:commonmark-ext-gfm-tables](https://github.com/commonmark/commonmark-java) | `0.29.0` | `0.30.0` |\n| [org.commonmark:commonmark-ext-gfm-strikethrough](https://github.com/commonmark/commonmark-java) | `0.29.0` | `0.30.0` |\n| [org.commonmark:commonmark-ext-task-list-items](https://github.com/commonmark/commonmark-java) | `0.29.0` | `0.30.0` |\n| com.twelvemonkeys.imageio:imageio-tiff | `3.13.1` | `3.14.0` |\n| [org.apache.maven.plugins:maven-compiler-plugin](https://github.com/apache/maven-compiler-plugin) | `3.15.0` | `3.16.0` |\n| [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) | `3.5.6` | `3.6.0` |\n| [org.apache.maven.plugins:maven-failsafe-plugin](https://github.com/apache/maven-surefire) | `3.5.6` | `3.6.0` |\n| [com.github.spotbugs:spotbugs-maven-plugin](https://github.com/spotbugs/spotbugs-maven-plugin) | `4.10.3.0` | `4.10.4.0` |\n| [org.apache.maven.plugins:maven-jar-plugin](https://github.com/apache/maven-jar-plugin) | `3.5.0` | `3.5.1` |\n| org.apache.maven:apache-maven | `3.9.12` | `3.9.16` |\n\n\nUpdates `io.quarkus.platform:quarkus-bom` from 3.37.2 to 3.39.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/c5a15405a974a213bafd9c36272c1b8adc95dd9f\"\u003e\u003ccode\u003ec5a1540\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release 3.39.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/e67c344efb87f0ecac274d1ea2e4b6c7f8cb8fec\"\u003e\u003ccode\u003ee67c344\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2167\"\u003e#2167\u003c/a\u003e from quarkusio/quarkus-3.39.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/65f855424f9ada9c8eb7310dc84de95c0f3fc550\"\u003e\u003ccode\u003e65f8554\u003c/code\u003e\u003c/a\u003e Upgrade to Quarkus 3.39.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/be4411eff3ddfb34a60f7938464e2cdc67ece9fa\"\u003e\u003ccode\u003ebe4411e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2166\"\u003e#2166\u003c/a\u003e from quarkusio/update-automation/3.39-quarkus-flow-1...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/9e2f4e08f2c735d2a4d079960d1e604ebf5519ef\"\u003e\u003ccode\u003e9e2f4e0\u003c/code\u003e\u003c/a\u003e Update Quarkus Flow to 1.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/c8091c3488f78fe05b274af9e17bcceceb83437e\"\u003e\u003ccode\u003ec8091c3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2164\"\u003e#2164\u003c/a\u003e from quarkusio/update-automation/3.39-debezium-3.6.2...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/898de01e3df7e1460da9167b712c6aac58c2fb78\"\u003e\u003ccode\u003e898de01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2159\"\u003e#2159\u003c/a\u003e from quarkusio/update-automation/3.39-langchain4j-1....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/7def8e242c7e7c49c073610ffaeebcd7676d0c28\"\u003e\u003ccode\u003e7def8e2\u003c/code\u003e\u003c/a\u003e Update LangChain4j to 1.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/9252645a0d9204ec2a3cc799369dcec6f2ee0ca9\"\u003e\u003ccode\u003e9252645\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2162\"\u003e#2162\u003c/a\u003e from gsmet/3.39-mcpserver-2.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/020bdff01eb31ef2867333cd8ee3fe7f5ba88f29\"\u003e\u003ccode\u003e020bdff\u003c/code\u003e\u003c/a\u003e Update Debezium to 3.6.2.Final\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/quarkusio/quarkus-platform/compare/3.37.2...3.39.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.quarkus.platform:quarkus-maven-plugin` from 3.37.2 to 3.39.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/c5a15405a974a213bafd9c36272c1b8adc95dd9f\"\u003e\u003ccode\u003ec5a1540\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release 3.39.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/e67c344efb87f0ecac274d1ea2e4b6c7f8cb8fec\"\u003e\u003ccode\u003ee67c344\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2167\"\u003e#2167\u003c/a\u003e from quarkusio/quarkus-3.39.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/65f855424f9ada9c8eb7310dc84de95c0f3fc550\"\u003e\u003ccode\u003e65f8554\u003c/code\u003e\u003c/a\u003e Upgrade to Quarkus 3.39.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/be4411eff3ddfb34a60f7938464e2cdc67ece9fa\"\u003e\u003ccode\u003ebe4411e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2166\"\u003e#2166\u003c/a\u003e from quarkusio/update-automation/3.39-quarkus-flow-1...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/9e2f4e08f2c735d2a4d079960d1e604ebf5519ef\"\u003e\u003ccode\u003e9e2f4e0\u003c/code\u003e\u003c/a\u003e Update Quarkus Flow to 1.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/c8091c3488f78fe05b274af9e17bcceceb83437e\"\u003e\u003ccode\u003ec8091c3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2164\"\u003e#2164\u003c/a\u003e from quarkusio/update-automation/3.39-debezium-3.6.2...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/898de01e3df7e1460da9167b712c6aac58c2fb78\"\u003e\u003ccode\u003e898de01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2159\"\u003e#2159\u003c/a\u003e from quarkusio/update-automation/3.39-langchain4j-1....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/7def8e242c7e7c49c073610ffaeebcd7676d0c28\"\u003e\u003ccode\u003e7def8e2\u003c/code\u003e\u003c/a\u003e Update LangChain4j to 1.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/9252645a0d9204ec2a3cc799369dcec6f2ee0ca9\"\u003e\u003ccode\u003e9252645\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2162\"\u003e#2162\u003c/a\u003e from gsmet/3.39-mcpserver-2.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/020bdff01eb31ef2867333cd8ee3fe7f5ba88f29\"\u003e\u003ccode\u003e020bdff\u003c/code\u003e\u003c/a\u003e Update Debezium to 3.6.2.Final\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/quarkusio/quarkus-platform/compare/3.37.2...3.39.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.hibernate.orm:hibernate-spatial` from 7.4.5.Final to 7.4.7.Final\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hibernate/hibernate-orm/releases\"\u003eorg.hibernate.orm:hibernate-spatial's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 7.4.7\u003c/h2\u003e\n\u003ch1\u003eHibernate ORM 7.4.7.Final released\u003c/h1\u003e\n\u003cp\u003eToday, we published a new release of Hibernate ORM 7.4: 7.4.7.Final.\u003c/p\u003e\n\u003cp\u003eYou can find the full list of 7.4.7.Final changes \u003ca href=\"https://hibernate.atlassian.net/issues/?jql=project%20%3D%20HHH%20AND%20fixVersion%20%3D%207.4.7\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's new\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSee the \u003ca href=\"https://hibernate.org/orm/releases/7.4\"\u003ewebsite\u003c/a\u003e for requirements and compatibilities.\u003c/li\u003e\n\u003cli\u003eSee the \u003ca href=\"https://docs.hibernate.org/orm/7.4/whats-new/whats-new.html\"\u003eWhat's New\u003c/a\u003e guide for details about new features and capabilities.\u003c/li\u003e\n\u003cli\u003eSee the \u003ca href=\"https://docs.hibernate.org/orm/7.4/migration-guide/\"\u003eMigration Guide\u003c/a\u003e for details about migration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eConclusion\u003c/h2\u003e\n\u003cp\u003eFor additional details, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ethe \u003ca href=\"https://hibernate.org/orm/releases/7.4/\"\u003erelease page\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ethe \u003ca href=\"https://docs.hibernate.org/orm/7.4/migration-guide/\"\u003eMigration Guide\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ethe \u003ca href=\"https://docs.hibernate.org/orm/7.4/introduction/html_single/\"\u003eIntroduction Guide\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ethe \u003ca href=\"https://docs.hibernate.org/orm/7.4/userguide/html_single/\"\u003eUser Guide\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ethe \u003ca href=\"https://docs.hibernate.org/orm/7.4/javadocs\"\u003eAPI docs\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee also the following resources related to supported APIs:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ethe \u003ca href=\"https://hibernate.org/community/compatibility-policy/\"\u003ecompatibility policy\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ethe \u003ca href=\"https://docs.hibernate.org/orm/7.4/incubating/incubating.txt\"\u003eincubating API report\u003c/a\u003e (\u003ccode\u003e@Incubating\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ethe \u003ca href=\"https://docs.hibernate.org/orm/7.4/deprecated/deprecated.txt\"\u003edeprecated API report\u003c/a\u003e (\u003ccode\u003e@Deprecated\u003c/code\u003e + \u003ccode\u003e@Remove\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ethe \u003ca href=\"https://docs.hibernate.org/orm/7.4/internals/internal.txt\"\u003einternal API report\u003c/a\u003e (internal packages, \u003ccode\u003e@Internal\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVisit the \u003ca href=\"https://hibernate.org/community/\"\u003ewebsite\u003c/a\u003e for details on getting in touch with us.\u003c/p\u003e\n\u003ch2\u003eRelease 7.4.6\u003c/h2\u003e\n\u003ch1\u003eHibernate ORM 7.4.6.Final released\u003c/h1\u003e\n\u003cp\u003eToday, we published a new release of Hibernate ORM 7.4: 7.4.6.Final.\u003c/p\u003e\n\u003cp\u003eYou can find the full list of 7.4.6.Final changes \u003ca href=\"https://hibernate.atlassian.net/issues/?jql=project%20%3D%20HHH%20AND%20fixVersion%20%3D%207.4.6\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's new\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSee the \u003ca href=\"https://hibernate.org/orm/releases/7.4\"\u003ewebsite\u003c/a\u003e for requirements and compatibilities.\u003c/li\u003e\n\u003cli\u003eSee the \u003ca href=\"https://docs.hibernate.org/orm/7.4/whats-new/whats-new.html\"\u003eWhat's New\u003c/a\u003e guide for details about new features and capabilities.\u003c/li\u003e\n\u003cli\u003eSee the \u003ca href=\"https://docs.hibernate.org/orm/7.4/migration-guide/\"\u003eMigration Guide\u003c/a\u003e for details about migration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eConclusion\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/hibernate/hibernate-orm/blob/7.4.7/changelog.txt\"\u003eorg.hibernate.orm:hibernate-spatial's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges in 7.4.7.Final (August 30, 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://hibernate.atlassian.net/projects/HHH/versions/40441\"\u003ehttps://hibernate.atlassian.net/projects/HHH/versions/40441\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e** Bug\n* HHH-20773 \u003ca href=\"https://github.com/Basic\"\u003e\u003ccode\u003e@​Basic\u003c/code\u003e\u003c/a\u003e(fetch=LAZY) field not served from 2LC for \u003ca href=\"https://github.com/Immutable\"\u003e\u003ccode\u003e@​Immutable\u003c/code\u003e\u003c/a\u003e entities with associations\n* HHH-20720 Hibernate processor: \u003ca href=\"https://github.com/Transactional\"\u003e\u003ccode\u003e@​Transactional\u003c/code\u003e\u003c/a\u003e annotation should be copied for all repositories, not just Jakarta Data\n* HHH-20718 Invalid SQL when a to-one foreign key references an ancestor table in a JOINED hierarchy\u003c/p\u003e\n\u003cp\u003e** Improvement\n* HHH-17990 More advanced \u0026quot;proxy\u0026quot; classes (and tests) for session/statelessSession for use in other libraries\u003c/p\u003e\n\u003ch2\u003eChanges in 7.4.6.Final (August 23, 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://hibernate.atlassian.net/projects/HHH/versions/40133\"\u003ehttps://hibernate.atlassian.net/projects/HHH/versions/40133\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e** Bug\n* HHH-20788 [Quarkus 3.20.5 / Hibernate ORM 6.6.40.Final] quarkus.otel.logs.enabled=true fails SessionFactory build for TABLE_PER_CLASS collections\n* HHH-20783 hibernate.transactions{result=\u0026quot;failure\u0026quot;} metric can transiently go negative due to non-atomic counter reads, breaking the whole Prometheus scrape on Micrometer 1.14+\n* HHH-20779 Envers: unwrap proxies in collection-change audit work units\n* HHH-20776 CriteriaBuilder.literal() mistypes an enum constant declared with a class body\n* HHH-20772 ARRAY_AGG column in Jakarta Data query method cannot be mapped to result type property\n* HHH-20743 \u003ccode\u003ehibernate-maven-plugin\u003c/code\u003e \u003ccode\u003eenhance\u003c/code\u003e goal computes wrong class names when \u003ccode\u003efileSets\u003c/code\u003e directory differs from \u003ccode\u003eclassesDirectory\u003c/code\u003e\n* HHH-20707 Missing import for inner interface type in CDI accessor metamodel methods\n* HHH-20696 Implicit name of list index columns not applied by MetadataBuilder\n* HHH-20661 HQL UNION fails when unioning java.util.Date from different attribute paths\n* HHH-20624 StackOverflowError when creating entity manager with attribute converter hierarchy with generic parameter\n* HHH-20515 Adjust default for SessionCheckMode on Session.findMultiple()\n* HHH-20472 Generated metamodel class missing \u003ccode\u003eList\u003c/code\u003e import\n* HHH-20452 \u003ca href=\"https://github.com/OneToMany\"\u003e\u003ccode\u003e@​OneToMany\u003c/code\u003e\u003c/a\u003e mapping silently dropped when orm.xml contributes a partial overlay (entity-listeners only) to an entity whose \u003ca href=\"https://github.com/Id\"\u003e\u003ccode\u003e@​Id\u003c/code\u003e\u003c/a\u003e is inherited from a \u003ca href=\"https://github.com/MappedSuperclass\"\u003e\u003ccode\u003e@​MappedSuperclass\u003c/code\u003e\u003c/a\u003e\n* HHH-20438 Basic-array body predicates fail with AssertionError from SqmMappingModelHelper.resolveSqmPath\n* HHH-20348 \u003ccode\u003eDataException\u003c/code\u003e / \u003ccode\u003eClassCastException\u003c/code\u003e when aggregating primitive\u003c/p\u003e\n\u003cp\u003e** Task\n* HHH-20736 Tune the content of javadocs to reduce the size of files published to Maven Central\n* HHH-20710 Update to hibernate-models 1.1.2\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/hibernate/hibernate-orm/commit/2897b69e049723d67794228b435af54cd78a6473\"\u003e\u003ccode\u003e2897b69\u003c/code\u003e\u003c/a\u003e [Jenkins release job] Preparing release 7.4.7.Final\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/a3687506926f19e53bc309a7cd183878f644047e\"\u003e\u003ccode\u003ea368750\u003c/code\u003e\u003c/a\u003e [Jenkins release job] changelog.txt updated by release build 7.4.7.Final\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/ae2a193c8274274baa0ad7b804022b952d6403bf\"\u003e\u003ccode\u003eae2a193\u003c/code\u003e\u003c/a\u003e HHH-20720 Guard inheritedAnnotations() on CDI availability and rename addDepe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/88ff40a16c16a6423937d4c9cb32fba94e8f2a00\"\u003e\u003ccode\u003e88ff40a\u003c/code\u003e\u003c/a\u003e HHH-20720 Copy \u003ca href=\"https://github.com/InterceptorBinding\"\u003e\u003ccode\u003e@​InterceptorBinding\u003c/code\u003e\u003c/a\u003e annotations for all repository types, not ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/e68da2dd2e2b26dc5977be5942a80c53227146e9\"\u003e\u003ccode\u003ee68da2d\u003c/code\u003e\u003c/a\u003e HHH-17990 - Create a helper class SPI for decorating a StatelessSession insta...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/15dc1ab51e99c844d5b98481fa234efd1419792b\"\u003e\u003ccode\u003e15dc1ab\u003c/code\u003e\u003c/a\u003e HHH-20718 Retain superclass table join for to-one FK targets on a JOINED hier...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/5d86a968ec8d6a63654a5c681d5a2a4b7ac60f93\"\u003e\u003ccode\u003e5d86a96\u003c/code\u003e\u003c/a\u003e HHH-20773 Resolve UNFETCHED_PROPERTY for initialized lazy fields during 2LC d...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/39a5fb003774386a6c6db72e96aa193c1f9cb9e1\"\u003e\u003ccode\u003e39a5fb0\u003c/code\u003e\u003c/a\u003e [Jenkins release job] Preparing next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/43e2e9a1a537bfa1862e98981fc0c9a37f20ced8\"\u003e\u003ccode\u003e43e2e9a\u003c/code\u003e\u003c/a\u003e [Jenkins release job] Preparing release 7.4.6.Final\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/cd34e60c213b92bf172bfcbaa41ee5e21b5d67fd\"\u003e\u003ccode\u003ecd34e60\u003c/code\u003e\u003c/a\u003e [Jenkins release job] changelog.txt updated by release build 7.4.6.Final\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hibernate/hibernate-orm/compare/7.4.5...7.4.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.jupiter:junit-jupiter` from 6.1.2 to 6.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.jupiter:junit-jupiter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.3 = Platform 6.1.3 + Jupiter 6.1.3 + Vintage 6.1.3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.3/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\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/junit-team/junit-framework/commit/f59f60d2cebdf2224235d81f781b1f310cbc8138\"\u003e\u003ccode\u003ef59f60d\u003c/code\u003e\u003c/a\u003e Release 6.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/cd8ec9202ce8260a434edb38a8565e36f620e8d6\"\u003e\u003ccode\u003ecd8ec92\u003c/code\u003e\u003c/a\u003e Finalize 6.1.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/c8729f26aacd8e2dd6fa564b929fe047faaa7dc9\"\u003e\u003ccode\u003ec8729f2\u003c/code\u003e\u003c/a\u003e Restore compatibility with GraalVM 25 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5901\"\u003e#5901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/ddc9e74e5d21c2dd18bc0cfe4681d5ff50ac379c\"\u003e\u003ccode\u003eddc9e74\u003c/code\u003e\u003c/a\u003e Update graalvm/setup-graalvm action to v1.6.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5959\"\u003e#5959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/fe2c52a780fcbda6c7ccf5d6576beb7ad2d80bf8\"\u003e\u003ccode\u003efe2c52a\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.7 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5923\"\u003e#5923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/62afc02b541ee9dfa16b121705f79b7d44f4dae0\"\u003e\u003ccode\u003e62afc02\u003c/code\u003e\u003c/a\u003e Delay GraalVM plugin updates for 3 days\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0cc29022801365a409c1213a811a8877cb88cce3\"\u003e\u003ccode\u003e0cc2902\u003c/code\u003e\u003c/a\u003e Skip \u003ccode\u003egraalVmTest\u003c/code\u003e task if GraalVM env vars are not set\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f6bbfc53e7e00b1b25e7d3b0bc09eef05cc4b721\"\u003e\u003ccode\u003ef6bbfc5\u003c/code\u003e\u003c/a\u003e Move GraalVM tests to separate test task (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/e87e0521d4fbd75116a5fda42566fcb7a56eb340\"\u003e\u003ccode\u003ee87e052\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5899\"\u003e#5899\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1cd56df89754fb8523ac9fbbf888e9a552e33ee8\"\u003e\u003ccode\u003e1cd56df\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5880\"\u003e#5880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.jupiter:junit-jupiter-params` from 6.1.2 to 6.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.jupiter:junit-jupiter-params's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.3 = Platform 6.1.3 + Jupiter 6.1.3 + Vintage 6.1.3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.3/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\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/junit-team/junit-framework/commit/f59f60d2cebdf2224235d81f781b1f310cbc8138\"\u003e\u003ccode\u003ef59f60d\u003c/code\u003e\u003c/a\u003e Release 6.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/cd8ec9202ce8260a434edb38a8565e36f620e8d6\"\u003e\u003ccode\u003ecd8ec92\u003c/code\u003e\u003c/a\u003e Finalize 6.1.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/c8729f26aacd8e2dd6fa564b929fe047faaa7dc9\"\u003e\u003ccode\u003ec8729f2\u003c/code\u003e\u003c/a\u003e Restore compatibility with GraalVM 25 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5901\"\u003e#5901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/ddc9e74e5d21c2dd18bc0cfe4681d5ff50ac379c\"\u003e\u003ccode\u003eddc9e74\u003c/code\u003e\u003c/a\u003e Update graalvm/setup-graalvm action to v1.6.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5959\"\u003e#5959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/fe2c52a780fcbda6c7ccf5d6576beb7ad2d80bf8\"\u003e\u003ccode\u003efe2c52a\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.7 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5923\"\u003e#5923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/62afc02b541ee9dfa16b121705f79b7d44f4dae0\"\u003e\u003ccode\u003e62afc02\u003c/code\u003e\u003c/a\u003e Delay GraalVM plugin updates for 3 days\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0cc29022801365a409c1213a811a8877cb88cce3\"\u003e\u003ccode\u003e0cc2902\u003c/code\u003e\u003c/a\u003e Skip \u003ccode\u003egraalVmTest\u003c/code\u003e task if GraalVM env vars are not set\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f6bbfc53e7e00b1b25e7d3b0bc09eef05cc4b721\"\u003e\u003ccode\u003ef6bbfc5\u003c/code\u003e\u003c/a\u003e Move GraalVM tests to separate test task (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/e87e0521d4fbd75116a5fda42566fcb7a56eb340\"\u003e\u003ccode\u003ee87e052\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5899\"\u003e#5899\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1cd56df89754fb8523ac9fbbf888e9a552e33ee8\"\u003e\u003ccode\u003e1cd56df\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5880\"\u003e#5880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.jupiter:junit-jupiter-params` from 6.1.2 to 6.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.jupiter:junit-jupiter-params's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.3 = Platform 6.1.3 + Jupiter 6.1.3 + Vintage 6.1.3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.3/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\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/junit-team/junit-framework/commit/f59f60d2cebdf2224235d81f781b1f310cbc8138\"\u003e\u003ccode\u003ef59f60d\u003c/code\u003e\u003c/a\u003e Release 6.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/cd8ec9202ce8260a434edb38a8565e36f620e8d6\"\u003e\u003ccode\u003ecd8ec92\u003c/code\u003e\u003c/a\u003e Finalize 6.1.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/c8729f26aacd8e2dd6fa564b929fe047faaa7dc9\"\u003e\u003ccode\u003ec8729f2\u003c/code\u003e\u003c/a\u003e Restore compatibility with GraalVM 25 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5901\"\u003e#5901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/ddc9e74e5d21c2dd18bc0cfe4681d5ff50ac379c\"\u003e\u003ccode\u003eddc9e74\u003c/code\u003e\u003c/a\u003e Update graalvm/setup-graalvm action to v1.6.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5959\"\u003e#5959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/fe2c52a780fcbda6c7ccf5d6576beb7ad2d80bf8\"\u003e\u003ccode\u003efe2c52a\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.7 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5923\"\u003e#5923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/62afc02b541ee9dfa16b121705f79b7d44f4dae0\"\u003e\u003ccode\u003e62afc02\u003c/code\u003e\u003c/a\u003e Delay GraalVM plugin updates for 3 days\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0cc29022801365a409c1213a811a8877cb88cce3\"\u003e\u003ccode\u003e0cc2902\u003c/code\u003e\u003c/a\u003e Skip \u003ccode\u003egraalVmTest\u003c/code\u003e task if GraalVM env vars are not set\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f6bbfc53e7e00b1b25e7d3b0bc09eef05cc4b721\"\u003e\u003ccode\u003ef6bbfc5\u003c/code\u003e\u003c/a\u003e Move GraalVM tests to separate test task (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/e87e0521d4fbd75116a5fda42566fcb7a56eb340\"\u003e\u003ccode\u003ee87e052\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5899\"\u003e#5899\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1cd56df89754fb8523ac9fbbf888e9a552e33ee8\"\u003e\u003ccode\u003e1cd56df\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5880\"\u003e#5880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nl.jqno.equalsverifier:equalsverifier` from 4.5 to 4.5.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jqno/equalsverifier/releases\"\u003enl.jqno.equalsverifier:equalsverifier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease equalsverifier-4.5.2\u003c/h2\u003e\n\u003cp\u003eFor a list of changes in this version, see \u003ca href=\"https://github.com/jqno/equalsverifier/blob/main/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eRelease equalsverifier-4.5.1\u003c/h2\u003e\n\u003cp\u003eFor a list of changes in this version, see \u003ca href=\"https://github.com/jqno/equalsverifier/blob/main/CHANGELOG.md\"\u003eCHANGELOG.md\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/jqno/equalsverifier/blob/main/CHANGELOG.md\"\u003enl.jqno.equalsverifier:equalsverifier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.5.2] - 2026-08-27\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSignificant fields error when first implementation of a sealed interface is a single-value enum. (\u003ca href=\"https://redirect.github.com/jqno/equalsverifier/issues/1236\"\u003eIssue 1236\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.5.1] - 2026-08-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdds prefab values for \u003ccode\u003ejava.util.LinkedHashSet\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/jqno/equalsverifier/issues/1231\"\u003eIssue 1231\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jqno/equalsverifier/issues/1232\"\u003eIssue 1232\u003c/a\u003e; thanks kalayciburak!)\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/jqno/equalsverifier/commit/2e0dae067cbc2119a987c400a5b351a7f279de8d\"\u003e\u003ccode\u003e2e0dae0\u003c/code\u003e\u003c/a\u003e Bumps version to 4.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/8818df1f3395f5885735788dfad57ecf7b3f5a57\"\u003e\u003ccode\u003e8818df1\u003c/code\u003e\u003c/a\u003e Updates CHANGELOG for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/ff374a30ae538cf9de18e869a8e9b0c416d3f30c\"\u003e\u003ccode\u003eff374a3\u003c/code\u003e\u003c/a\u003e Adds PR number to changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/f051bc7fc1fc25de92a1473aca37ab7807f2fc42\"\u003e\u003ccode\u003ef051bc7\u003c/code\u003e\u003c/a\u003e Fixes singificant fields error when first sealed interface implementation is ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/2669ffa162a63c754b0ffe6cfd4800d86ae599e3\"\u003e\u003ccode\u003e2669ffa\u003c/code\u003e\u003c/a\u003e Prepares for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/d89077132eef0b285415b6d1e88b7f93538e2aa4\"\u003e\u003ccode\u003ed890771\u003c/code\u003e\u003c/a\u003e Bumps version to 4.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/cec51b862a432ff3f2d606cd8bf0cc34d3445516\"\u003e\u003ccode\u003ecec51b8\u003c/code\u003e\u003c/a\u003e Updates CHANGELOG for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/1e5a37ab83e3c1495505bc68171e0f1c4a8da326\"\u003e\u003ccode\u003e1e5a37a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jqno/equalsverifier/issues/1235\"\u003e#1235\u003c/a\u003e from jqno/dependabot/maven/dependencies-1b33e0e210\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/7b46e333d8f9b14f00dfd2fdd2cbc40965f69fcc\"\u003e\u003ccode\u003e7b46e33\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jqno/equalsverifier/issues/1234\"\u003e#1234\u003c/a\u003e from jqno/dependabot/github_actions/dependencies-9c0...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/5706e86be30806f4958ee6a9ac62fc1a7ed60b49\"\u003e\u003ccode\u003e5706e86\u003c/code\u003e\u003c/a\u003e Bump the dependencies group with 2 updates\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jqno/equalsverifier/compare/equalsverifier-4.5...equalsverifier-4.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.neo4j:neo4j-ogm-core` from 5.0.7 to 5.0.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/neo4j/neo4j-ogm/releases\"\u003eorg.neo4j:neo4j-ogm-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.0.9\u003c/h2\u003e\n\u003cp\u003eThe build has been moved to JDK 26, while being still compiled for JDK 17. Only dependency updates, no other changes.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1477\"\u003e#1477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.11 to 1.18.12 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1474\"\u003e#1474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1475\"\u003e#1475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.2 to 1.6.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1476\"\u003e#1476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.puppycrawl.tools:checkstyle from 12.3.1 to 14.0.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1479\"\u003e#1479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1480\"\u003e#1480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j:neo4j-cypher-dsl-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1481\"\u003e#1481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.mycila:license-maven-plugin from 5.1.1 to 5.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1482\"\u003e#1482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.0.8\u003c/h2\u003e\n\u003cp\u003eThis is a recommended update for all users. It includes several important security fixes and has no breaking changes or other side effects.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[fix] Group entities also by removed / updated properties before multi-statement updates. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1473\"\u003e#1473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Replace variable placeholder \u003ccode\u003e$\u003c/code\u003e in favor of passing the variable down the call stack. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1472\"\u003e#1472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Use the full classname to lookup class info during query execution and deletion. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1471\"\u003e#1471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Use Cypher-DSL Schema Names support to uniformly escape names. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1470\"\u003e#1470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.2 to 6.1.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1465\"\u003e#1465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j.driver:neo4j-java-driver from 6.2.0 to 6.2.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1466\"\u003e#1466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1467\"\u003e#1467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.1 to 1.6.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1468\"\u003e#1468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven:apache-maven from 3.9.11 to 3.9.16 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[chore] Minor remaining polishing of the \u003ccode\u003eConfiguration\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.jreleaser:jreleaser-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1448\"\u003e#1448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1452\"\u003e#1452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump kotlin.version from 2.4.0 to 2.4.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1453\"\u003e#1453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.mycila:license-maven-plugin from 5.0.0 to 5.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1454\"\u003e#1454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.10 to 1.18.11 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1447\"\u003e#1447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1449\"\u003e#1449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.1 to 6.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven.plugins:maven-jar-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1455\"\u003e#1455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump brace-expansion, \u003ccode\u003e@​antora/cli\u003c/code\u003e, \u003ccode\u003e@​antora/site-generator-default\u003c/code\u003e and nodemon (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1458\"\u003e#1458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.37 to 1.6.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1459\"\u003e#1459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1460\"\u003e#1460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Fully rebuild the URL without the \u003ccode\u003euserInfo\u003c/code\u003e part instead of search and replace. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1464\"\u003e#1464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Throw \u003ccode\u003eIllegalArgumentException\u003c/code\u003e when a non-supported \u003ccode\u003eencryptionLevel\u003c/code\u003e is used. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Handle colons in passwords proper. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Add page-tabs attributes (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1461\"\u003e#1461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.0 to 6.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1441\"\u003e#1441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1442\"\u003e#1442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump commons-logging:commons-logging from 1.3.6 to 1.4.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1443\"\u003e#1443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.8 to 1.18.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1444\"\u003e#1444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.34 to 1.5.37 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1445\"\u003e#1445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[build] Pin all actions (including officials) to their current sha. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1446\"\u003e#1446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Remove broken Stackoverflow badge.\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/neo4j/neo4j-ogm/blob/master/CHANGES.adoc\"\u003eorg.neo4j:neo4j-ogm-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 5.0.9\u003c/p\u003e\n\u003cp\u003eThe build has been moved to JDK 26, while being still compiled for JDK 17. Only dependency updates, no other changes.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1477\"\u003e#1477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.11 to 1.18.12 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1474\"\u003e#1474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1475\"\u003e#1475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.2 to 1.6.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1476\"\u003e#1476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.puppycrawl.tools:checkstyle from 12.3.1 to 14.0.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1479\"\u003e#1479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1480\"\u003e#1480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j:neo4j-cypher-dsl-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1481\"\u003e#1481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.mycila:license-maven-plugin from 5.1.1 to 5.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1482\"\u003e#1482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== 5.0.8\u003c/p\u003e\n\u003cp\u003eThis is a recommended update for all users. It includes several important security fixes and has no breaking changes or other side effects.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[fix] Group entities also by removed / updated properties before multi-statement updates. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1473\"\u003e#1473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Replace variable placeholder \u003ccode\u003e$\u003c/code\u003e in favor of passing the variable down the call stack. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1472\"\u003e#1472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Use the full classname to lookup class info during query execution and deletion. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1471\"\u003e#1471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Use Cypher-DSL Schema Names support to uniformly escape names. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1470\"\u003e#1470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.2 to 6.1.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1465\"\u003e#1465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j.driver:neo4j-java-driver from 6.2.0 to 6.2.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1466\"\u003e#1466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1467\"\u003e#1467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.1 to 1.6.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1468\"\u003e#1468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven:apache-maven from 3.9.11 to 3.9.16 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[chore] Minor remaining polishing of the \u003ccode\u003eConfiguration\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.jreleaser:jreleaser-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1448\"\u003e#1448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1452\"\u003e#1452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump kotlin.version from 2.4.0 to 2.4.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1453\"\u003e#1453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.mycila:license-maven-plugin from 5.0.0 to 5.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1454\"\u003e#1454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.10 to 1.18.11 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1447\"\u003e#1447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1449\"\u003e#1449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.1 to 6.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven.plugins:maven-jar-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1455\"\u003e#1455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump brace-expansion, \u003ccode\u003e@​antora/cli\u003c/code\u003e, \u003ccode\u003e@​antora/site-generator-default\u003c/code\u003e and nodemon (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1458\"\u003e#1458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.37 to 1.6.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1459\"\u003e#1459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1460\"\u003e#1460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Fully rebuild the URL without the \u003ccode\u003euserInfo\u003c/code\u003e part instead of search and replace. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1464\"\u003e#1464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Throw \u003ccode\u003eIllegalArgumentException\u003c/code\u003e when a non-supported \u003ccode\u003eencryptionLevel\u003c/code\u003e is used. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Handle colons in passwords proper. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Add page-tabs attributes (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1461\"\u003e#1461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.0 to 6.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1441\"\u003e#1441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1442\"\u003e#1442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump commons-logging:commons-logging from 1.3.6 to 1.4.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1443\"\u003e#1443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.8 to 1.18.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1444\"\u003e#1444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.34 to 1.5.37 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1445\"\u003e#1445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[build] Pin all actions (including officials) to their current sha. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1446\"\u003e#1446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Remove broken Stackoverflow badge.\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/neo4j/neo4j-ogm/commit/1acbdff43347eeb94ce55bbffafa8f1e3f2f293b\"\u003e\u003ccode\u003e1acbdff\u003c/code\u003e\u003c/a\u003e Release 5.0.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/7d0ab680d7e4d903ddb25b6a4ce7e2da70038c85\"\u003e\u003ccode\u003e7d0ab68\u003c/code\u003e\u003c/a\u003e build(deps): Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1477\"\u003e#1477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/62be667dd6ed97f227d9ffb9c5d90c8e9df9acba\"\u003e\u003ccode\u003e62be667\u003c/code\u003e\u003c/a\u003e build(deps): Bump net.bytebuddy:byte-buddy from 1.18.11 to 1.18.12 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1474\"\u003e#1474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/74f8231fd67c9dcc2f7a7926188f6e79f0fdb314\"\u003e\u003ccode\u003e74f8231\u003c/code\u003e\u003c/a\u003e build(deps-dev): Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1475\"\u003e#1475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/b4d606d188a8ae1a5ebdb18d5bd84e658438de21\"\u003e\u003ccode\u003eb4d606d\u003c/code\u003e\u003c/a\u003e build(deps): Bump ch.qos.logback:logback-classic from 1.6.2 to 1.6.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1476\"\u003e#1476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/2d38061bb9574c4e1988983eef5f5e7603857a9e\"\u003e\u003ccode\u003e2d38061\u003c/code\u003e\u003c/a\u003e build(deps): Bump com.puppycrawl.tools:checkstyle from 12.3.1 to 14.0.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1479\"\u003e#1479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/89d4490e386f3aa788cc949dc564183de3e586ab\"\u003e\u003ccode\u003e89d4490\u003c/code\u003e\u003c/a\u003e build(deps): Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1480\"\u003e#1480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/fee64f2b404939d986de0e65902ac612568e422c\"\u003e\u003ccode\u003efee64f2\u003c/code\u003e\u003c/a\u003e build(deps): Bump org.neo4j:neo4j-cypher-dsl-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1481\"\u003e#1481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/21262e6210b5565b381072129a8c86f018bc4f45\"\u003e\u003ccode\u003e21262e6\u003c/code\u003e\u003c/a\u003e build(deps): Bump com.mycila:license-maven-plugin from 5.1.1 to 5.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1482\"\u003e#1482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/af6136020b980c09ca2857db067bdcbe0a97088f\"\u003e\u003ccode\u003eaf61360\u003c/code\u003e\u003c/a\u003e Set next development version to 5.0.9.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/neo4j/neo4j-ogm/compare/v5.0.7...v5.0.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.neo4j:neo4j-ogm-bolt-driver` from 5.0.7 to 5.0.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/neo4j/neo4j-ogm/releases\"\u003eorg.neo4j:neo4j-ogm-bolt-driver's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.0.9\u003c/h2\u003e\n\u003cp\u003eThe build has been moved to JDK 26, while being still compiled for JDK 17. Only dependency updates, no other changes.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1477\"\u003e#1477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.11 to 1.18.12 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1474\"\u003e#1474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1475\"\u003e#1475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.2 to 1.6.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1476\"\u003e#1476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.puppycrawl.tools:checkstyle from 12.3.1 to 14.0.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1479\"\u003e#1479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1480\"\u003e#1480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j:neo4j-cypher-dsl-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1481\"\u003e#1481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.mycila:license-maven-plugin from 5.1.1 to 5.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1482\"\u003e#1482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.0.8\u003c/h2\u003e\n\u003cp\u003eThis is a recommended update for all users. It includes several important security fixes and has no breaking changes or other side effects.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[fix] Group entities also by removed / updated properties before multi-statement updates. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1473\"\u003e#1473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Replace variable placeholder \u003ccode\u003e$\u003c/code\u003e in favor of passing the variable down the call stack. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1472\"\u003e#1472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Use the full classname to lookup class info during query execution and deletion. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1471\"\u003e#1471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Use Cypher-DSL Schema Names support to uniformly escape names. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1470\"\u003e#1470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.2 to 6.1.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1465\"\u003e#1465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j.driver:neo4j-java-driver from 6.2.0 to 6.2.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1466\"\u003e#1466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1467\"\u003e#1467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.1 to 1.6.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1468\"\u003e#1468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven:apache-maven from 3.9.11 to 3.9.16 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[chore] Minor remaining polishing of the \u003ccode\u003eConfiguration\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.jreleaser:jreleaser-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1448\"\u003e#1448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1452\"\u003e#1452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump kotlin.version from 2.4.0 to 2.4.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1453\"\u003e#1453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.mycila:license-maven-plugin from 5.0.0 to 5.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1454\"\u003e#1454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.10 to 1.18.11 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1447\"\u003e#1447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1449\"\u003e#1449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.1 to 6.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven.plugins:maven-jar-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1455\"\u003e#1455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump brace-expansion, \u003ccode\u003e@​antora/cli\u003c/code\u003e, \u003ccode\u003e@​antora/site-generator-default\u003c/code\u003e and nodemon (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1458\"\u003e#1458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.37 to 1.6.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1459\"\u003e#1459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1460\"\u003e#1460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Fully rebuild the URL without the \u003ccode\u003euserInfo\u003c/code\u003e part instead of search and replace. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1464\"\u003e#1464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Throw \u003ccode\u003eIllegalArgumentException\u003c/code\u003e when a non-supported \u003ccode\u003eencryptionLevel\u003c/code\u003e is used. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Handle colons in passwords proper. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Add page-tabs attributes (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1461\"\u003e#1461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.0 to 6.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1441\"\u003e#1441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1442\"\u003e#1442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump commons-logging:commons-logging from 1.3.6 to 1.4.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1443\"\u003e#1443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.8 to 1.18.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1444\"\u003e#1444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.34 to 1.5.37 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1445\"\u003e#1445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[build] Pin all actions (including officials) to their current sha. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1446\"\u003e#1446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Remove broken Stackoverflow badge.\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/neo4j/neo4j-ogm/blob/master/CHANGES.adoc\"\u003eorg.neo4j:neo4j-ogm-bolt-driver's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 5.0.9\u003c/p\u003e\n\u003cp\u003eThe build has been moved to JDK 26, while being still compiled for JDK 17. Only dependency updates, no other changes.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1477\"\u003e#1477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.11 to 1.18.12 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1474\"\u003e#1474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1475\"\u003e#1475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.2 to 1.6.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1476\"\u003e#1476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.puppycrawl.tools:checkstyle from 12.3.1 to 14.0.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1479\"\u003e#1479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1480\"\u003e#1480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j:neo4j-cypher-dsl-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1481\"\u003e#1481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.mycila:license-maven-plugin from 5.1.1 to 5.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1482\"\u003e#1482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== 5.0.8\u003c/p\u003e\n\u003cp\u003eThis is a recommended update for all users. It includes several important security fixes and has no breaking changes or other side effects.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[fix] Group entities also by removed / updated properties before multi-statement updates. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1473\"\u003e#1473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Replace variable placeholder \u003ccode\u003e$\u003c/code\u003e in favor of passing the variable down the call stack. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1472\"\u003e#1472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Use the full classname to lookup class info during query execution and deletion. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1471\"\u003e#1471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Use Cypher-DSL Schema Names support to uniformly escape names. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1470\"\u003e#1470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.2 to 6.1.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1465\"\u003e#1465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j.driver:neo4j-java-driver from 6.2.0 to 6.2.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1466\"\u003e#1466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1467\"\u003e#1467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.1 to 1.6.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1468\"\u003e#1468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven:apache-maven from 3.9.11 to 3.9.16 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[chore] Minor remaining polishing of the \u003ccode\u003eConfiguration\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.jreleaser:jreleaser-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1448\"\u003e#1448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1452\"\u003e#1452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump kotlin.version from 2.4.0 to 2.4.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1453\"\u003e#1453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.mycila:license-maven-plugin from 5.0.0 to 5.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1454\"\u003e#1454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.10 to 1.18.11 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1447\"\u003e#1447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1449\"\u003e#1449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.1 to 6.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven.plugins:maven-jar-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1455\"\u003e#1455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump brace-expansion, \u003ccode\u003e@​antora/cli\u003c/code\u003e, \u003ccode\u003e@​antora/site-generator-default\u003c/code\u003e and nodemon (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1458\"\u003e#1458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.37 to 1.6.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1459\"\u003e#1459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1460\"\u003e#1460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Fully rebuild the URL without the \u003ccode\u003euserInfo\u003c/code\u003e part instead of search and replace. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1464\"\u003e#1464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Throw \u003ccode\u003eIllegalArgumentException\u003c/code\u003e when a non-supported \u003ccode\u003eencryptionLevel\u003c/code\u003e is used. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Handle colons in passwords proper. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Add page-tabs attributes (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1461\"\u003e#1461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.0 to 6.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1441\"\u003e#1441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1442\"\u003e#1442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump commons-logging:commons-logging from 1.3.6 to 1.4.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1443\"\u003e#1443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.8 to 1.18.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1444\"\u003e#1444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.34 to 1.5.37 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1445\"\u003e#1445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[build] Pin all actions (including officials) to their current sha. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1446\"\u003e#1446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Remove broken Stackoverflow badge.\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/neo4j/neo4j-ogm/commit/1acbdff43347eeb94ce55bbffafa8f1e3f2f293b\"\u003e\u003ccode\u003e1acbdff\u003c/code\u003e\u003c/a\u003e Release 5.0.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/7d0ab680d7e4d903ddb25b6a4ce7e2da70038c85\"\u003e\u003ccode\u003e7d0ab68\u003c/code\u003e\u003c/a\u003e build(deps): Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1477\"\u003e#1477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/62be667dd6ed97f227d9ffb9c5d90c8e9df9acba\"\u003e\u003ccode\u003e62be667\u003c/code\u003e\u003c/a\u003e build(deps): Bump net.bytebuddy:byte-buddy from 1.18.11 to 1.18.12 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1474\"\u003e#1474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/74f8231fd67c9dcc2f7a7926188f6e79f0fdb314\"\u003e\u003ccode\u003e74f8231\u003c/code\u003e\u003c/a\u003e build(deps-dev): Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1475\"\u003e#1475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/b4d606d188a8ae1a5ebdb18d5bd84e658438de21\"\u003e\u003ccode\u003eb4d606d\u003c/code\u003e\u003c/a\u003e build(deps): Bump ch.qos.logback:logback-classic from 1.6.2 to 1.6.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1476\"\u003e#1476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/2d38061bb9574c4e1988983eef5f5e7603857a9e\"\u003e\u003ccode\u003e2d38061\u003c/code\u003e\u003c/a\u003e build(deps): Bump com.puppycrawl.tools:checkstyle from 12.3.1 to 14.0.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1479\"\u003e#1479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/89d4490e386f3aa788cc949dc564183de3e586ab\"\u003e\u003ccode\u003e89d4490\u003c/code\u003e\u003c/a\u003e build(deps): Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1480\"\u003e#1480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/fee64f2b404939d986de0e65902ac612568e422c\"\u003e\u003ccode\u003efee64f2\u003c/code\u003e\u003c/a\u003e build(deps): Bump org.neo4j:neo4j-cypher-dsl-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1481\"\u003e#1481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/21262e6210b5565b381072129a8c86f018bc4f45\"\u003e\u003ccode\u003e21262e6\u003c/code\u003e\u003c/a\u003e build(deps): Bump com.mycila:license-maven-plugin from 5.1.1 to 5.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1482\"\u003e#1482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/af6136020b980c09ca2857db067bdcbe0a97088f\"\u003e\u003ccode\u003eaf61360\u003c/code\u003e\u003c/a\u003e Set next development version to 5.0.9.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/neo4j/neo4j-ogm/compare/v5.0.7...v5.0.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.neo4j:neo4j-ogm-bolt-driver` from 5.0.7 to 5.0.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/neo4j/neo4j-ogm/releases\"\u003eorg.neo4j:neo4j-ogm-bolt-driver's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.0.9\u003c/h2\u003e\n\u003cp\u003eThe build has been moved to JDK 26, while being still compiled for JDK 17. Only dependency updates, no other changes.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1477\"\u003e#1477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.11 to 1.18.12 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1474\"\u003e#1474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1475\"\u003e#1475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.2 to 1.6.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1476\"\u003e#1476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.puppycrawl.tools:checkstyle from 12.3.1 to 14.0.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1479\"\u003e#1479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1480\"\u003e#1480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j:neo4j-cypher-dsl-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1481\"\u003e#1481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.mycila:license-maven-plugin from 5.1.1 to 5.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1482\"\u003e#1482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.0.8\u003c/h2\u003e\n\u003cp\u003eThis is a recommended update for all users. It includes several important security fixes and has no breaking changes or other side effects.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[fix] Group entities also by removed / updated properties before multi-statement updates. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1473\"\u003e#1473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Replace variable placeholder \u003ccode\u003e$\u003c/code\u003e in favor of passing the variable down the call stack. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1472\"\u003e#1472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Use the full classname to lookup class info during query execution and deletion. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1471\"\u003e#1471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Use Cypher-DSL Schema Names support to uniformly escape names. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1470\"\u003e#1470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.2 to 6.1.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1465\"\u003e#1465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j.driver:neo4j-java-driver from 6.2.0 to 6.2.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1466\"\u003e#1466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1467\"\u003e#1467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.1 to 1.6.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1468\"\u003e#1468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven:apache-maven from 3.9.11 to 3.9.16 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[chore] Minor remaining polishing of the \u003ccode\u003eConfiguration\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.jreleaser:jreleaser-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1448\"\u003e#1448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1452\"\u003e#1452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump kotlin.version from 2.4.0 to 2.4.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1453\"\u003e#1453\u003c/a\u003e)\u003c...\n\n_Description has been truncated_","html_url":"https://github.com/noheton/shepard/pull/2689","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/noheton%2Fshepard/issues/2689","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2689/packages"}},{"old_version":"1.2.0","new_version":"1.5.0","update_type":"minor","path":null,"pr_created_at":"2026-09-05T08:04:23.000Z","version_change":"1.2.0 → 1.5.0","issue":{"uuid":"5356591860","node_id":"PR_kwDORHwl-s8AAAABCTZRMg","number":136,"state":"open","title":"chore(deps): bump the all-maven group across 1 directory with 17 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-09-05T08:04:23.000Z","updated_at":"2026-09-05T08:04:24.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"all-maven","update_count":17,"packages":[{"name":"org.springframework.boot:spring-boot-starter-parent","old_version":"3.2.5","new_version":"4.1.1","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.testcontainers:testcontainers-bom","old_version":"1.21.4","new_version":"2.0.5","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.projectlombok:lombok","old_version":"1.18.46","new_version":"1.18.48","repository_url":"https://github.com/projectlombok/lombok"},{"name":"org.codehaus.mojo:flatten-maven-plugin","old_version":"1.6.0","new_version":"1.8.0","repository_url":"https://github.com/mojohaus/flatten-maven-plugin"},{"name":"org.apache.maven.plugins:maven-enforcer-plugin","old_version":"3.5.0","new_version":"3.6.3","repository_url":"https://github.com/apache/maven-enforcer"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.2.0","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"org.jacoco:jacoco-maven-plugin","old_version":"0.8.14","new_version":"0.8.15","repository_url":"https://github.com/jacoco/jacoco"},{"name":"com.baomidou:mybatis-plus-spring-boot3-starter","old_version":"3.5.16","new_version":"3.5.17","repository_url":"https://github.com/baomidou/mybatis-plus"},{"name":"com.baomidou:mybatis-plus-jsqlparser","old_version":"3.5.16","new_version":"3.5.17","repository_url":"https://github.com/baomidou/mybatis-plus"},{"name":"com.baomidou:mybatis-plus-annotation","old_version":"3.5.16","new_version":"3.5.17","repository_url":"https://github.com/baomidou/mybatis-plus"},{"name":"io.swagger.core.v3:swagger-annotations-jakarta","old_version":"2.2.22","new_version":"2.2.55"},{"name":"org.redisson:redisson-spring-boot-starter","old_version":"4.3.1","new_version":"4.7.0"},{"name":"cn.hutool:hutool-all","old_version":"5.8.44","new_version":"5.8.47","repository_url":"https://github.com/looly/hutool"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"2.6.0","new_version":"3.1.0","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"com.meilisearch.sdk:meilisearch-java","old_version":"0.20.1","new_version":"0.21.0","repository_url":"https://github.com/meilisearch/meilisearch-java"},{"name":"org.flywaydb:flyway-core","old_version":"10.10.0","new_version":"13.4.0"},{"name":"org.flywaydb:flyway-mysql","old_version":"10.10.0","new_version":"13.4.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the all-maven group with 17 updates in the /services directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.springframework.boot:spring-boot-starter-parent](https://github.com/spring-projects/spring-boot) | `3.2.5` | `4.1.1` |\n| [org.testcontainers:testcontainers-bom](https://github.com/testcontainers/testcontainers-java) | `1.21.4` | `2.0.5` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.46` | `1.18.48` |\n| [org.codehaus.mojo:flatten-maven-plugin](https://github.com/mojohaus/flatten-maven-plugin) | `1.6.0` | `1.8.0` |\n| [org.apache.maven.plugins:maven-enforcer-plugin](https://github.com/apache/maven-enforcer) | `3.5.0` | `3.6.3` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.2.0` | `1.5.0` |\n| [org.jacoco:jacoco-maven-plugin](https://github.com/jacoco/jacoco) | `0.8.14` | `0.8.15` |\n| [com.baomidou:mybatis-plus-spring-boot3-starter](https://github.com/baomidou/mybatis-plus) | `3.5.16` | `3.5.17` |\n| [com.baomidou:mybatis-plus-jsqlparser](https://github.com/baomidou/mybatis-plus) | `3.5.16` | `3.5.17` |\n| [com.baomidou:mybatis-plus-annotation](https://github.com/baomidou/mybatis-plus) | `3.5.16` | `3.5.17` |\n| io.swagger.core.v3:swagger-annotations-jakarta | `2.2.22` | `2.2.55` |\n| org.redisson:redisson-spring-boot-starter | `4.3.1` | `4.7.0` |\n| [cn.hutool:hutool-all](https://github.com/looly/hutool) | `5.8.44` | `5.8.47` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `2.6.0` | `3.1.0` |\n| [com.meilisearch.sdk:meilisearch-java](https://github.com/meilisearch/meilisearch-java) | `0.20.1` | `0.21.0` |\n| org.flywaydb:flyway-core | `10.10.0` | `13.4.0` |\n| org.flywaydb:flyway-mysql | `10.10.0` | `13.4.0` |\n\n\nUpdates `org.springframework.boot:spring-boot-starter-parent` from 3.2.5 to 4.1.1\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:spring-boot-starter-parent's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch2\u003e:warning: Attention Required\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpring Boot's Gradle plugin no longer automatically configures gRPC when the Protobuf plugin is applied. This behavior caused problems for those using Protobuf without gRPC. To opt in to the configuration of gRPC, configure the \u003ccode\u003eprotobuf\u003c/code\u003e extension with the \u003ccode\u003egrpc\u003c/code\u003e plugin using an empty block. The Spring Boot Gradle plugin will then automatically configure the use of \u003ccode\u003eprotoc-gen-grpc-java\u003c/code\u003e as before. \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50822\"\u003e#50822\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKafka consumer-specific security protocol is not taken into account \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51369\"\u003e#51369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStructured logging: a failed JSON encode corrupts the next log event written on the same thread \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51156\"\u003e#51156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMicrometer registries pin the application context \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51135\"\u003e#51135\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTemporary file is not deleted when ExportedImageTar construction fails \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51132\"\u003e#51132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMetadata annotation processor ignores getter-level \u003ccode\u003e@NestedConfigurationProperty\u003c/code\u003e for records \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51098\"\u003e#51098\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-h2-console pulls servlet-api as transitive dependency \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51095\"\u003e#51095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropertiesLauncher does not log nested archive paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51089\"\u003e#51089\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMethods that return the result of Map#remove are not declared with a \u003ccode\u003e@Nullable\u003c/code\u003e return type \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51087\"\u003e#51087\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNativeImageResourceProvider flattens Flyway migration paths in subdirectories \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50964\"\u003e#50964\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ordering of Kotlinx Serialization CodecCustomizer \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50961\"\u003e#50961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJarFile is not closed when finding main class from archive \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50959\"\u003e#50959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplication-managed JUL bridge handler should only be removed if installed \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50950\"\u003e#50950\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCloudFoundry reactive auto-configuration should not require a WebClient.Builder bean to be defined \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50944\"\u003e#50944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails on reactive Cloud Foundry when using Actuator without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50942\"\u003e#50942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResources are not cleaned up when resolving an image that is not yet present in the builder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50941\"\u003e#50941\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGraphQlWebMvcAutoConfiguration should apply customizers in order \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50914\"\u003e#50914\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configured RedisMessageListenerContainer does not use virtual threads when spring.threads.virtual.enabled is true \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50884\"\u003e#50884\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails when using Actuator on Jersey without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50872\"\u003e#50872\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails on Cloud Foundry when using Actuator without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50871\"\u003e#50871\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIllegalStateException when binding properties to a \u003ccode\u003e@Validated\u003c/code\u003e class that contains a map whose value type is a wildcard \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50856\"\u003e#50856\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHigh number of connections due to Mongo health indicator \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50852\"\u003e#50852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInconsistent handling of empty string values of spring.security.oauth2.resourceserver.jwt issuer-uri and jwk-set-uri \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50849\"\u003e#50849\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn type nullability of ApplicationContextAssert's getBean methods does not indicate that bean may be null \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50845\"\u003e#50845\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropertiesWebClientHttpServiceGroupConfigurer has highest precedence, preventing other configurers from being ordered ahead of it \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50843\"\u003e#50843\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExposing gRPC test server port should backoff if gRPC is not present \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50825\"\u003e#50825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJpaBaseConfiguration#entityManagerConfiguration can cause a dependency loop on beans declaring AsyncTaskExecutor \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50801\"\u003e#50801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.grpc.server.health.include-overall-health is not taken into account \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50799\"\u003e#50799\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSetting 'server.servlet.session.cookie.partitioned' to false still emits the 'Partitioned' cookie attribute \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50790\"\u003e#50790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eManaged version of Prometheus Client is not aligned with Micrometer's micrometer-registry-prometheus \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50780\"\u003e#50780\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMap properties bound from empty strings fail with ConverterNotFoundException \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50773\"\u003e#50773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProtobuf Common Protos should not be a managed dependency \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50772\"\u003e#50772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAn application that depends on spring-boot-security-oauth2-resource-server may fail to start with a ClassNotFoundException when Reactor is on the classpath but WebFlux is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50764\"\u003e#50764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eW3CHeaderParser's decoding is not compliant with RFC 3986 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50650\"\u003e#50650\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\u003eDescription of spring.graphql.websocket.connection-init-timeout does not render correctly in the reference guide \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51348\"\u003e#51348\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.profiles.group should have a 'spring-profile-name' hint provider \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51284\"\u003e#51284\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove reference to removed InfluxDB auto-configuration \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51176\"\u003e#51176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse JacksonJsonSerde in Kafka Streams documentation \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51161\"\u003e#51161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument alternatives to HttpMessageConverters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51129\"\u003e#51129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix stale type reference for OTLP logging transport metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51119\"\u003e#51119\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMetadata for spring.test.mockmvc.htmlunit.url declares the wrong type \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51115\"\u003e#51115\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/6fdf67ea1552691e932604d4bf67a5e08ff0b0ea\"\u003e\u003ccode\u003e6fdf67e\u003c/code\u003e\u003c/a\u003e Release 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/fde599b28b40932e4ea6194399d89245923a01e7\"\u003e\u003ccode\u003efde599b\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Pulsar 2.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9daa58f7d98b82bf16febcb91943ce267c220a50\"\u003e\u003ccode\u003e9daa58f\u003c/code\u003e\u003c/a\u003e Upgrade to Spring HATEOAS 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/353993ebc1d7b1ceccbb981b0439a42ba122a816\"\u003e\u003ccode\u003e353993e\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Data Bom 2026.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/24ba596bc4fa000614834016452435c834fdeda2\"\u003e\u003ccode\u003e24ba596\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Session 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/5cb5c294d1f4780e78d010a964049e47c074e4d6\"\u003e\u003ccode\u003e5cb5c29\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Security 7.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4adc8eb130c4e0c688ed85316f385f4e04d47679\"\u003e\u003ccode\u003e4adc8eb\u003c/code\u003e\u003c/a\u003e Upgrade to Spring LDAP 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4d9c19cbc0589f57a7265052b507bf4b961082ac\"\u003e\u003ccode\u003e4d9c19c\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Kafka 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f30f6120c4f6f8f873ac56cba478ae1f011c276c\"\u003e\u003ccode\u003ef30f612\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 7.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/b930283d97e92eb24da1de3721cdd41625266dea\"\u003e\u003ccode\u003eb930283\u003c/code\u003e\u003c/a\u003e Upgrade to Spring gRPC 1.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v3.2.5...v4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.testcontainers:testcontainers-bom` from 1.21.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-bom'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\u003ch2\u003e2.0.4\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/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/1.21.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.projectlombok:lombok` from 1.18.46 to 1.18.48\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.48 (September 1st, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBREAKING CHANGE/BUGFIX: \u003ccode\u003e@Builder(builderClassName = \u0026quot;Builder\u0026quot;)\u003c/code\u003e now generates an error, because the type names collide. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3857\"\u003e#3857\u003c/a\u003e  (found after release)\u003c/li\u003e\n\u003cli\u003ePLATFORM: JDK27 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4072\"\u003e#4072\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@SneakyThrows\u003c/code\u003e usage on JDK26 no longer results in class files that require \u003ccode\u003elombok.jar\u003c/code\u003e to be on the runtime classpath (which should not be neccessary). \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4040\"\u003e#4040\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFEATURE: New \u003ca href=\"https://projectlombok.org/features/configuration\"\u003econfig key\u003c/a\u003e \u003ccode\u003elombok.checkReturnValueAnnotation\u003c/code\u003e (values: \u003ccode\u003enone\u003c/code\u003e, \u003ccode\u003elombok\u003c/code\u003e; default: \u003ccode\u003enone\u003c/code\u003e) lets lombok generate \u003ccode\u003e@lombok.CheckReturnValue\u003c/code\u003e on generated methods where the return value should not be ignored, such as \u003ccode\u003e@With\u003c/code\u003e methods and \u003ccode\u003e@Builder.build()\u003c/code\u003e. A future lombok release may flip the default to \u003ccode\u003elombok\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/pull/4013\"\u003e#4013\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePROMOTION: \u003ccode\u003e@SuperBuilder\u003c/code\u003e has been promoted to the main package. Otherwise, no changes have been made to the annotation. The old experimental annotation will remain for a few versions, at which point it will be marked as a deprecated annotation. Eventually it'll be removed. If you had \u003ccode\u003elombok.config\u003c/code\u003e configuration for this annotation, the configuration keys for this feature have been renamed. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/2209\"\u003e#2209\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eOLD-CRUFT: \u003ccode\u003elombok.experimental.Wither\u003c/code\u003e and \u003ccode\u003elombok.Delegate\u003c/code\u003e are deprecated remnants; these features were moved (to respectively \u003ccode\u003elombok.With\u003c/code\u003e and \u003ccode\u003elombok.experimental.Delegate\u003c/code\u003e over 5 years ago. They are now removed entirely. If your project is dependent on an older version of lombok which still has those; fret not, lombok still processes these annotations. It just no longer includes them in the jar.\u003c/li\u003e\n\u003cli\u003eFEATURE: CheckerFramework: Lombok now adds \u003ccode\u003e@SideEffectFree\u003c/code\u003e to constructors it makes if you have enabled checker framework via \u003ccode\u003elombok.config\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: CheckerFramework: Lombok would add \u003ccode\u003e@SideEffectFree\u003c/code\u003e to the \u003ccode\u003ebuild()\u003c/code\u003e method of any generated builder, even if it is a builder for invoking a method; in that case, the side-effect-free nature of \u003ccode\u003ebuild()\u003c/code\u003e mirrors the side-effect-free nature of the method invocation you've built. Lombok now checks if the method it generated a builder for is side effect free / 'check return type'.\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/b48657c83ce44d027984f539bd36048293ce5e8e\"\u003e\u003ccode\u003eb48657c\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump v1.18.48\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/d1d003945f864d32bb3115cf81fa363e1c7bc6bb\"\u003e\u003ccode\u003ed1d0039\u003c/code\u003e\u003c/a\u003e Merge branch 'jdk27'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1a23dad52c01e7b18892573549841e36d6e4abde\"\u003e\u003ccode\u003e1a23dad\u003c/code\u003e\u003c/a\u003e [review][refactor] No meaningful changes: Improved comments, javadoc, and cle...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/40cdde815038a4bddc2bc31afce80c4c62e75e67\"\u003e\u003ccode\u003e40cdde8\u003c/code\u003e\u003c/a\u003e [changelog] JDK27 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/25eae29093410cba53e3f91e2da4ba1fbf1953f4\"\u003e\u003ccode\u003e25eae29\u003c/code\u003e\u003c/a\u003e Add Danish Nawab to AUTHORS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/10ab92b5d9eb852ccac7295d8017203e7efd7449\"\u003e\u003ccode\u003e10ab92b\u003c/code\u003e\u003c/a\u003e Support JDK27: end positions moved from EndPosTable to JCTree.endpos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/af01b7a27b469b723e88de508480186113569185\"\u003e\u003ccode\u003eaf01b7a\u003c/code\u003e\u003c/a\u003e Document the new configuration syntax for listy things\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1be3857dfef96cde703012a43ec649a4c3f7eea9\"\u003e\u003ccode\u003e1be3857\u003c/code\u003e\u003c/a\u003e There is no more HtAccess\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/405985dd2512786439448e43f390c359e7595269\"\u003e\u003ccode\u003e405985d\u003c/code\u003e\u003c/a\u003e Semantic sections for website\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/04b73406d04a279401b43a74314aa1dcbadbc143\"\u003e\u003ccode\u003e04b7340\u003c/code\u003e\u003c/a\u003e [trivial] fixing some outdated tests (tests were broken, not lombok).\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.46...v1.18.48\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.codehaus.mojo:flatten-maven-plugin` from 1.6.0 to 1.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/releases\"\u003eorg.codehaus.mojo:flatten-maven-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.8.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e🚀 New features and improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eConfigurable name for the revision variable (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/487\"\u003e#487\u003c/a\u003e) \u003ca href=\"https://github.com/senivam\"\u003e\u003ccode\u003e@​senivam\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 for \u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/issues/408\"\u003e#408\u003c/a\u003e, ensure nested dependency exclusions aren't overrided (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/485\"\u003e#485\u003c/a\u003e) \u003ca href=\"https://github.com/treilhes\"\u003e\u003ccode\u003e@​treilhes\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for Maven 3.10.x (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/517\"\u003e#517\u003c/a\u003e) \u003ca href=\"https://github.com/slawekjaranowski\"\u003e\u003ccode\u003e@​slawekjaranowski\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔧 Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd PR automation workflow to GitHub Actions (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/522\"\u003e#522\u003c/a\u003e) \u003ca href=\"https://github.com/slawekjaranowski\"\u003e\u003ccode\u003e@​slawekjaranowski\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump mavenVersion from 3.9.15 to 3.9.16 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/511\"\u003e#511\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump apache/maven-gh-actions-shared/.github/workflows/release-drafter.yml from 4 to 5 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/514\"\u003e#514\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml from 4 to 5 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/516\"\u003e#516\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump apache/maven-gh-actions-shared/.github/workflows/stale.yml from 4 to 5 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/515\"\u003e#515\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.mojo:mojo-parent from 96 to 97 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/519\"\u003e#519\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mavenVersion from 3.9.14 to 3.9.15 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/509\"\u003e#509\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/510\"\u003e#510\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.plexus:plexus-utils from 4.0.2 to 4.0.3 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/508\"\u003e#508\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.6 to 3.27.7 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/502\"\u003e#502\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven.plugin-testing:maven-plugin-testing-harness from 3.5.0 to 3.5.1 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/503\"\u003e#503\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.fasterxml.jackson.core:jackson-core from 2.15.0 to 2.18.6 in /src/it/projects/bom-pomElements/bom (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/504\"\u003e#504\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mavenVersion from 3.9.12 to 3.9.14 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/506\"\u003e#506\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.mojo:mojo-parent from 95 to 96 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/507\"\u003e#507\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven.plugin-testing:maven-plugin-testing-harness from 3.4.0 to 3.5.0 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/501\"\u003e#501\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mavenVersion from 3.9.11 to 3.9.12 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/498\"\u003e#498\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump parent to 95 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/500\"\u003e#500\u003c/a\u003e) \u003ca href=\"https://github.com/slachiewicz\"\u003e\u003ccode\u003e@​slachiewicz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.5 to 3.27.6 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/484\"\u003e#484\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump commons-io:commons-io from 2.20.0 to 2.21.0 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/492\"\u003e#492\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.plexus:plexus-interpolation from 1.28 to 1.29 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/493\"\u003e#493\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven.plugin-testing:maven-plugin-testing-harness from 3.3.0 to 3.4.0 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/491\"\u003e#491\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.7.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes condition-activated profiles not considered in effective model (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/481\"\u003e#481\u003c/a\u003e) \u003ca href=\"https://github.com/oldhen\"\u003e\u003ccode\u003e@​oldhen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.4 to 3.27.5 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/482\"\u003e#482\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.mojo:mojo-parent from 92 to 93 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/480\"\u003e#480\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.3 to 3.27.4 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/479\"\u003e#479\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\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/mojohaus/flatten-maven-plugin/commit/1b211937fc61b40e1c38a59fb882c0910032b089\"\u003e\u003ccode\u003e1b21193\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release 1.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/f693210d117749539f80068a48d08bcb43a7bc6c\"\u003e\u003ccode\u003ef693210\u003c/code\u003e\u003c/a\u003e Add PR automation workflow to GitHub Actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/cff2c4f2cd38899523db4f64d84f21236211028a\"\u003e\u003ccode\u003ecff2c4f\u003c/code\u003e\u003c/a\u003e Document \u003ccode\u003erevisionVariableName\u003c/code\u003e parameter with \u003ccode\u003e@since 1.8.0\u003c/code\u003e tag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/f18a67dc288e60362c04ca51e4c43f67b5e2de94\"\u003e\u003ccode\u003ef18a67d\u003c/code\u003e\u003c/a\u003e Fix for \u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/issues/408\"\u003e#408\u003c/a\u003e, ensure nested dependency exclusions aren't overrided (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/issues/485\"\u003e#485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/35396b634a203a1a3b7f5c52e0b72202285bce01\"\u003e\u003ccode\u003e35396b6\u003c/code\u003e\u003c/a\u003e Bump mavenVersion from 3.9.15 to 3.9.16\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/f78e07e292aea3ea95d7829e4983a7018f5cc95d\"\u003e\u003ccode\u003ef78e07e\u003c/code\u003e\u003c/a\u003e Bump apache/maven-gh-actions-shared/.github/workflows/release-drafter.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/25f849ed5277a9266bf2b2618686595974c403d9\"\u003e\u003ccode\u003e25f849e\u003c/code\u003e\u003c/a\u003e Bump apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/5fcc98fc10355f9128f48a1bd1a937378e37c5a8\"\u003e\u003ccode\u003e5fcc98f\u003c/code\u003e\u003c/a\u003e Bump apache/maven-gh-actions-shared/.github/workflows/stale.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/4bd9edaa0f2873c68a671b9dcb0fa674344f1a5c\"\u003e\u003ccode\u003e4bd9eda\u003c/code\u003e\u003c/a\u003e Bump org.codehaus.mojo:mojo-parent from 96 to 97\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/7bacd0e6773453b0eafc79aa20923186030d2cd4\"\u003e\u003ccode\u003e7bacd0e\u003c/code\u003e\u003c/a\u003e Fix for Maven 3.10.x (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/issues/517\"\u003e#517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/compare/1.6.0...1.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.maven.plugins:maven-enforcer-plugin` from 3.5.0 to 3.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/maven-enforcer/releases\"\u003eorg.apache.maven.plugins:maven-enforcer-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.6.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e🚀 New features and improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake bannedDependencies report root and transitive dependency in case both are banned. (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/940\"\u003e#940\u003c/a\u003e) \u003ca href=\"https://github.com/hvoynov\"\u003e\u003ccode\u003e@​hvoynov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd enforceBytecodeVersion rule based on mojohaus (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/968\"\u003e#968\u003c/a\u003e) \u003ca href=\"https://github.com/cstamas\"\u003e\u003ccode\u003e@​cstamas\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove formatting of deprecated API warning (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/951\"\u003e#951\u003c/a\u003e) \u003ca href=\"https://github.com/mthmulders\"\u003e\u003ccode\u003e@​mthmulders\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 handling of Java versions like 21.0.10.0.1 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/967\"\u003e#967\u003c/a\u003e) \u003ca href=\"https://github.com/parttimenerd\"\u003e\u003ccode\u003e@​parttimenerd\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd null checks for modelId in PluginWrapper (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/974\"\u003e#974\u003c/a\u003e) \u003ca href=\"https://github.com/cpfeiffer\"\u003e\u003ccode\u003e@​cpfeiffer\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📝 Documentation updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocument the banMavenDefaults option for the requirePluginVersions rule. (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/936\"\u003e#936\u003c/a\u003e) \u003ca href=\"https://github.com/rpkrajewski\"\u003e\u003ccode\u003e@​rpkrajewski\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e👻 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ePlexusStringUtils\u003c/code\u003e Refaster recipes (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/943\"\u003e#943\u003c/a\u003e) \u003ca href=\"https://github.com/slachiewicz\"\u003e\u003ccode\u003e@​slachiewicz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJUnit Jupiter migration from JUnit 4.x (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/941\"\u003e#941\u003c/a\u003e) \u003ca href=\"https://github.com/slachiewicz\"\u003e\u003ccode\u003e@​slachiewicz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump org.apache.logging.log4j:log4j-core from 2.25.3 to 2.25.4 in /maven-enforcer-plugin/src/it/projects/MENFORCER-434 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/970\"\u003e#970\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeps: Parent POM 48 and align deps (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/979\"\u003e#979\u003c/a\u003e) \u003ca href=\"https://github.com/cstamas\"\u003e\u003ccode\u003e@​cstamas\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump commons-codec:commons-codec from 1.21.0 to 1.22.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/976\"\u003e#976\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/975\"\u003e#975\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mavenVersion from 3.9.14 to 3.9.15 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/973\"\u003e#973\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mavenVersion from 3.9.13 to 3.9.14 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/965\"\u003e#965\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mavenVersion from 3.9.12 to 3.9.13 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/964\"\u003e#964\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven.plugin-testing:maven-plugin-testing-harness from 3.5.0 to 3.5.1 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/963\"\u003e#963\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate log4j in test to avoid CVE (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/961\"\u003e#961\u003c/a\u003e) \u003ca href=\"https://github.com/Bukama\"\u003e\u003ccode\u003e@​Bukama\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump commons-codec:commons-codec from 1.20.0 to 1.21.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/962\"\u003e#962\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.6 to 3.27.7 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/960\"\u003e#960\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.mojo:mrm-maven-plugin from 1.7.0 to 1.7.1 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/959\"\u003e#959\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven:maven-parent from 46 to 47 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/958\"\u003e#958\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.plexus:plexus-archiver from 4.10.4 to 4.11.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/957\"\u003e#957\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate to 46 including fixes (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/955\"\u003e#955\u003c/a\u003e) \u003ca href=\"https://github.com/Bukama\"\u003e\u003ccode\u003e@​Bukama\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven.plugin-testing:maven-plugin-testing-harness from 3.3.0 to 3.5.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/956\"\u003e#956\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mavenVersion from 3.9.11 to 3.9.12 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/948\"\u003e#948\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.commons:commons-lang3 from 3.19.0 to 3.20.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/947\"\u003e#947\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump commons-io:commons-io from 2.20.0 to 2.21.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/946\"\u003e#946\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump commons-codec:commons-codec from 1.19.0 to 1.20.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/945\"\u003e#945\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.6.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse SessionData for cache storage (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/930\"\u003e#930\u003c/a\u003e) \u003ca href=\"https://github.com/slawekjaranowski\"\u003e\u003ccode\u003e@​slawekjaranowski\u003c/code\u003e\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/apache/maven-enforcer/commit/c7daff33d46c9c3ee0666540c6857c66cf159e70\"\u003e\u003ccode\u003ec7daff3\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release enforcer-3.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/ee46e78b046be9882a739c07556940329a7345d6\"\u003e\u003ccode\u003eee46e78\u003c/code\u003e\u003c/a\u003e Make bannedDependencies report root and transitive dependency in case both ar...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/0806924d8f6c5ad6105ac387bf323846e769b18c\"\u003e\u003ccode\u003e0806924\u003c/code\u003e\u003c/a\u003e Document the banMavenDefaults option for the requirePluginVersions rule. (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/issues/936\"\u003e#936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/8e4f5b94453de97592cf3935b79319894f013329\"\u003e\u003ccode\u003e8e4f5b9\u003c/code\u003e\u003c/a\u003e Add better enforceBytecodeVersion rule based on mojohaus (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/issues/968\"\u003e#968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/fd4b1486dcc93394d5f6a11687efd51d0d30b22d\"\u003e\u003ccode\u003efd4b148\u003c/code\u003e\u003c/a\u003e Add fix for 21.0.10.0.1 issue (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/issues/967\"\u003e#967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/f32d5979ef387668162c2beb905b368e25accd70\"\u003e\u003ccode\u003ef32d597\u003c/code\u003e\u003c/a\u003e Deps: Parent POM 48 and align deps (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/issues/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/df0f2a6d7fbbaf79914cdb56fa5899d99c8eaf19\"\u003e\u003ccode\u003edf0f2a6\u003c/code\u003e\u003c/a\u003e Bump commons-codec:commons-codec from 1.21.0 to 1.22.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/issues/976\"\u003e#976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/2da7a68b4d8d9d2da866ffaf1e07a206c9b7115d\"\u003e\u003ccode\u003e2da7a68\u003c/code\u003e\u003c/a\u003e Add null checks for modelId in PluginWrapper\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/91eb4d9fe1f6f65137991c1131131ceaca542245\"\u003e\u003ccode\u003e91eb4d9\u003c/code\u003e\u003c/a\u003e Bump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/issues/975\"\u003e#975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/b6222459bf3256bfd747731a7f4ea81577777ffe\"\u003e\u003ccode\u003eb622245\u003c/code\u003e\u003c/a\u003e Bump mavenVersion from 3.9.14 to 3.9.15 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/issues/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/maven-enforcer/compare/enforcer-3.5.0...enforcer-3.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.tngtech.archunit:archunit-junit5` from 1.2.0 to 1.5.0\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.5.0\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 27 / class file major version 71 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1618\"\u003e#1618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove descriptions of \u003ccode\u003eJavaAccess.Predicates.originOwner\u003c/code\u003e and \u003ccode\u003eJavaAccess.Predicates.targetOwner\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1603\"\u003e#1603\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eExpose information on sealed classes via \u003ccode\u003eJavaClass\u003c/code\u003e: \u003ccode\u003eisSealed()\u003c/code\u003e and \u003ccode\u003egetPermittedSubclasses()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/bannmann\"\u003e\u003ccode\u003e@​bannmann\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eImportOption.DoNotIncludeTests\u003c/code\u003e and \u003ccode\u003eOnlyIncludeTests\u003c/code\u003e consider tests in custom Gradle source sets (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/Develop-KIM\"\u003e\u003ccode\u003e@​Develop-KIM\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLang\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchConditions\u003c/code\u003e offers new \u003ccode\u003eArchCondition\u0026lt;JavaClass\u0026gt; haveAnyDependenciesThat(DescribedPredicate\u0026lt;Dependency\u0026gt;)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1580\"\u003e#1580\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/wakingrufus\"\u003e\u003ccode\u003e@​wakingrufus\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchitectureMetrics.lakosMetrics\u003c/code\u003e is computed much more performantly (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1629\"\u003e#1629\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/ThanosTsiamis\"\u003e\u003ccode\u003e@​ThanosTsiamis\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTextFileBasedViolationStore\u003c/code\u003e is now thread-safe under parallel test execution (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1656\"\u003e#1656\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/kelunik\"\u003e\u003ccode\u003e@​kelunik\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eModuleDependency\u003c/code\u003e now provides stable descriptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1648\"\u003e#1648\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/DragonFSKY\"\u003e\u003ccode\u003e@​DragonFSKY\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eJUnit\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003earchunit-junit6\u003c/code\u003e supports ArchUnit with JUnit 6 (\u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1556\"\u003e#1556\u003c/a\u003e\u003c/del\u003e, \u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1658\"\u003e#1658\u003c/a\u003e\u003c/del\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1659\"\u003e#1659\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnalyzeClasses\u003c/code\u003e supports individual classes (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1569\"\u003e#1569\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003ePreparation:\u003c/em\u003e \u003ccode\u003earchunit-junit:0.9.0\u003c/code\u003e (which was renamed with \u003ca href=\"https://github.com/TNG/ArchUnit/releases/tag/v0.9.0\"\u003eArchUnit 0.9.0\u003c/a\u003e) now relocates to \u003ccode\u003earchunit-junit4:0.9.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1673\"\u003e#1673\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋) – will be published after \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1684\"\u003e#1684\u003c/a\u003e 🙈\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocument \u003ccode\u003ePriority\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1671\"\u003e#1671\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eDocument Package Identifiers in User Guide (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1672\"\u003e#1672\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eInternal Improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eText files now use UNIX line breaks (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1602\"\u003e#1602\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1611\"\u003e#1611\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eUpdate Gradle from 8 to 9; build \u0026amp; test with JDK 25 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1550\"\u003e#1550\u003c/a\u003e, and also \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1612\"\u003e#1612\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1619\"\u003e#1619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSeparate integration tests by JUnit version (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1636\"\u003e#1636\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003ejunit-dataprovider\u003c/code\u003e with \u003ccode\u003ejunit-jupiter-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1655\"\u003e#1655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eArchUnit releases now update Maven examples (and Gradle wrapper) of \u003ca href=\"https://github.com/TNG/ArchUnit-Examples\"\u003eArchUnit-Examples\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid managing hamcrest dependency (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1467\"\u003e#1467\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\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\u003ch2\u003eArchUnit 1.4.1\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 25 / class file major version 69 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1440\"\u003e#1440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\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/TNG/ArchUnit/commit/502d782bfbf2632a2c9f943a502ddd8cc3e3c46d\"\u003e\u003ccode\u003e502d782\u003c/code\u003e\u003c/a\u003e prepare release 1.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/4f26fccd784d37f469e743950f8e0a3ff686d64b\"\u003e\u003ccode\u003e4f26fcc\u003c/code\u003e\u003c/a\u003e fix testRelease exec() and task registration for Gradle 9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/96af98457c924289ecff834737eebd8a55bddda6\"\u003e\u003ccode\u003e96af984\u003c/code\u003e\u003c/a\u003e add new developers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/e427828fcb9b09117cd0e59a471314218f8331d5\"\u003e\u003ccode\u003ee427828\u003c/code\u003e\u003c/a\u003e consolidate POM checks during CI and release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a30f6e3465ed3cb0868607debf80bf83e741b5f0\"\u003e\u003ccode\u003ea30f6e3\u003c/code\u003e\u003c/a\u003e Bump gradle/actions from 6 to 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a036c08707c50e6f7091754e63389f5bd2aaec64\"\u003e\u003ccode\u003ea036c08\u003c/code\u003e\u003c/a\u003e Bump com.github.ben-manes.versions from 0.57.0 to 0.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/24a9d9e10d4bb5ba5c5678d36810ef2397470163\"\u003e\u003ccode\u003e24a9d9e\u003c/code\u003e\u003c/a\u003e Bump actions/setup-java from 5.6.0 to 5.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/9944244c116f2724ac5bc1d02c73ca10af1c92e4\"\u003e\u003ccode\u003e9944244\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/51fd6c9e90c681a3d644f8a1e86a428f64fe3418\"\u003e\u003ccode\u003e51fd6c9\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/65f4cd3a60c48b0654daa4662b563e6b8545e221\"\u003e\u003ccode\u003e65f4cd3\u003c/code\u003e\u003c/a\u003e add support for dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TNG/ArchUnit/compare/v1.2.0...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jacoco:jacoco-maven-plugin` from 0.8.14 to 0.8.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jacoco/jacoco/releases\"\u003eorg.jacoco:jacoco-maven-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.8.15\u003c/h2\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eJaCoCo now officially supports Java 26 (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2076\"\u003e#2076\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eExperimental support for Java 27 class files (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2004\"\u003e#2004\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eCompatibility methods generated by Kotlin compiler for functions defined in interfaces are filtered out during generation of report (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/1905\"\u003e#1905\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eCompatibility methods generated by Kotlin compiler for exposed boxed inline value classes (JvmExposeBoxed annotation) are filtered out during generation of report (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/1944\"\u003e#1944\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMethods generated by the Kotlin compiler for functions with JvmStatic annotation are filtered out during generation of report (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2097\"\u003e#2097\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved filtering of bytecode generated by Kotlin compiler for when expressions and statements with kotlin.String subject where first branch condition contains string with largest hash (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2098\"\u003e#2098\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003ePart of bytecode that javac versions from 24 to 26 generate for switch statements and expressions with selector expression of type java.lang.String inside lambdas is filtered out during generation of report (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2023\"\u003e#2023\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved performance of Kotlin files analysis by parsing SMAPs only once per class (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2114\"\u003e#2114\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFor better performance agent output methods tcpclient and tcpserver use BufferedOutputStream to write execution data to socket. Maven plugin, Ant tasks, CLI, API usage examples, and ExecDumpClient API use BufferedInputStream to read execution data from socket. Third-party integrations should do the same to benefit from this change in agent (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2089\"\u003e#2089\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed bugs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed processing of Kotlin SMAP in synthetic classes (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/1985\"\u003e#1985\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMultiple JaCoCo runtimes within one JVM writing to the same output file should not cause data corruption when running on JDK versions from 6 to 10 affected by \u003ca href=\"https://bugs.openjdk.org/browse/JDK-8166253\"\u003eJDK-8166253\u003c/a\u003e (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2065\"\u003e#2065\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2074\"\u003e#2074\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFor better performance agent writes to output file via BufferedOutputStream, this fixes regression introduced in version 0.6.2 (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2073\"\u003e#2073\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed NullPointerException when JaCoCo agent is loaded by non system class loader, for example when loaded by JBoss Modules (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/1651\"\u003e#1651\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNon-functional Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eJaCoCo now depends on ASM 9.10.1 (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2134\"\u003e#2134\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/jacoco/jacoco/commit/6c5260a192eaa535e4a519771d530781cbac9136\"\u003e\u003ccode\u003e6c5260a\u003c/code\u003e\u003c/a\u003e Prepare release v0.8.15\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/5c05141431a7f064a804a923fbae11271241f116\"\u003e\u003ccode\u003e5c05141\u003c/code\u003e\u003c/a\u003e Transfer of execution data through socket should use buffered stream (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2089\"\u003e#2089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/ab5efa9d63c06899b2aec1d4a6099fc856132a22\"\u003e\u003ccode\u003eab5efa9\u003c/code\u003e\u003c/a\u003e Remove from Azure Pipelines all builds except with JDK 5 and JDK EA (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2148\"\u003e#2148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/5f6ea38f20ff4583deb4ab976571c853231f97c2\"\u003e\u003ccode\u003e5f6ea38\u003c/code\u003e\u003c/a\u003e Use Windows 2025 image in GitHub Actions (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2130\"\u003e#2130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/35a8af2cfc168ce51f2a3ea2d55d65f31e61c513\"\u003e\u003ccode\u003e35a8af2\u003c/code\u003e\u003c/a\u003e Use Renovate instead of Dependabot for updates of ASM (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2137\"\u003e#2137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/85b8ddf530821f75b3b26f5f96d03252286b3ad6\"\u003e\u003ccode\u003e85b8ddf\u003c/code\u003e\u003c/a\u003e Upgrade ASM to 9.10.1 (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2134\"\u003e#2134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/2988647ac37c3ad35a77b51d01b10a916b85627b\"\u003e\u003ccode\u003e2988647\u003c/code\u003e\u003c/a\u003e AgentModule should use ClassLoader of agent instead of SystemClassLoader (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/1651\"\u003e#1651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/75a4e31fed32f180fbe4593ad91ec5c176c0535b\"\u003e\u003ccode\u003e75a4e31\u003c/code\u003e\u003c/a\u003e Add filter for Kotlin \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/1944\"\u003e#1944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/691fa1d6a0dffa91f45daf0714f28bfdaa367fc0\"\u003e\u003ccode\u003e691fa1d\u003c/code\u003e\u003c/a\u003e Use Renovate instead of Dependabot for updates of GitHub Actions (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2132\"\u003e#2132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/3e18f17207bca0203b726ace460aa6be8d0f3dd4\"\u003e\u003ccode\u003e3e18f17\u003c/code\u003e\u003c/a\u003e Require at least JDK 21 for build (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2128\"\u003e#2128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jacoco/jacoco/compare/v0.8.14...v0.8.15\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.baomidou:mybatis-plus-spring-boot3-starter` from 3.5.16 to 3.5.17\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/baomidou/mybatis-plus/releases\"\u003ecom.baomidou:mybatis-plus-spring-boot3-starter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.17\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6899\u003c/code\u003e 多租户插件 \u003ccode\u003e@Many\u003c/code\u003e 注解查无效问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6938\u003c/code\u003e \u003ccode\u003eHashMap\u003c/code\u003e 设置类型转换器异常\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7081\u003c/code\u003e 解决拦截全表存在 \u003ccode\u003eschema\u003c/code\u003e 校验问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6905\u003c/code\u003e 关于 \u003ccode\u003esaveOrUpdateBatch\u003c/code\u003e 导致 \u003ccode\u003eParameterHandler\u003c/code\u003e 被重复执行问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7056\u003c/code\u003e 支持 \u003ccode\u003eGraalVM Native\u003c/code\u003e 二进制编译问题，案例 \u003ca href=\"https://gitee.com/baomidou/mybatis-plus-native-image-demo\"\u003ehttps://gitee.com/baomidou/mybatis-plus-native-image-demo\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7027\u003c/code\u003e 支持 \u003ccode\u003eJDK 9+\u003c/code\u003e 模块化包重名问题，注意 \u003ccode\u003emybatis-plus-spring\u003c/code\u003e 模块下文件包名调整\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ewrapper\u003c/code\u003e 支持 \u003ccode\u003exml\u003c/code\u003e 别名配置\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003emybatis-plus-spring-boot-native-image\u003c/code\u003e 模块支持 \u003ccode\u003egraalvm\u003c/code\u003e 编译能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 支持自动识别 \u003ccode\u003etypeHandler\u003c/code\u003e 类型处理器\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 对比 \u003ccode\u003eeqOrIsNull\u003c/code\u003e 方法\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ei18n\u003c/code\u003e 逻辑删除日期格式及自动更新填充能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eGroovy\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eKotlin\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eMybatisEnumTypeHandler\u003c/code\u003e 枚举类型处理器支持缓存处理机制\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eITableFieldMetaInfoCustomizer\u003c/code\u003e 代码生成器扩展属性元数据处理能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eSequence\u003c/code\u003e 减少增加上下文切换\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eLambdaQueryWrapper.sqlSelect\u003c/code\u003e 属性修改为 \u003ccode\u003eprotected\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003esql\u003c/code\u003e 注入性能调整为函数方式拼接减少字符串\u003ccode\u003eformat\u003c/code\u003e使用\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eCursor\u003c/code\u003e 游标查询一条记录能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eformat\u003c/code\u003e 部分修改为字符串组合\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eexecuteBatch\u003c/code\u003e 根据执行影响行数返回确定结果布尔值\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eTableInfo\u003c/code\u003e 扩展允许返回新的自定义实例对象\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eIJsonTypeHandler\u003c/code\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/baomidou/mybatis-plus/blob/3.0/CHANGELOG.md\"\u003ecom.baomidou:mybatis-plus-spring-boot3-starter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v3.5.17] 2026.07.07\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6899\u003c/code\u003e 多租户插件 \u003ccode\u003e@Many\u003c/code\u003e 注解查无效问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6938\u003c/code\u003e \u003ccode\u003eHashMap\u003c/code\u003e 设置类型转换器异常\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7081\u003c/code\u003e 解决拦截全表存在 \u003ccode\u003eschema\u003c/code\u003e 校验问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6905\u003c/code\u003e 关于 \u003ccode\u003esaveOrUpdateBatch\u003c/code\u003e 导致 \u003ccode\u003eParameterHandler\u003c/code\u003e 被重复执行问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7056\u003c/code\u003e 支持 \u003ccode\u003eGraalVM Native\u003c/code\u003e 二进制编译问题，案例 \u003ca href=\"https://gitee.com/baomidou/mybatis-plus-native-image-demo\"\u003ehttps://gitee.com/baomidou/mybatis-plus-native-image-demo\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7027\u003c/code\u003e 支持 \u003ccode\u003eJDK 9+\u003c/code\u003e 模块化包重名问题，注意 \u003ccode\u003emybatis-plus-spring\u003c/code\u003e 模块下文件包名调整\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ewrapper\u003c/code\u003e 支持 \u003ccode\u003exml\u003c/code\u003e 别名配置\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003emybatis-plus-spring-boot-native-image\u003c/code\u003e 模块支持 \u003ccode\u003egraalvm\u003c/code\u003e 编译能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 支持自动识别 \u003ccode\u003etypeHandler\u003c/code\u003e 类型处理器\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 对比 \u003ccode\u003eeqOrIsNull\u003c/code\u003e 方法\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ei18n\u003c/code\u003e 逻辑删除日期格式及自动更新填充能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eGroovy\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eKotlin\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eMybatisEnumTypeHandler\u003c/code\u003e 枚举类型处理器支持缓存处理机制\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eITableFieldMetaInfoCustomizer\u003c/code\u003e 代码生成器扩展属性元数据处理能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eSequence\u003c/code\u003e 减少增加上下文切换\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eLambdaQueryWrapper.sqlSelect\u003c/code\u003e 属性修改为 \u003ccode\u003eprotected\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003esql\u003c/code\u003e 注入性能调整为函数方式拼接减少字符串\u003ccode\u003eformat\u003c/code\u003e使用\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eCursor\u003c/code\u003e 游标查询一条记录能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eformat\u003c/code\u003e 部分修改为字符串组合\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eexecuteBatch\u003c/code\u003e 根据执行影响行数返回确定结果布尔值\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eTableInfo\u003c/code\u003e 扩展允许返回新的自定义实例对象\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eIJsonTypeHandler\u003c/code\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/baomidou/mybatis-plus/commit/db0b3c4bb58a38bad9c3d78b7269d8a477cc6a63\"\u003e\u003ccode\u003edb0b3c4\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本脚本修复\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/28b9d23dfc436144922a519e2847d634d231d9fb\"\u003e\u003ccode\u003e28b9d23\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/baomidou/mybatis-plus/issues/7141\"\u003e#7141\u003c/a\u003e from smf-h/docs-idworker-sequence-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/7fbc364bcc720071082ef084850f12fe7572dad3\"\u003e\u003ccode\u003e7fbc364\u003c/code\u003e\u003c/a\u003e docs(core): clarify IdWorker sequence configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/404950bad052846233e137d1ba43cfc1fc960cd6\"\u003e\u003ccode\u003e404950b\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/070d5ea372a2d1f56a3d251d66cfc68303cb71a5\"\u003e\u003ccode\u003e070d5ea\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/0bc2e2f744409a75094a251d5b25d91f416ba23d\"\u003e\u003ccode\u003e0bc2e2f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/baomidou/mybatis-plus/issu...\n\n_Description has been truncated_","html_url":"https://github.com/DavidHLP/UltiCode/pull/136","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavidHLP%2FUltiCode/issues/136","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/136/packages"}},{"old_version":"1.3.0","new_version":"1.5.0","update_type":"minor","path":"/apps/api","pr_created_at":"2026-09-05T00:21:24.000Z","version_change":"1.3.0 → 1.5.0","issue":{"uuid":"5354393555","node_id":"PR_kwDONKilvs8AAAABCRuKwQ","number":1,"state":"closed","title":"chore(deps): bump the gradle-minor-patch group in /apps/api with 8 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-05T00:23:29.000Z","author_association":null,"state_reason":null,"created_at":"2026-09-05T00:21:24.000Z","updated_at":"2026-09-05T00:23:31.000Z","time_to_close":125,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-minor-patch","update_count":8,"packages":[{"name":"software.amazon.awssdk:s3","old_version":"2.25.16","new_version":"2.54.10"},{"name":"org.jsoup:jsoup","old_version":"1.17.2","new_version":"1.23.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"io.jsonwebtoken:jjwt-api","old_version":"0.12.5","new_version":"0.13.0","repository_url":"https://github.com/jwtk/jjwt"},{"name":"io.jsonwebtoken:jjwt-impl","old_version":"0.12.5","new_version":"0.13.0","repository_url":"https://github.com/jwtk/jjwt"},{"name":"io.jsonwebtoken:jjwt-jackson","old_version":"0.12.5","new_version":"0.13.0"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.3.0","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"io.spring.dependency-management","old_version":"1.1.4","new_version":"1.1.7","repository_url":"https://github.com/spring-gradle-plugins/dependency-management-plugin"},{"name":"com.google.protobuf","old_version":"0.9.4","new_version":"0.10.0"}],"path":"/apps/api","ecosystem":"maven"},"body":"Bumps the gradle-minor-patch group in /apps/api with 8 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| software.amazon.awssdk:s3 | `2.25.16` | `2.54.10` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.17.2` | `1.23.2` |\n| [io.jsonwebtoken:jjwt-api](https://github.com/jwtk/jjwt) | `0.12.5` | `0.13.0` |\n| [io.jsonwebtoken:jjwt-impl](https://github.com/jwtk/jjwt) | `0.12.5` | `0.13.0` |\n| io.jsonwebtoken:jjwt-jackson | `0.12.5` | `0.13.0` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.3.0` | `1.5.0` |\n| [io.spring.dependency-management](https://github.com/spring-gradle-plugins/dependency-management-plugin) | `1.1.4` | `1.1.7` |\n| com.google.protobuf | `0.9.4` | `0.10.0` |\n\nUpdates `software.amazon.awssdk:s3` from 2.25.16 to 2.54.10\n\nUpdates `org.jsoup:jsoup` from 1.17.2 to 1.23.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 1.23.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.23.2\u003c/strong\u003e is out now. This release focuses largely on bug fixes, specification correctness, and performance improvements.\u003c/p\u003e\n\u003cp\u003eIt brings closer alignment with the HTML, XML, URL, and form submission specifications; improves XML and W3C DOM conversion; and makes HTTP workloads more efficient through streamed request bodies and broader JDK \u003ccode\u003eHttpClient\u003c/code\u003e reuse.\u003c/p\u003e\n\u003cp\u003eThis version also includes new node insertion methods for \u003ccode\u003eElements\u003c/code\u003e, and DOM mutations now reject operations that would create a cycle.\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\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved consecutive \u003ccode\u003eStreamParser.selectFirst()\u003c/code\u003e calls during progressive parsing, so later matches are returned with their parsed contents when earlier selections had left them as parser lookahead. E.g., given \u003ccode\u003e\u0026lt;title\u0026gt;One\u0026lt;/title\u0026gt;\u0026lt;p id=hit\u0026gt;Full\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;Next\u0026lt;/p\u0026gt;\u003c/code\u003e, selecting \u003ccode\u003etitle\u003c/code\u003e and then \u003ccode\u003e#hit\u003c/code\u003e now advances the partial lookahead and returns \u003ccode\u003e\u0026lt;p id=\u0026quot;hit\u0026quot;\u0026gt;Full\u0026lt;/p\u0026gt;\u003c/code\u003e, rather than returning an empty \u003ccode\u003e\u0026lt;p id=\u0026quot;hit\u0026quot;\u0026gt;\u0026lt;/p\u0026gt;\u003c/code\u003e before its content is parsed. The updated readiness tracking follows StreamParser's normal emission order across implicit HTML structure and parser recovery. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2551\"\u003e#2551\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eImproved XML parser performance and memory use for documents with many nested namespace declarations by recording namespace changes within each element scope. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2556\"\u003e#2556\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eW3CDom\u003c/code\u003e conversion performance for documents with many nested namespace declarations. The W3C converter now uses the same optimized namespace tracking as the XML parser. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2559\"\u003e#2559\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eW3CDom\u003c/code\u003e XML conversion to retain processing instructions, comments outside the root element, and CDATA sections, which were previously dropped or converted to text. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2572\"\u003e#2572\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDOM mutation methods, including child insertion and replacement, now reject operations that would create a cycle, such as making a node its own child or moving an ancestor beneath a descendant. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2552\"\u003e#2552\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eElements#before(Node)\u003c/code\u003e, \u003ccode\u003eafter(Node)\u003c/code\u003e, \u003ccode\u003eprepend(Node)\u003c/code\u003e, and \u003ccode\u003eappend(Node)\u003c/code\u003e to match the existing HTML string methods. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/953\"\u003e#953\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eLarge file-backed uploads through \u003ccode\u003eConnection.requestBodyStream(InputStream)\u003c/code\u003e now stream directly with the JDK \u003ccode\u003eHttpClient\u003c/code\u003e on Java 11+, rather than being loaded fully into memory first. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2576\"\u003e#2575\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eExtended Java 11+ HTTP client reuse from requests sharing a \u003ccode\u003eJsoup.newSession()\u003c/code\u003e to ordinary \u003ccode\u003eJsoup.connect()\u003c/code\u003e calls, reducing transport thread and connection setup churn under sustained request loads. Sessions with custom authentication or SSL contexts continue to use their own client. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2584\"\u003e#2584\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAligned the XML parser stack depth and lookups to the configured maximum, which now defaults to 512 for both HTML and XML. Use \u003ccode\u003eParser#setMaxDepth(int)\u003c/code\u003e to configure. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2570\"\u003e#2570\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\u003eFixed \u003ccode\u003eW3CDom\u003c/code\u003e namespace conversion in several cases: \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2559\"\u003e#2559\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eNamespace declarations and prefixed attributes now carry the correct namespace URI, so namespace-aware DOM lookups work as expected.\u003c/li\u003e\n\u003cli\u003eAttributes added after parsing, or included through subtree conversion, now use inherited prefix declarations.\u003c/li\u003e\n\u003cli\u003eNamespace declarations now apply regardless of attribute order, and an empty declaration shadows an inherited binding only within its scope.\u003c/li\u003e\n\u003cli\u003eWith namespace awareness disabled, inherited and undeclared prefixes now receive the declarations needed for XML serialization.\u003c/li\u003e\n\u003cli\u003eValid HTML names that are not XML QNames, such as \u003ccode\u003ea:b:c\u003c/code\u003e, are normalized. Attributes that still cannot be represented are skipped, and unrepresentable elements no longer change the surrounding tree.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eW3CDom\u003c/code\u003e conversion of programmatically created or renamed elements whose names can be represented in a jsoup HTML DOM but are not valid XML names, such as \u003ccode\u003e1abc\u003c/code\u003e. These names are now normalized (e.g. \u003ccode\u003e_1abc\u003c/code\u003e) instead of causing a \u003ccode\u003eNullPointerException\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2560\"\u003e#2560\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed XML doctype serialization when a system identifier contains a double quote, which could otherwise produce invalid XML. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2571\"\u003e#2571\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eXML serialization now repairs element and attribute names that start with an invalid character, rather than outputting \u003ccode\u003enull\u003c/code\u003e elements or dropping attributes. For example, an attribute named \u003ccode\u003e1a\u003c/code\u003e is written as \u003ccode\u003e_1a\u003c/code\u003e. Additional leading underscores keep repaired attribute names unique if they conflict with another attribute. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2573\"\u003e#2573\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eSupplementary Unicode characters are now escaped correctly when serializing with non-UTF, non-ASCII output charsets such as ISO-8859-1. Previously, characters could be emitted unescaped when their low 16-bit value was representable by the configured charset, causing replacement or corruption when the output was encoded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2578\"\u003e#2578\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed the JDK \u003ccode\u003eHttpClient\u003c/code\u003e implementation to accept responses missing a \u003ccode\u003eContent-Type\u003c/code\u003e header, matching the \u003ccode\u003eHttpURLConnection\u003c/code\u003e implementation. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2549\"\u003e#2549\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed HTTP response content-type matching to handle media types case-insensitively and recognize structured \u003ccode\u003e+xml\u003c/code\u003e suffixes, including vendor-specific media types. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2550\"\u003e#2550\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eHTTP request URL normalization now percent-encodes ASCII control characters, DEL, and embedded fragment delimiters, keeping normalized URLs valid for HTTP requests while preserving existing escapes. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2585\"\u003e#2585\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eCorrected multipart form encoding to percent-escape CR and LF in field names and filenames, matching the HTML form submission specification. Multipart file content-types containing CR or LF are now rejected with a \u003ccode\u003eValidationException\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2555\"\u003e#2555\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAligned trailing comment placement with the HTML specification: comments after \u003ccode\u003e\u0026lt;/body\u0026gt;\u003c/code\u003e remain children of the \u003ccode\u003ehtml\u003c/code\u003e element, while comments after \u003ccode\u003e\u0026lt;/html\u0026gt;\u003c/code\u003e remain children of the document. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2557\"\u003e#2557\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eWhen using the optional \u003ccode\u003ere2j\u003c/code\u003e regular expression engine, memory allocation errors caused by complex selector patterns at match time are now normalized to a \u003ccode\u003eValidationException\u003c/code\u003e with a \u003ccode\u003ePattern complexity error\u003c/code\u003e message.\u003c/li\u003e\n\u003cli\u003eFixed parsing of malformed SVG and MathML content so that breakout HTML tags are placed according to the HTML specification. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2562\"\u003e#2562\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed deeply nested malformed HTML parsing that could lose the document body because stack lookups did not align to the configured maximum parser depth. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2569\"\u003e#2569\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAligned RCDATA, RAWTEXT, and script-data parsing with the HTML specification: malformed end tags no longer consume following markup, unclosed \u003ccode\u003etitle\u003c/code\u003e/\u003ccode\u003etextarea\u003c/code\u003e content stays text through EOF, and custom text tags match exact names. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2577\"\u003e#2577\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eImproved URL validation during HTTP/HTTPS URL resolution and cleaning; resolved URLs without a host are now rejected instead of being accepted based only on their scheme prefix, aligning to RFC 9110. Valid relative links and non-HTTP(S) schemes are unchanged. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2579\"\u003e#2579\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eRedirects with malformed single-slash HTTP locations now use standard URL resolution to align with browsers. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2580\"\u003e#2580\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eTemplate fragment parsing now handles unmatched \u003ccode\u003e\u0026lt;/template\u0026gt;\u003c/code\u003e tags without throwing a \u003ccode\u003eValidationException\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2581\"\u003e#2581\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eImproved source tracking for adopted formatting elements and malformed markup ending at EOF. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2582\"\u003e#2582\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\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.23.2 (2026-Aug-26)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved consecutive \u003ccode\u003eStreamParser.selectFirst(...)\u003c/code\u003e calls during progressive parsing, so later matches are returned with their parsed contents when earlier selections had left them as parser lookahead. E.g., given \u003ccode\u003e\u0026lt;title\u0026gt;One\u0026lt;/title\u0026gt;\u0026lt;p id=hit\u0026gt;Full\u0026lt;/p\u0026gt;\u0026lt;p\u0026gt;Next\u0026lt;/p\u0026gt;\u003c/code\u003e, selecting \u003ccode\u003etitle\u003c/code\u003e and then \u003ccode\u003e#hit\u003c/code\u003e now advances the partial lookahead and returns \u003ccode\u003e\u0026lt;p id=\u0026quot;hit\u0026quot;\u0026gt;Full\u0026lt;/p\u0026gt;\u003c/code\u003e, rather than returning an empty \u003ccode\u003e\u0026lt;p id=\u0026quot;hit\u0026quot;\u0026gt;\u0026lt;/p\u0026gt;\u003c/code\u003e before its content is parsed. The updated readiness tracking follows StreamParser's normal emission order across implicit HTML structure and parser recovery. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2551\"\u003e#2551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved XML parser performance and memory use for documents with many nested namespace declarations by recording namespace changes within each element scope. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2556\"\u003e#2556\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eW3CDom\u003c/code\u003e conversion performance for documents with many nested namespace declarations. The W3C converter now uses the same optimized namespace tracking as the XML parser. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2559\"\u003e#2559\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eW3CDom\u003c/code\u003e XML conversion to retain processing instructions, comments outside the root element, and CDATA sections, which were previously dropped or converted to text. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2572\"\u003e#2572\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDOM mutation methods, including child insertion and replacement, now reject operations that would create a cycle, such as making a node its own child or moving an ancestor beneath a descendant. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2552\"\u003e#2552\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eElements#before(Node)\u003c/code\u003e, \u003ccode\u003eafter(Node)\u003c/code\u003e, \u003ccode\u003eprepend(Node)\u003c/code\u003e, and \u003ccode\u003eappend(Node)\u003c/code\u003e to match the existing HTML string methods. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/953\"\u003e#953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLarge file-backed uploads through \u003ccode\u003eConnection.requestBodyStream(InputStream)\u003c/code\u003e now stream directly with the JDK \u003ccode\u003eHttpClient\u003c/code\u003e on Java 11+, rather than being loaded fully into memory first. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2576\"\u003e#2575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExtended Java 11+ HTTP client reuse from requests sharing a \u003ccode\u003eJsoup.newSession()\u003c/code\u003e to ordinary \u003ccode\u003eJsoup.connect(...)\u003c/code\u003e calls, reducing transport thread and connection setup churn under sustained request loads. Sessions with custom authentication or SSL contexts continue to use their own client. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2584\"\u003e#2584\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAligned the XML parser stack depth and lookups to the configured maximum, which now defaults to 512 for both HTML and XML. Use \u003ccode\u003eParser#setMaxDepth(int)\u003c/code\u003e to configure. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2570\"\u003e#2570\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eW3CDom\u003c/code\u003e namespace conversion in several cases: \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2559\"\u003e#2559\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNamespace declarations and prefixed attributes now carry the correct namespace URI, so namespace-aware DOM lookups work as expected.\u003c/li\u003e\n\u003cli\u003eAttributes added after parsing, or included through subtree conversion, now use inherited prefix declarations.\u003c/li\u003e\n\u003cli\u003eNamespace declarations now apply regardless of attribute order, and an empty declaration shadows an inherited binding only within its scope.\u003c/li\u003e\n\u003cli\u003eWith namespace awareness disabled, inherited and undeclared prefixes now receive the declarations needed for XML serialization.\u003c/li\u003e\n\u003cli\u003eValid HTML names that are not XML QNames, such as \u003ccode\u003ea:b:c\u003c/code\u003e, are normalized. Attributes that still cannot be represented are skipped, and unrepresentable elements no longer change the surrounding tree.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eW3CDom\u003c/code\u003e conversion of programmatically created or renamed elements whose names can be represented in a jsoup HTML DOM but are not valid XML names, such as \u003ccode\u003e1abc\u003c/code\u003e. These names are now normalized (e.g. \u003ccode\u003e_1abc\u003c/code\u003e) instead of causing a \u003ccode\u003eNullPointerException\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2560\"\u003e#2560\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed XML doctype serialization when a system identifier contains a double quote, which could otherwise produce invalid XML. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2571\"\u003e#2571\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eXML serialization now repairs element and attribute names that start with an invalid character, rather than outputting \u003ccode\u003enull\u003c/code\u003e elements or dropping attributes. For example, an attribute named \u003ccode\u003e1a\u003c/code\u003e is written as \u003ccode\u003e_1a\u003c/code\u003e. Additional leading underscores keep repaired attribute names unique if they conflict with another attribute. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2573\"\u003e#2573\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupplementary Unicode characters are now escaped correctly when serializing with non-UTF, non-ASCII output charsets such as ISO-8859-1. Previously, characters could be emitted unescaped when their low 16-bit value was representable by the configured charset, causing replacement or corruption when the output was encoded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2578\"\u003e#2578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed the JDK \u003ccode\u003eHttpClient\u003c/code\u003e implementation to accept responses missing a \u003ccode\u003eContent-Type\u003c/code\u003e header, matching the \u003ccode\u003eHttpURLConnection\u003c/code\u003e implementation. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2549\"\u003e#2549\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed HTTP response content-type matching to handle media types case-insensitively and recognize structured \u003ccode\u003e+xml\u003c/code\u003e suffixes, including vendor-specific media types. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2550\"\u003e#2550\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP request URL normalization now percent-encodes ASCII control characters, DEL, and embedded fragment delimiters, keeping normalized URLs valid for HTTP requests while preserving existing escapes. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2585\"\u003e#2585\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrected multipart form encoding to percent-escape CR and LF in field names and filenames, matching the HTML form submission specification. Multipart file content-types containing CR or LF are now rejected with a \u003ccode\u003eValidationException\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2555\"\u003e#2555\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAligned trailing comment placement with the HTML specification: comments after \u003ccode\u003e\u0026lt;/body\u0026gt;\u003c/code\u003e remain children of the \u003ccode\u003ehtml\u003c/code\u003e element, while comments after \u003ccode\u003e\u0026lt;/html\u0026gt;\u003c/code\u003e remain children of the document. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2557\"\u003e#2557\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using the optional \u003ccode\u003ere2j\u003c/code\u003e regular expression engine, memory allocation errors caused by complex selector patterns at match time are now normalized to a \u003ccode\u003eValidationException\u003c/code\u003e with a \u003ccode\u003ePattern complexity error\u003c/code\u003e message.\u003c/li\u003e\n\u003cli\u003eFixed parsing of malformed SVG and MathML content so that breakout HTML tags are placed according to the HTML specification. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2562\"\u003e#2562\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed deeply nested malformed HTML parsing that could lose the document body because stack lookups did not align to the configured maximum parser depth. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2569\"\u003e#2569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAligned RCDATA, RAWTEXT, and script-data parsing with the HTML specification: malformed end tags no longer consume following markup, unclosed \u003ccode\u003etitle\u003c/code\u003e/\u003ccode\u003etextarea\u003c/code\u003e content stays text through EOF, and custom text tags match exact names. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2577\"\u003e#2577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved URL validation during HTTP/HTTPS URL resolution and cleaning; resolved URLs without a host are now rejected instead of being accepted based only on their scheme prefix, aligning to RFC 9110. Valid relative links and non-HTTP(S) schemes are unchanged. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2579\"\u003e#2579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRedirects with malformed single-slash HTTP locations now use standard URL resolution to align with browsers. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2580\"\u003e#2580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTemplate fragment parsing now handles unmatched \u003ccode\u003e\u0026lt;/template\u0026gt;\u003c/code\u003e tags without throwing a \u003ccode\u003eValidationException\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2581\"\u003e#2581\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved source tracking for adopted formatting elements and malformed markup ending at EOF. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2582\"\u003e#2582\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.23.1 (2026-Jul-30)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduced retained memory when parsing with source position tracking enabled (\u003ccode\u003eParser#setTrackPosition(true)\u003c/code\u003e). Source ranges are now stored in compact parser-owned span records instead of node and attribute user data, and \u003ccode\u003ePosition\u003c/code\u003e objects are created lazily when source ranges are read. This cuts tracked DOM retained size by about 50-60% on representative benchmark documents, while keeping \u003ccode\u003eNode#sourceRange()\u003c/code\u003e, \u003ccode\u003eElement#endSourceRange()\u003c/code\u003e, and \u003ccode\u003eAttribute#sourceRange()\u003c/code\u003e behavior intact. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2498\"\u003e#2498\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eElement#classList()\u003c/code\u003e, an immutable snapshot of an element's class names in attribute order. Use \u003ccode\u003ehasClass()\u003c/code\u003e when you just need to test for one class, \u003ccode\u003eclassList()\u003c/code\u003e when you want to read or iterate classes without needing a mutable result, and \u003ccode\u003eclassNames()\u003c/code\u003e when you want the existing mutable, deduplicated set that can be written back with \u003ccode\u003eclassNames(Set)\u003c/code\u003e. The class APIs now share an HTML-whitespace scanner, which also makes \u003ccode\u003eclassNames()\u003c/code\u003e faster and lighter on allocation, especially when walking many elements without class names. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2500\"\u003e#2500\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAligned HTML parser scope classification with the current HTML spec for \u003ccode\u003eselect\u003c/code\u003e, \u003ccode\u003eforeignObject\u003c/code\u003e, and \u003ccode\u003etemplate\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2501\"\u003e#2501\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSimplified the HTML tree builder's scope, implied-end-tag, and special-element checks by caching parser-only options on Tag. That improves HTML parser throughput by about 10% on small inputs and up to about 30% on larger inputs in the benchmark fixtures. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2502\"\u003e#2502\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved HTML parser throughput stability by making hot tokeniser scan paths compile more predictably. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2507\"\u003e#2507\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e fallback markup is now parsed into an inspectable DOM subtree in both the document head and body. The fallback acts as a contained parsing island, so malformed markup cannot disrupt the surrounding document structure, while normal HTML tokenization still applies within it. This also improves round-trip serialization. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2537\"\u003e#2537\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved redirect credential handling as a defense-in-depth measure: explicit authorization headers and request cookies are no longer forwarded across origins, reducing exposure through open redirects and aligning with HTTP guidance. Cookies managed by a \u003ccode\u003eCookieStore\u003c/code\u003e continue to follow their configured scope. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2540\"\u003e#2540\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/fbc7775c462f5b023d8db54c9a73d7ec17d53300\"\u003e\u003ccode\u003efbc7775\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.23.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/133ebde65afda061ea12818e1e65a53f5d822ea4\"\u003e\u003ccode\u003e133ebde\u003c/code\u003e\u003c/a\u003e Release 1.23.2 notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/be2a74a1f6b3ad9cf2d3aeaac3f68b6c39929bc5\"\u003e\u003ccode\u003ebe2a74a\u003c/code\u003e\u003c/a\u003e Encode control chars during request URL normalization (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2585\"\u003e#2585\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/868f2eb1e6c9a2b826cd56f92b336fdbd616b241\"\u003e\u003ccode\u003e868f2eb\u003c/code\u003e\u003c/a\u003e Java 11 HTTP client reuse covers ordinary connections (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2584\"\u003e#2584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/19c758e2e4abc6a1f52193ceab09c22a7c010f8b\"\u003e\u003ccode\u003e19c758e\u003c/code\u003e\u003c/a\u003e Get Animal Sniffer to run over test code as well.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/17bb839aa5aa1519c729d78656d18adefee730cf\"\u003e\u003ccode\u003e17bb839\u003c/code\u003e\u003c/a\u003e Fix source tracking through HTML repair and malformed EOF (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2582\"\u003e#2582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cad054a61f3ae241a741b6658c50d6f962dfd43c\"\u003e\u003ccode\u003ecad054a\u003c/code\u003e\u003c/a\u003e Template stack checks need to exclude the fragment context (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2581\"\u003e#2581\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/46b620860af930eedc193a705eaf7cea5aec89a6\"\u003e\u003ccode\u003e46b6208\u003c/code\u003e\u003c/a\u003e Paranoimia\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/66be2da4e2bd7a207700a4cc9c867d15ae74a587\"\u003e\u003ccode\u003e66be2da\u003c/code\u003e\u003c/a\u003e HTTP redirects use standard URL resolution for single-slash locations (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2580\"\u003e#2580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/b035b623d3d1d0c50d84056d2946ba1a90f7f665\"\u003e\u003ccode\u003eb035b62\u003c/code\u003e\u003c/a\u003e Make hostless HTTP(S) URLs fail resolution and cleaning (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2579\"\u003e#2579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.17.2...jsoup-1.23.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.jsonwebtoken:jjwt-api` from 0.12.5 to 0.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jwtk/jjwt/releases\"\u003eio.jsonwebtoken:jjwt-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.13.0\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eThis is the last minor JJWT release branch that will support Java 7\u003c/strong\u003e.\u003c/p\u003e\n\u003cp\u003eAny necessary emergency bug fixes will be fixed in subsequent \u003ccode\u003e0.13.x\u003c/code\u003e patch releases, but all new development, including \u003ca href=\"https://github.com/jwtk/jjwt/issues?q=is%3Aissue%20label%3Ajdk8\"\u003eJava 8 compatible changes\u003c/a\u003e, will be in the next minor (\u003ccode\u003e0.14.0\u003c/code\u003e) release.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAll future JJWT major and minor versions (  \u003ccode\u003e0.14.0\u003c/code\u003e and later) will require Java 8 or later.\u003c/strong\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eThis release contains a single change:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe previously private \u003ccode\u003eJacksonDeserializer(ObjectMapper objectMapper, Map\u0026lt;String, Class\u0026lt;?\u0026gt;\u0026gt; claimTypeMap)\u003c/code\u003e constructor is now \u003ccode\u003epublic\u003c/code\u003e for those that want register a claims  type converter on their own specified \u003ccode\u003eObjectMapper\u003c/code\u003e instance. Thank you to \u003ca href=\"https://github.com/kesrishubham2510\"\u003e\u003ccode\u003e@​kesrishubham2510\u003c/code\u003e\u003c/a\u003e for PR \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/972\"\u003e#972\u003c/a\u003e. See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/914\"\u003eIssue 914\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jwtk/jjwt/compare/0.12.7...0.13.0\"\u003ehttps://github.com/jwtk/jjwt/compare/0.12.7...0.13.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.12.7\u003c/h2\u003e\n\u003cp\u003eThis patch release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdds a new Maven BOM! This is useful for multi-module projects. See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/967\"\u003eIssue 967\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllows the \u003ccode\u003eJwtParserBuilder\u003c/code\u003e to have empty nested algorithm collections, effectively disabling the parser's associated feature:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEmptying the \u003ccode\u003ezip()\u003c/code\u003e nested collection disables JWT decompression.\u003c/li\u003e\n\u003cli\u003eEmptying the \u003ccode\u003esig()\u003c/code\u003e nested collection disables JWS mac/signature verification (i.e. all JWSs will be unsupported/rejected).\u003c/li\u003e\n\u003cli\u003eEmptying either the \u003ccode\u003eenc()\u003c/code\u003e or \u003ccode\u003ekey()\u003c/code\u003e nested collections disables JWE decryption (i.e. all JWEs will be unsupported/rejected)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/996\"\u003eIssue 996\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/961\"\u003ebug 961\u003c/a\u003e where \u003ccode\u003eJwtParserBuilder\u003c/code\u003e nested collection builders were not correctly replacing algorithms with the same id.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsures a \u003ccode\u003eJwkSet\u003c/code\u003e's \u003ccode\u003ekeys\u003c/code\u003e collection is no longer entirely secret/redacted by default.  This was an overzealous default that was unnecessarily restrictive; the \u003ccode\u003ekeys\u003c/code\u003e collection itself should always be public, and each individual key within should determine which fields should be redacted when printed. See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/976\"\u003eIssue 976\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImproves performance slightly by ensuring all \u003ccode\u003ejjwt-api\u003c/code\u003e utility methods that create \u003ccode\u003e*Builder\u003c/code\u003e instances (\u003ccode\u003eJwts.builder()\u003c/code\u003e, \u003ccode\u003eJwts.parserBuilder()\u003c/code\u003e, \u003ccode\u003eJwks.builder()\u003c/code\u003e, etc) no longer use reflection.\u003c/p\u003e\n\u003cp\u003eInstead,\u003ccode\u003estatic\u003c/code\u003e factories are created via reflection only once during initial \u003ccode\u003ejjwt-api\u003c/code\u003e classloading, and then \u003ccode\u003e*Builder\u003c/code\u003es are created via standard instantiation using the \u003ccode\u003enew\u003c/code\u003e operator thereafter.  This also benefits certain environments that may not have ideal \u003ccode\u003eClassLoader\u003c/code\u003e implementations (e.g. Tomcat in some cases).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNOTE: because this changes which classes are loaded via reflection, any environments that must explicitly reference reflective class names (e.g. GraalVM applications) will need to be updated to reflect the new factory class names\u003c/strong\u003e.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/988\"\u003eIssue 988\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrades the Gson dependency to \u003ccode\u003e2.11.0\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrades the BouncyCastle dependency to \u003ccode\u003e1.78.1\u003c/code\u003e\u003c/p\u003e\n\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/sigpwned\"\u003e\u003ccode\u003e@​sigpwned\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jwtk/jjwt/pull/968\"\u003ejwtk/jjwt#968\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TheMrMilchmann\"\u003e\u003ccode\u003e@​TheMrMilchmann\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jwtk/jjwt/pull/979\"\u003ejwtk/jjwt#979\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/atanasg\"\u003e\u003ccode\u003e@​atanasg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jwtk/jjwt/pull/974\"\u003ejwtk/jjwt#974\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jwtk/jjwt/compare/0.12.6...0.12.7\"\u003ehttps://github.com/jwtk/jjwt/compare/0.12.6...0.12.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.12.6\u003c/h2\u003e\n\u003cp\u003eThis patch release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnsures that after successful JWS signature verification, an application-configured Base64Url \u003ccode\u003eDecoder\u003c/code\u003e output is\nused to construct a \u003ccode\u003eJws\u003c/code\u003e instance (instead of JJWT's default decoder). See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/947\"\u003ejwtk/jjwt#947\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jwtk/jjwt/blob/main/CHANGELOG.md\"\u003eio.jsonwebtoken:jjwt-api's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e0.13.0\u003c/h3\u003e\n\u003cp\u003eThis is the last minor JJWT release branch that will support Java 7. Any necessary emergency bug fixes will be fixed in subsequent \u003ccode\u003e0.13.x\u003c/code\u003e patch releases, but all new development, including Java 8 compatible changes, will be in the next minor (\u003ccode\u003e0.14.0\u003c/code\u003e) release.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAll future JJWT major and minor versions (  \u003ccode\u003e0.14.0\u003c/code\u003e and later) will require Java 8 or later.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThis \u003ccode\u003e0.13.0\u003c/code\u003e minor release has only one change:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe previously private \u003ccode\u003eJacksonDeserializer(ObjectMapper objectMapper, Map\u0026lt;String, Class\u0026lt;?\u0026gt;\u0026gt; claimTypeMap)\u003c/code\u003e constructor is now \u003ccode\u003epublic\u003c/code\u003e for those that want register a claims\ntype converter on their own specified \u003ccode\u003eObjectMapper\u003c/code\u003e instance.  See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/914\"\u003eIssue 914\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e0.12.7\u003c/h3\u003e\n\u003cp\u003eThis patch release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdds a new Maven BOM, useful for multi-module projects. See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/967\"\u003eIssue 967\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllows the \u003ccode\u003eJwtParserBuilder\u003c/code\u003e to have empty nested algorithm collections, effectively disabling the parser's associated feature:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEmptying the \u003ccode\u003ezip()\u003c/code\u003e nested collection disables JWT decompression.\u003c/li\u003e\n\u003cli\u003eEmptying the \u003ccode\u003esig()\u003c/code\u003e nested collection disables JWS mac/signature verification (i.e. all JWSs will be unsupported/rejected).\u003c/li\u003e\n\u003cli\u003eEmptying either the \u003ccode\u003eenc()\u003c/code\u003e or \u003ccode\u003ekey()\u003c/code\u003e nested collections disables JWE decryption (i.e. all JWEs will be unsupported/rejected)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/996\"\u003eIssue 996\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/961\"\u003ebug 961\u003c/a\u003e where \u003ccode\u003eJwtParserBuilder\u003c/code\u003e nested collection builders were not correctly replacing algorithms with the same id.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsures a \u003ccode\u003eJwkSet\u003c/code\u003e's \u003ccode\u003ekeys\u003c/code\u003e collection is no longer entirely secret/redacted by default.  This was an overzealous default that was unnecessarily restrictive; the \u003ccode\u003ekeys\u003c/code\u003e collection itself should always be public, and each individual key within should determine which fields should be redacted when printed. See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/976\"\u003eIssue 976\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImproves performance slightly by ensuring all \u003ccode\u003ejjwt-api\u003c/code\u003e utility methods that create \u003ccode\u003e*Builder\u003c/code\u003e instances (\u003ccode\u003eJwts.builder()\u003c/code\u003e, \u003ccode\u003eJwts.parserBuilder()\u003c/code\u003e, \u003ccode\u003eJwks.builder()\u003c/code\u003e, etc) no longer use reflection.\u003c/p\u003e\n\u003cp\u003eInstead,\u003ccode\u003estatic\u003c/code\u003e factories are created via reflection only once during initial \u003ccode\u003ejjwt-api\u003c/code\u003e classloading, and then \u003ccode\u003e*Builder\u003c/code\u003es are created via standard instantiation using the \u003ccode\u003enew\u003c/code\u003e operator thereafter.  This also benefits certain environments that may not have ideal \u003ccode\u003eClassLoader\u003c/code\u003e implementations (e.g. Tomcat in some cases).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNOTE: because this changes which classes are loaded via reflection, any environments that must explicitly reference reflective class names (e.g. GraalVM applications) will need to be updated to reflect the new factory class names\u003c/strong\u003e.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/988\"\u003eIssue 988\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrades the Gson dependency to \u003ccode\u003e2.11.0\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrades the BouncyCastle dependency to \u003ccode\u003e1.78.1\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e0.12.6\u003c/h3\u003e\n\u003cp\u003eThis patch release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnsures that after successful JWS signature verification, an application-configured Base64Url \u003ccode\u003eDecoder\u003c/code\u003e output is\nused to construct a \u003ccode\u003eJws\u003c/code\u003e instance (instead of JJWT's default decoder). See\n\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/947\"\u003eIssue 947\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFixes a decompression memory leak in concurrent/multi-threaded environments introduced in 0.12.0 when decompressing JWTs with a \u003ccode\u003ezip\u003c/code\u003e header of \u003ccode\u003eGZIP\u003c/code\u003e. See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/949\"\u003eIssue 949\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eUpgrades BouncyCastle to 1.78 via \u003ca href=\"https://redirect.github.com/jwtk/jjwt/pull/941\"\u003ePR 941\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnsures that a \u003ccode\u003eJwkSet\u003c/code\u003e's \u003ccode\u003ekeys\u003c/code\u003e list member is no longer considered secret and is not redacted by default. However, each individual JWK element within the \u003ccode\u003ekeys\u003c/code\u003e list may still have \u003ca href=\"https://github.com/jwtk/jjwt?tab=readme-ov-file#jwk-tostring-safety\"\u003eredacted private or secret members\u003c/a\u003e as expected. See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/976\"\u003eIssue 976\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/jwtk/jjwt/commit/a757addce04f6b6d8086beeee8dafcf670550a5b\"\u003e\u003ccode\u003ea757add\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release 0.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/e357463c59cf62c1f70503ac0102d10efcdfc37d\"\u003e\u003ccode\u003ee357463\u003c/code\u003e\u003c/a\u003e Preparing for the 0.13.0 release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/b6f8cb82a9c2e9817d842bfe72d2c8fb03124342\"\u003e\u003ccode\u003eb6f8cb8\u003c/code\u003e\u003c/a\u003e Made constructor public to allow users their own objectMapper instance (\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/03f088a4eb774bae2403c428aa885a12d3afde14\"\u003e\u003ccode\u003e03f088a\u003c/code\u003e\u003c/a\u003e Bumping development version to 0.13.0-SNAPSHOT (\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/1014\"\u003e#1014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/3f2697f854bedebe63e9eddb8c596f76086d11ca\"\u003e\u003ccode\u003e3f2697f\u003c/code\u003e\u003c/a\u003e Release 0.12.7 (\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/1012\"\u003e#1012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/efed1cf56f9b9715e60eaac7fda6b2c4b62410b9\"\u003e\u003ccode\u003eefed1cf\u003c/code\u003e\u003c/a\u003e Updated 0.12.7 change list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/ca27b122b7f44f3bdd4cd4f636d084f38cc3b3c8\"\u003e\u003ccode\u003eca27b12\u003c/code\u003e\u003c/a\u003e Resolves \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/1010\"\u003e#1010\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/1011\"\u003e#1011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/55c7b9adef88328f59534f232060830c34f25478\"\u003e\u003ccode\u003e55c7b9a\u003c/code\u003e\u003c/a\u003e Resolves \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/771\"\u003e#771\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/1009\"\u003e#1009\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/6e9c6a5a825c5ec38f90006f48cc1f8640a6d82e\"\u003e\u003ccode\u003e6e9c6a5\u003c/code\u003e\u003c/a\u003e Bump org.bouncycastle:bcpkix-jdk18on from 1.78 to 1.78.1 (\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/1008\"\u003e#1008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/7ec7dd1a19a38a1829903f88b9512697bfb7be3c\"\u003e\u003ccode\u003e7ec7dd1\u003c/code\u003e\u003c/a\u003e Enable JwtParser empty nested algorithm collections. (\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/1007\"\u003e#1007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jwtk/jjwt/compare/0.12.5...0.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.jsonwebtoken:jjwt-impl` from 0.12.5 to 0.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jwtk/jjwt/releases\"\u003eio.jsonwebtoken:jjwt-impl's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.13.0\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eThis is the last minor JJWT release branch that will support Java 7\u003c/strong\u003e.\u003c/p\u003e\n\u003cp\u003eAny necessary emergency bug fixes will be fixed in subsequent \u003ccode\u003e0.13.x\u003c/code\u003e patch releases, but all new development, including \u003ca href=\"https://github.com/jwtk/jjwt/issues?q=is%3Aissue%20label%3Ajdk8\"\u003eJava 8 compatible changes\u003c/a\u003e, will be in the next minor (\u003ccode\u003e0.14.0\u003c/code\u003e) release.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAll future JJWT major and minor versions (  \u003ccode\u003e0.14.0\u003c/code\u003e and later) will require Java 8 or later.\u003c/strong\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eThis release contains a single change:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe previously private \u003ccode\u003eJacksonDeserializer(ObjectMapper objectMapper, Map\u0026lt;String, Class\u0026lt;?\u0026gt;\u0026gt; claimTypeMap)\u003c/code\u003e constructor is now \u003ccode\u003epublic\u003c/code\u003e for those that want register a claims  type converter on their own specified \u003ccode\u003eObjectMapper\u003c/code\u003e instance. Thank you to \u003ca href=\"https://github.com/kesrishubham2510\"\u003e\u003ccode\u003e@​kesrishubham2510\u003c/code\u003e\u003c/a\u003e for PR \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/972\"\u003e#972\u003c/a\u003e. See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/914\"\u003eIssue 914\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jwtk/jjwt/compare/0.12.7...0.13.0\"\u003ehttps://github.com/jwtk/jjwt/compare/0.12.7...0.13.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.12.7\u003c/h2\u003e\n\u003cp\u003eThis patch release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdds a new Maven BOM! This is useful for multi-module projects. See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/967\"\u003eIssue 967\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllows the \u003ccode\u003eJwtParserBuilder\u003c/code\u003e to have empty nested algorithm collections, effectively disabling the parser's associated feature:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEmptying the \u003ccode\u003ezip()\u003c/code\u003e nested collection disables JWT decompression.\u003c/li\u003e\n\u003cli\u003eEmptying the \u003ccode\u003esig()\u003c/code\u003e nested collection disables JWS mac/signature verification (i.e. all JWSs will be unsupported/rejected).\u003c/li\u003e\n\u003cli\u003eEmptying either the \u003ccode\u003eenc()\u003c/code\u003e or \u003ccode\u003ekey()\u003c/code\u003e nested collections disables JWE decryption (i.e. all JWEs will be unsupported/rejected)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/996\"\u003eIssue 996\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/961\"\u003ebug 961\u003c/a\u003e where \u003ccode\u003eJwtParserBuilder\u003c/code\u003e nested collection builders were not correctly replacing algorithms with the same id.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsures a \u003ccode\u003eJwkSet\u003c/code\u003e's \u003ccode\u003ekeys\u003c/code\u003e collection is no longer entirely secret/redacted by default.  This was an overzealous default that was unnecessarily restrictive; the \u003ccode\u003ekeys\u003c/code\u003e collection itself should always be public, and each individual key within should determine which fields should be redacted when printed. See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/976\"\u003eIssue 976\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImproves performance slightly by ensuring all \u003ccode\u003ejjwt-api\u003c/code\u003e utility methods that create \u003ccode\u003e*Builder\u003c/code\u003e instances (\u003ccode\u003eJwts.builder()\u003c/code\u003e, \u003ccode\u003eJwts.parserBuilder()\u003c/code\u003e, \u003ccode\u003eJwks.builder()\u003c/code\u003e, etc) no longer use reflection.\u003c/p\u003e\n\u003cp\u003eInstead,\u003ccode\u003estatic\u003c/code\u003e factories are created via reflection only once during initial \u003ccode\u003ejjwt-api\u003c/code\u003e classloading, and then \u003ccode\u003e*Builder\u003c/code\u003es are created via standard instantiation using the \u003ccode\u003enew\u003c/code\u003e operator thereafter.  This also benefits certain environments that may not have ideal \u003ccode\u003eClassLoader\u003c/code\u003e implementations (e.g. Tomcat in some cases).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNOTE: because this changes which classes are loaded via reflection, any environments that must explicitly reference reflective class names (e.g. GraalVM applications) will need to be updated to reflect the new factory class names\u003c/strong\u003e.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/988\"\u003eIssue 988\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrades the Gson dependency to \u003ccode\u003e2.11.0\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrades the BouncyCastle dependency to \u003ccode\u003e1.78.1\u003c/code\u003e\u003c/p\u003e\n\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/sigpwned\"\u003e\u003ccode\u003e@​sigpwned\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jwtk/jjwt/pull/968\"\u003ejwtk/jjwt#968\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TheMrMilchmann\"\u003e\u003ccode\u003e@​TheMrMilchmann\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jwtk/jjwt/pull/979\"\u003ejwtk/jjwt#979\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/atanasg\"\u003e\u003ccode\u003e@​atanasg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jwtk/jjwt/pull/974\"\u003ejwtk/jjwt#974\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jwtk/jjwt/compare/0.12.6...0.12.7\"\u003ehttps://github.com/jwtk/jjwt/compare/0.12.6...0.12.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.12.6\u003c/h2\u003e\n\u003cp\u003eThis patch release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnsures that after successful JWS signature verification, an application-configured Base64Url \u003ccode\u003eDecoder\u003c/code\u003e output is\nused to construct a \u003ccode\u003eJws\u003c/code\u003e instance (instead of JJWT's default decoder). See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/947\"\u003ejwtk/jjwt#947\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jwtk/jjwt/blob/main/CHANGELOG.md\"\u003eio.jsonwebtoken:jjwt-impl's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e0.13.0\u003c/h3\u003e\n\u003cp\u003eThis is the last minor JJWT release branch that will support Java 7. Any necessary emergency bug fixes will be fixed in subsequent \u003ccode\u003e0.13.x\u003c/code\u003e patch releases, but all new development, including Java 8 compatible changes, will be in the next minor (\u003ccode\u003e0.14.0\u003c/code\u003e) release.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAll future JJWT major and minor versions (  \u003ccode\u003e0.14.0\u003c/code\u003e and later) will require Java 8 or later.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThis \u003ccode\u003e0.13.0\u003c/code\u003e minor release has only one change:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe previously private \u003ccode\u003eJacksonDeserializer(ObjectMapper objectMapper, Map\u0026lt;String, Class\u0026lt;?\u0026gt;\u0026gt; claimTypeMap)\u003c/code\u003e constructor is now \u003ccode\u003epublic\u003c/code\u003e for those that want register a claims\ntype converter on their own specified \u003ccode\u003eObjectMapper\u003c/code\u003e instance.  See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/914\"\u003eIssue 914\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e0.12.7\u003c/h3\u003e\n\u003cp\u003eThis patch release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdds a new Maven BOM, useful for multi-module projects. See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/967\"\u003eIssue 967\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllows the \u003ccode\u003eJwtParserBuilder\u003c/code\u003e to have empty nested algorithm collections, effectively disabling the parser's associated feature:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEmptying the \u003ccode\u003ezip()\u003c/code\u003e nested collection disables JWT decompression.\u003c/li\u003e\n\u003cli\u003eEmptying the \u003ccode\u003esig()\u003c/code\u003e nested collection disables JWS mac/signature verification (i.e. all JWSs will be unsupported/rejected).\u003c/li\u003e\n\u003cli\u003eEmptying either the \u003ccode\u003eenc()\u003c/code\u003e or \u003ccode\u003ekey()\u003c/code\u003e nested collections disables JWE decryption (i.e. all JWEs will be unsupported/rejected)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/996\"\u003eIssue 996\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/961\"\u003ebug 961\u003c/a\u003e where \u003ccode\u003eJwtParserBuilder\u003c/code\u003e nested collection builders were not correctly replacing algorithms with the same id.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsures a \u003ccode\u003eJwkSet\u003c/code\u003e's \u003ccode\u003ekeys\u003c/code\u003e collection is no longer entirely secret/redacted by default.  This was an overzealous default that was unnecessarily restrictive; the \u003ccode\u003ekeys\u003c/code\u003e collection itself should always be public, and each individual key within should determine which fields should be redacted when printed. See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/976\"\u003eIssue 976\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImproves performance slightly by ensuring all \u003ccode\u003ejjwt-api\u003c/code\u003e utility methods that create \u003ccode\u003e*Builder\u003c/code\u003e instances (\u003ccode\u003eJwts.builder()\u003c/code\u003e, \u003ccode\u003eJwts.parserBuilder()\u003c/code\u003e, \u003ccode\u003eJwks.builder()\u003c/code\u003e, etc) no longer use reflection.\u003c/p\u003e\n\u003cp\u003eInstead,\u003ccode\u003estatic\u003c/code\u003e factories are created via reflection only once during initial \u003ccode\u003ejjwt-api\u003c/code\u003e classloading, and then \u003ccode\u003e*Builder\u003c/code\u003es are created via standard instantiation using the \u003ccode\u003enew\u003c/code\u003e operator thereafter.  This also benefits certain environments that may not have ideal \u003ccode\u003eClassLoader\u003c/code\u003e implementations (e.g. Tomcat in some cases).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNOTE: because this changes which classes are loaded via reflection, any environments that must explicitly reference reflective class names (e.g. GraalVM applications) will need to be updated to reflect the new factory class names\u003c/strong\u003e.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/988\"\u003eIssue 988\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrades the Gson dependency to \u003ccode\u003e2.11.0\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrades the BouncyCastle dependency to \u003ccode\u003e1.78.1\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e0.12.6\u003c/h3\u003e\n\u003cp\u003eThis patch release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnsures that after successful JWS signature verification, an application-configured Base64Url \u003ccode\u003eDecoder\u003c/code\u003e output is\nused to construct a \u003ccode\u003eJws\u003c/code\u003e instance (instead of JJWT's default decoder). See\n\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/947\"\u003eIssue 947\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFixes a decompression memory leak in concurrent/multi-threaded environments introduced in 0.12.0 when decompressing JWTs with a \u003ccode\u003ezip\u003c/code\u003e header of \u003ccode\u003eGZIP\u003c/code\u003e. See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/949\"\u003eIssue 949\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eUpgrades BouncyCastle to 1.78 via \u003ca href=\"https://redirect.github.com/jwtk/jjwt/pull/941\"\u003ePR 941\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eEnsures that a \u003ccode\u003eJwkSet\u003c/code\u003e's \u003ccode\u003ekeys\u003c/code\u003e list member is no longer considered secret and is not redacted by default. However, each individual JWK element within the \u003ccode\u003ekeys\u003c/code\u003e list may still have \u003ca href=\"https://github.com/jwtk/jjwt?tab=readme-ov-file#jwk-tostring-safety\"\u003eredacted private or secret members\u003c/a\u003e as expected. See \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/976\"\u003eIssue 976\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/jwtk/jjwt/commit/a757addce04f6b6d8086beeee8dafcf670550a5b\"\u003e\u003ccode\u003ea757add\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release 0.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/e357463c59cf62c1f70503ac0102d10efcdfc37d\"\u003e\u003ccode\u003ee357463\u003c/code\u003e\u003c/a\u003e Preparing for the 0.13.0 release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/b6f8cb82a9c2e9817d842bfe72d2c8fb03124342\"\u003e\u003ccode\u003eb6f8cb8\u003c/code\u003e\u003c/a\u003e Made constructor public to allow users their own objectMapper instance (\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/03f088a4eb774bae2403c428aa885a12d3afde14\"\u003e\u003ccode\u003e03f088a\u003c/code\u003e\u003c/a\u003e Bumping development version to 0.13.0-SNAPSHOT (\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/1014\"\u003e#1014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/3f2697f854bedebe63e9eddb8c596f76086d11ca\"\u003e\u003ccode\u003e3f2697f\u003c/code\u003e\u003c/a\u003e Release 0.12.7 (\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/1012\"\u003e#1012\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/efed1cf56f9b9715e60eaac7fda6b2c4b62410b9\"\u003e\u003ccode\u003eefed1cf\u003c/code\u003e\u003c/a\u003e Updated 0.12.7 change list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/ca27b122b7f44f3bdd4cd4f636d084f38cc3b3c8\"\u003e\u003ccode\u003eca27b12\u003c/code\u003e\u003c/a\u003e Resolves \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/1010\"\u003e#1010\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/1011\"\u003e#1011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/55c7b9adef88328f59534f232060830c34f25478\"\u003e\u003ccode\u003e55c7b9a\u003c/code\u003e\u003c/a\u003e Resolves \u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/771\"\u003e#771\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/1009\"\u003e#1009\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/6e9c6a5a825c5ec38f90006f48cc1f8640a6d82e\"\u003e\u003ccode\u003e6e9c6a5\u003c/code\u003e\u003c/a\u003e Bump org.bouncycastle:bcpkix-jdk18on from 1.78 to 1.78.1 (\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/1008\"\u003e#1008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jwtk/jjwt/commit/7ec7dd1a19a38a1829903f88b9512697bfb7be3c\"\u003e\u003ccode\u003e7ec7dd1\u003c/code\u003e\u003c/a\u003e Enable JwtParser empty nested algorithm collections. (\u003ca href=\"https://redirect.github.com/jwtk/jjwt/issues/1007\"\u003e#1007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jwtk/jjwt/compare/0.12.5...0.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.jsonwebtoken:jjwt-jackson` from 0.12.5 to 0.13.0\n\nUpdates `com.tngtech.archunit:archunit-junit5` from 1.3.0 to 1.5.0\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.5.0\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 27 / class file major version 71 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1618\"\u003e#1618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove descriptions of \u003ccode\u003eJavaAccess.Predicates.originOwner\u003c/code\u003e and \u003ccode\u003eJavaAccess.Predicates.targetOwner\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1603\"\u003e#1603\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eExpose information on sealed classes via \u003ccode\u003eJavaClass\u003c/code\u003e: \u003ccode\u003eisSealed()\u003c/code\u003e and \u003ccode\u003egetPermittedSubclasses()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/bannmann\"\u003e\u003ccode\u003e@​bannmann\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eImportOption.DoNotIncludeTests\u003c/code\u003e and \u003ccode\u003eOnlyIncludeTests\u003c/code\u003e consider tests in custom Gradle source sets (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/Develop-KIM\"\u003e\u003ccode\u003e@​Develop-KIM\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLang\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchConditions\u003c/code\u003e offers new \u003ccode\u003eArchCondition\u0026lt;JavaClass\u0026gt; haveAnyDependenciesThat(DescribedPredicate\u0026lt;Dependency\u0026gt;)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1580\"\u003e#1580\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/wakingrufus\"\u003e\u003ccode\u003e@​wakingrufus\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchitectureMetrics.lakosMetrics\u003c/code\u003e is computed much more performantly (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1629\"\u003e#1629\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/ThanosTsiamis\"\u003e\u003ccode\u003e@​ThanosTsiamis\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTextFileBasedViolationStore\u003c/code\u003e is now thread-safe under parallel test execution (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1656\"\u003e#1656\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/kelunik\"\u003e\u003ccode\u003e@​kelunik\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eModuleDependency\u003c/code\u003e now provides stable descriptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1648\"\u003e#1648\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/DragonFSKY\"\u003e\u003ccode\u003e@​DragonFSKY\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eJUnit\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003earchunit-junit6\u003c/code\u003e supports ArchUnit with JUnit 6 (\u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1556\"\u003e#1556\u003c/a\u003e\u003c/del\u003e, \u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1658\"\u003e#1658\u003c/a\u003e\u003c/del\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1659\"\u003e#1659\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnalyzeClasses\u003c/code\u003e supports individual classes (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1569\"\u003e#1569\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003ePreparation:\u003c/em\u003e \u003ccode\u003earchunit-junit:0.9.0\u003c/code\u003e (which was renamed with \u003ca href=\"https://github.com/TNG/ArchUnit/releases/tag/v0.9.0\"\u003eArchUnit 0.9.0\u003c/a\u003e) now relocates to \u003ccode\u003earchunit-junit4:0.9.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1673\"\u003e#1673\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋) – will be published after \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1684\"\u003e#1684\u003c/a\u003e 🙈\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocument \u003ccode\u003ePriority\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1671\"\u003e#1671\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eDocument Package Identifiers in User Guide (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1672\"\u003e#1672\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eInternal Improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eText files now use UNIX line breaks (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1602\"\u003e#1602\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1611\"\u003e#1611\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eUpdate Gradle from 8 to 9; build \u0026amp; test with JDK 25 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1550\"\u003e#1550\u003c/a\u003e, and also \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1612\"\u003e#1612\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1619\"\u003e#1619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSeparate integration tests by JUnit version (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1636\"\u003e#1636\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003ejunit-dataprovider\u003c/code\u003e with \u003ccode\u003ejunit-jupiter-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1655\"\u003e#1655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eArchUnit releases now update Maven examples (and Gradle wrapper) of \u003ca href=\"https://github.com/TNG/ArchUnit-Examples\"\u003eArchUnit-Examples\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid managing hamcrest dependency (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1467\"\u003e#1467\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\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\u003ch2\u003eArchUnit 1.4.1\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 25 / class file major version 69 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1440\"\u003e#1440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\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/TNG/ArchUnit/commit/502d782bfbf2632a2c9f943a502ddd8cc3e3c46d\"\u003e\u003ccode\u003e502d782\u003c/code\u003e\u003c/a\u003e prepare release 1.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/4f26fccd784d37f469e743950f8e0a3ff686d64b\"\u003e\u003ccode\u003e4f26fcc\u003c/code\u003e\u003c/a\u003e fix testRelease exec() and task registration for Gradle 9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/96af98457c924289ecff834737eebd8a55bddda6\"\u003e\u003ccode\u003e96af984\u003c/code\u003e\u003c/a\u003e add new developers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/e427828fcb9b09117cd0e59a471314218f8331d5\"\u003e\u003ccode\u003ee427828\u003c/code\u003e\u003c/a\u003e consolidate POM checks during CI and release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a30f6e3465ed3cb0868607debf80bf83e741b5f0\"\u003e\u003ccode\u003ea30f6e3\u003c/code\u003e\u003c/a\u003e Bump gradle/actions from 6 to 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a036c08707c50e6f7091754e63389f5bd2aaec64\"\u003e\u003ccode\u003ea036c08\u003c/code\u003e\u003c/a\u003e Bump com.github.ben-manes.versions from 0.57.0 to 0.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/24a9d9e10d4bb5ba5c5678d36810ef2397470163\"\u003e\u003ccode\u003e24a9d9e\u003c/code\u003e\u003c/a\u003e Bump actions/setup-java from 5.6.0 to 5.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/9944244c116f2724ac5bc1d02c73ca10af1c92e4\"\u003e\u003ccode\u003e9944244\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/51fd6c9e90c681a3d644f8a1e86a428f64fe3418\"\u003e\u003ccode\u003e51fd6c9\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/65f4cd3a60c48b0654daa4662b563e6b8545e221\"\u003e\u003ccode\u003e65f4cd3\u003c/code\u003e\u003c/a\u003e add support for dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TNG/ArchUnit/compare/v1.3.0...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.spring.dependency-management` from 1.1.4 to 1.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-gradle-plugins/dependency-management-plugin/releases\"\u003eio.spring.dependency-management's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.7\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDependency management report task produces a deprecation warning with Gradle 8.12-rc-1 \u003ca href=\"https://redirect.github.com/spring-gradle-plugins/dependency-management-plugin/issues/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExclusionResolver makes assumptions that won't hold true with Gradle 9 \u003ca href=\"https://redirect.github.com/spring-gradle-plugins/dependency-management-plugin/pull/394\"\u003e#394\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/octylFractal\"\u003e\u003ccode\u003e@​octylFractal\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eApplying Maven-style exclusions may cause a deprecation warning with Gradle 8.8 \u003ca href=\"https://redirect.github.com/spring-gradle-plugins/dependency-management-plugin/issues/384\"\u003e#384\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/quaff\"\u003e\u003ccode\u003e@​quaff\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.5\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWhen a dependency has been substituted by changing its target, its version is managed based on its original group and artifact IDs \u003ca href=\"https://redirect.github.com/spring-gradle-plugins/dependency-management-plugin/issues/383\"\u003e#383\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePlugin triggers a deprecation warning for LenientConfiguration#getArtifacts(Spec) with Gradle 8.8 \u003ca href=\"https://redirect.github.com/spring-gradle-plugins/dependency-management-plugin/issues/381\"\u003e#381\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExclusions are calculated unnecessarily for non-transitive configurations \u003ca href=\"https://redirect.github.com/spring-gradle-plugins/dependency-management-plugin/pull/372\"\u003e#372\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/fp7\"\u003e\u003ccode\u003e@​fp7\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/spring-gradle-plugins/dependency-management-plugin/commit/99c6a876044e9b470b5ffc175a421c3b0c8d43f8\"\u003e\u003ccode\u003e99c6a87\u003c/code\u003e\u003c/a\u003e Release v1.1.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-gradle-plugins/dependency-management-plugin/commit/e870ef722937448bc03d4733050e0e66a006ed48\"\u003e\u003ccode\u003ee870ef7\u003c/code\u003e\u003c/a\u003e Address another deprecation warning in report take\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-gradle-plugins/dependency-management-plugin/commit/fc43f9070987dedebd5dbd261a798978ff8d3e47\"\u003e\u003ccode\u003efc43f90\u003c/code\u003e\u003c/a\u003e Stop report task from triggering a deprecation warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-gradle-plugins/dependency-management-plugin/commit/0d1b43dc3e3bef0d2159a4bc9df4b999069b7df2\"\u003e\u003ccode\u003e0d1b43d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spring-gradle-plugins/dependency-management-plugin/issues/394\"\u003e#394\u003c/a\u003e from octylFractal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-gradle-plugins/dependency-management-plugin/commit/09853a270341a2adb47ca1c885b6d7a205dcea4e\"\u003e\u003ccode\u003e09853a2\u003c/code\u003e\u003c/a\u003e Check for ModuleComponentIdentifier explicitly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-gradle-plugins/dependency-management-plugin/commit/e85cd28157e2d9b7f41b69c955deaedeea914f74\"\u003e\u003ccode\u003ee85cd28\u003c/code\u003e\u003c/a\u003e Next development version (v1.1.7-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-gradle-plugins/dependency-management-plugin/commit/caad92a64fe868a1367c36334d93e8265bbc320f\"\u003e\u003ccode\u003ecaad92a\u003c/code\u003e\u003c/a\u003e Apply exclusions earlier to avoid deprecation warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-gradle-plugins/dependency-management-plugin/commit/68f86ea8ffbb3c0401fb9214b644fbdcda5fdc2b\"\u003e\u003ccode\u003e68f86ea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/spring-gradle-plugins/dependency-management-plugin/issues/387\"\u003e#387\u003c/a\u003e from quaff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-gradle-plugins/dependency-management-plugin/commit/4d44a4542d603a315a858203393108cdb529536a\"\u003e\u003ccode\u003e4d44a45\u003c/code\u003e\u003c/a\u003e Remove stray backtick\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-gradle-plugins/dependency-management-plugin/commit/90d9e1ad365bcbcfe6354e269e34712354fc46c4\"\u003e\u003ccode\u003e90d9e1a\u003c/code\u003e\u003c/a\u003e Rename property to address naming clash\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-gradle-plugins/dependency-management-plugin/compare/v1.1.4...v1.1.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.protobuf` from 0.9.4 to 0.10.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 comm...\n\n_Description has been truncated_","html_url":"https://github.com/kscold/kscold-blog-version-2/pull/1","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kscold%2Fkscold-blog-version-2/issues/1","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1/packages"}},{"old_version":"1.4.1","new_version":"1.5.0","update_type":"minor","path":"the test-libraries group","pr_created_at":"2026-09-04T12:29:09.000Z","version_change":"1.4.1 → 1.5.0","issue":{"uuid":"5348071953","node_id":"PR_kwDOUM6qms8AAAABCMo6_Q","number":3,"state":"closed","title":"Build(deps-dev): Bump com.tngtech.archunit:archunit-junit5 from 1.4.1 to 1.5.0 in the test-libraries group","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-06T20:37:44.000Z","author_association":null,"state_reason":null,"created_at":"2026-09-04T12:29:09.000Z","updated_at":"2026-09-06T20:37:46.000Z","time_to_close":202115,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Build(deps-dev): Bump","packages":[{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.4.1","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"}],"path":"the test-libraries group","ecosystem":"maven"},"body":"Bumps the test-libraries group with 1 update: [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit).\n\nUpdates `com.tngtech.archunit:archunit-junit5` from 1.4.1 to 1.5.0\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.5.0\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 27 / class file major version 71 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1618\"\u003e#1618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove descriptions of \u003ccode\u003eJavaAccess.Predicates.originOwner\u003c/code\u003e and \u003ccode\u003eJavaAccess.Predicates.targetOwner\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1603\"\u003e#1603\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eExpose information on sealed classes via \u003ccode\u003eJavaClass\u003c/code\u003e: \u003ccode\u003eisSealed()\u003c/code\u003e and \u003ccode\u003egetPermittedSubclasses()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/bannmann\"\u003e\u003ccode\u003e@​bannmann\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eImportOption.DoNotIncludeTests\u003c/code\u003e and \u003ccode\u003eOnlyIncludeTests\u003c/code\u003e consider tests in custom Gradle source sets (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/Develop-KIM\"\u003e\u003ccode\u003e@​Develop-KIM\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLang\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchConditions\u003c/code\u003e offers new \u003ccode\u003eArchCondition\u0026lt;JavaClass\u0026gt; haveAnyDependenciesThat(DescribedPredicate\u0026lt;Dependency\u0026gt;)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1580\"\u003e#1580\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/wakingrufus\"\u003e\u003ccode\u003e@​wakingrufus\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchitectureMetrics.lakosMetrics\u003c/code\u003e is computed much more performantly (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1629\"\u003e#1629\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/ThanosTsiamis\"\u003e\u003ccode\u003e@​ThanosTsiamis\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTextFileBasedViolationStore\u003c/code\u003e is now thread-safe under parallel test execution (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1656\"\u003e#1656\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/kelunik\"\u003e\u003ccode\u003e@​kelunik\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eModuleDependency\u003c/code\u003e now provides stable descriptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1648\"\u003e#1648\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/DragonFSKY\"\u003e\u003ccode\u003e@​DragonFSKY\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eJUnit\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003earchunit-junit6\u003c/code\u003e supports ArchUnit with JUnit 6 (\u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1556\"\u003e#1556\u003c/a\u003e\u003c/del\u003e, \u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1658\"\u003e#1658\u003c/a\u003e\u003c/del\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1659\"\u003e#1659\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnalyzeClasses\u003c/code\u003e supports individual classes (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1569\"\u003e#1569\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003ePreparation:\u003c/em\u003e \u003ccode\u003earchunit-junit:0.9.0\u003c/code\u003e (which was renamed with \u003ca href=\"https://github.com/TNG/ArchUnit/releases/tag/v0.9.0\"\u003eArchUnit 0.9.0\u003c/a\u003e) now relocates to \u003ccode\u003earchunit-junit4:0.9.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1673\"\u003e#1673\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋) – will be published after \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1684\"\u003e#1684\u003c/a\u003e 🙈\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocument \u003ccode\u003ePriority\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1671\"\u003e#1671\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eDocument Package Identifiers in User Guide (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1672\"\u003e#1672\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eInternal Improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eText files now use UNIX line breaks (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1602\"\u003e#1602\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1611\"\u003e#1611\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eUpdate Gradle from 8 to 9; build \u0026amp; test with JDK 25 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1550\"\u003e#1550\u003c/a\u003e, and also \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1612\"\u003e#1612\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1619\"\u003e#1619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSeparate integration tests by JUnit version (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1636\"\u003e#1636\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003ejunit-dataprovider\u003c/code\u003e with \u003ccode\u003ejunit-jupiter-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1655\"\u003e#1655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eArchUnit releases now update Maven examples (and Gradle wrapper) of \u003ca href=\"https://github.com/TNG/ArchUnit-Examples\"\u003eArchUnit-Examples\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid managing hamcrest dependency (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1467\"\u003e#1467\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\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/502d782bfbf2632a2c9f943a502ddd8cc3e3c46d\"\u003e\u003ccode\u003e502d782\u003c/code\u003e\u003c/a\u003e prepare release 1.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/4f26fccd784d37f469e743950f8e0a3ff686d64b\"\u003e\u003ccode\u003e4f26fcc\u003c/code\u003e\u003c/a\u003e fix testRelease exec() and task registration for Gradle 9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/96af98457c924289ecff834737eebd8a55bddda6\"\u003e\u003ccode\u003e96af984\u003c/code\u003e\u003c/a\u003e add new developers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/e427828fcb9b09117cd0e59a471314218f8331d5\"\u003e\u003ccode\u003ee427828\u003c/code\u003e\u003c/a\u003e consolidate POM checks during CI and release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a30f6e3465ed3cb0868607debf80bf83e741b5f0\"\u003e\u003ccode\u003ea30f6e3\u003c/code\u003e\u003c/a\u003e Bump gradle/actions from 6 to 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a036c08707c50e6f7091754e63389f5bd2aaec64\"\u003e\u003ccode\u003ea036c08\u003c/code\u003e\u003c/a\u003e Bump com.github.ben-manes.versions from 0.57.0 to 0.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/24a9d9e10d4bb5ba5c5678d36810ef2397470163\"\u003e\u003ccode\u003e24a9d9e\u003c/code\u003e\u003c/a\u003e Bump actions/setup-java from 5.6.0 to 5.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/9944244c116f2724ac5bc1d02c73ca10af1c92e4\"\u003e\u003ccode\u003e9944244\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/51fd6c9e90c681a3d644f8a1e86a428f64fe3418\"\u003e\u003ccode\u003e51fd6c9\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/65f4cd3a60c48b0654daa4662b563e6b8545e221\"\u003e\u003ccode\u003e65f4cd3\u003c/code\u003e\u003c/a\u003e add support for dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TNG/ArchUnit/compare/v1.4.1...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.tngtech.archunit:archunit-junit5\u0026package-manager=maven\u0026previous-version=1.4.1\u0026new-version=1.5.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/vaullet-io/wallet-ledger-service/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaullet-io%2Fwallet-ledger-service/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"}},{"old_version":"1.4.1","new_version":"1.5.0","update_type":"minor","path":"/services/quiz-service","pr_created_at":"2026-09-04T01:42:57.000Z","version_change":"1.4.1 → 1.5.0","issue":{"uuid":"5343229313","node_id":"PR_kwDOUM11Uc8AAAABCIzERA","number":41,"state":"closed","title":"chore(deps-dev): bump com.tngtech.archunit:archunit-junit5 from 1.4.1 to 1.5.0 in /services/quiz-service","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-04T07:16:21.000Z","author_association":null,"state_reason":null,"created_at":"2026-09-04T01:42:57.000Z","updated_at":"2026-09-04T07:16:31.000Z","time_to_close":20004,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.4.1","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"}],"path":"/services/quiz-service","ecosystem":"maven"},"body":"Bumps [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) from 1.4.1 to 1.5.0.\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.5.0\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 27 / class file major version 71 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1618\"\u003e#1618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove descriptions of \u003ccode\u003eJavaAccess.Predicates.originOwner\u003c/code\u003e and \u003ccode\u003eJavaAccess.Predicates.targetOwner\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1603\"\u003e#1603\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eExpose information on sealed classes via \u003ccode\u003eJavaClass\u003c/code\u003e: \u003ccode\u003eisSealed()\u003c/code\u003e and \u003ccode\u003egetPermittedSubclasses()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/bannmann\"\u003e\u003ccode\u003e@​bannmann\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eImportOption.DoNotIncludeTests\u003c/code\u003e and \u003ccode\u003eOnlyIncludeTests\u003c/code\u003e consider tests in custom Gradle source sets (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/Develop-KIM\"\u003e\u003ccode\u003e@​Develop-KIM\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLang\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchConditions\u003c/code\u003e offers new \u003ccode\u003eArchCondition\u0026lt;JavaClass\u0026gt; haveAnyDependenciesThat(DescribedPredicate\u0026lt;Dependency\u0026gt;)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1580\"\u003e#1580\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/wakingrufus\"\u003e\u003ccode\u003e@​wakingrufus\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchitectureMetrics.lakosMetrics\u003c/code\u003e is computed much more performantly (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1629\"\u003e#1629\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/ThanosTsiamis\"\u003e\u003ccode\u003e@​ThanosTsiamis\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTextFileBasedViolationStore\u003c/code\u003e is now thread-safe under parallel test execution (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1656\"\u003e#1656\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/kelunik\"\u003e\u003ccode\u003e@​kelunik\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eModuleDependency\u003c/code\u003e now provides stable descriptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1648\"\u003e#1648\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/DragonFSKY\"\u003e\u003ccode\u003e@​DragonFSKY\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eJUnit\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003earchunit-junit6\u003c/code\u003e supports ArchUnit with JUnit 6 (\u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1556\"\u003e#1556\u003c/a\u003e\u003c/del\u003e, \u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1658\"\u003e#1658\u003c/a\u003e\u003c/del\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1659\"\u003e#1659\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnalyzeClasses\u003c/code\u003e supports individual classes (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1569\"\u003e#1569\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003ePreparation:\u003c/em\u003e \u003ccode\u003earchunit-junit:0.9.0\u003c/code\u003e (which was renamed with \u003ca href=\"https://github.com/TNG/ArchUnit/releases/tag/v0.9.0\"\u003eArchUnit 0.9.0\u003c/a\u003e) now relocates to \u003ccode\u003earchunit-junit4:0.9.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1673\"\u003e#1673\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋) – will be published after \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1684\"\u003e#1684\u003c/a\u003e 🙈\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocument \u003ccode\u003ePriority\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1671\"\u003e#1671\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eDocument Package Identifiers in User Guide (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1672\"\u003e#1672\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eInternal Improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eText files now use UNIX line breaks (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1602\"\u003e#1602\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1611\"\u003e#1611\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eUpdate Gradle from 8 to 9; build \u0026amp; test with JDK 25 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1550\"\u003e#1550\u003c/a\u003e, and also \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1612\"\u003e#1612\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1619\"\u003e#1619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSeparate integration tests by JUnit version (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1636\"\u003e#1636\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003ejunit-dataprovider\u003c/code\u003e with \u003ccode\u003ejunit-jupiter-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1655\"\u003e#1655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eArchUnit releases now update Maven examples (and Gradle wrapper) of \u003ca href=\"https://github.com/TNG/ArchUnit-Examples\"\u003eArchUnit-Examples\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid managing hamcrest dependency (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1467\"\u003e#1467\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\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/502d782bfbf2632a2c9f943a502ddd8cc3e3c46d\"\u003e\u003ccode\u003e502d782\u003c/code\u003e\u003c/a\u003e prepare release 1.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/4f26fccd784d37f469e743950f8e0a3ff686d64b\"\u003e\u003ccode\u003e4f26fcc\u003c/code\u003e\u003c/a\u003e fix testRelease exec() and task registration for Gradle 9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/96af98457c924289ecff834737eebd8a55bddda6\"\u003e\u003ccode\u003e96af984\u003c/code\u003e\u003c/a\u003e add new developers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/e427828fcb9b09117cd0e59a471314218f8331d5\"\u003e\u003ccode\u003ee427828\u003c/code\u003e\u003c/a\u003e consolidate POM checks during CI and release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a30f6e3465ed3cb0868607debf80bf83e741b5f0\"\u003e\u003ccode\u003ea30f6e3\u003c/code\u003e\u003c/a\u003e Bump gradle/actions from 6 to 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a036c08707c50e6f7091754e63389f5bd2aaec64\"\u003e\u003ccode\u003ea036c08\u003c/code\u003e\u003c/a\u003e Bump com.github.ben-manes.versions from 0.57.0 to 0.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/24a9d9e10d4bb5ba5c5678d36810ef2397470163\"\u003e\u003ccode\u003e24a9d9e\u003c/code\u003e\u003c/a\u003e Bump actions/setup-java from 5.6.0 to 5.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/9944244c116f2724ac5bc1d02c73ca10af1c92e4\"\u003e\u003ccode\u003e9944244\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/51fd6c9e90c681a3d644f8a1e86a428f64fe3418\"\u003e\u003ccode\u003e51fd6c9\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/65f4cd3a60c48b0654daa4662b563e6b8545e221\"\u003e\u003ccode\u003e65f4cd3\u003c/code\u003e\u003c/a\u003e add support for dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TNG/ArchUnit/compare/v1.4.1...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.tngtech.archunit:archunit-junit5\u0026package-manager=maven\u0026previous-version=1.4.1\u0026new-version=1.5.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/hhtuann/Quizopia_2.0/pull/41","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hhtuann%2FQuizopia_2.0/issues/41","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/41/packages"}},{"old_version":"1.4.1","new_version":"1.5.0","update_type":"minor","path":"/services/identity-service","pr_created_at":"2026-09-04T01:42:39.000Z","version_change":"1.4.1 → 1.5.0","issue":{"uuid":"5343227738","node_id":"PR_kwDOUM11Uc8AAAABCIy_Uw","number":23,"state":"closed","title":"chore(deps-dev): bump com.tngtech.archunit:archunit-junit5 from 1.4.1 to 1.5.0 in /services/identity-service","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-04T07:16:12.000Z","author_association":null,"state_reason":null,"created_at":"2026-09-04T01:42:39.000Z","updated_at":"2026-09-04T07:16:20.000Z","time_to_close":20013,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.4.1","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"}],"path":"/services/identity-service","ecosystem":"maven"},"body":"Bumps [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) from 1.4.1 to 1.5.0.\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.5.0\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 27 / class file major version 71 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1618\"\u003e#1618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove descriptions of \u003ccode\u003eJavaAccess.Predicates.originOwner\u003c/code\u003e and \u003ccode\u003eJavaAccess.Predicates.targetOwner\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1603\"\u003e#1603\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eExpose information on sealed classes via \u003ccode\u003eJavaClass\u003c/code\u003e: \u003ccode\u003eisSealed()\u003c/code\u003e and \u003ccode\u003egetPermittedSubclasses()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/bannmann\"\u003e\u003ccode\u003e@​bannmann\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eImportOption.DoNotIncludeTests\u003c/code\u003e and \u003ccode\u003eOnlyIncludeTests\u003c/code\u003e consider tests in custom Gradle source sets (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/Develop-KIM\"\u003e\u003ccode\u003e@​Develop-KIM\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLang\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchConditions\u003c/code\u003e offers new \u003ccode\u003eArchCondition\u0026lt;JavaClass\u0026gt; haveAnyDependenciesThat(DescribedPredicate\u0026lt;Dependency\u0026gt;)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1580\"\u003e#1580\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/wakingrufus\"\u003e\u003ccode\u003e@​wakingrufus\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchitectureMetrics.lakosMetrics\u003c/code\u003e is computed much more performantly (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1629\"\u003e#1629\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/ThanosTsiamis\"\u003e\u003ccode\u003e@​ThanosTsiamis\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTextFileBasedViolationStore\u003c/code\u003e is now thread-safe under parallel test execution (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1656\"\u003e#1656\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/kelunik\"\u003e\u003ccode\u003e@​kelunik\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eModuleDependency\u003c/code\u003e now provides stable descriptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1648\"\u003e#1648\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/DragonFSKY\"\u003e\u003ccode\u003e@​DragonFSKY\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eJUnit\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003earchunit-junit6\u003c/code\u003e supports ArchUnit with JUnit 6 (\u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1556\"\u003e#1556\u003c/a\u003e\u003c/del\u003e, \u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1658\"\u003e#1658\u003c/a\u003e\u003c/del\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1659\"\u003e#1659\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnalyzeClasses\u003c/code\u003e supports individual classes (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1569\"\u003e#1569\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003ePreparation:\u003c/em\u003e \u003ccode\u003earchunit-junit:0.9.0\u003c/code\u003e (which was renamed with \u003ca href=\"https://github.com/TNG/ArchUnit/releases/tag/v0.9.0\"\u003eArchUnit 0.9.0\u003c/a\u003e) now relocates to \u003ccode\u003earchunit-junit4:0.9.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1673\"\u003e#1673\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋) – will be published after \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1684\"\u003e#1684\u003c/a\u003e 🙈\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocument \u003ccode\u003ePriority\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1671\"\u003e#1671\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eDocument Package Identifiers in User Guide (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1672\"\u003e#1672\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eInternal Improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eText files now use UNIX line breaks (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1602\"\u003e#1602\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1611\"\u003e#1611\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eUpdate Gradle from 8 to 9; build \u0026amp; test with JDK 25 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1550\"\u003e#1550\u003c/a\u003e, and also \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1612\"\u003e#1612\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1619\"\u003e#1619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSeparate integration tests by JUnit version (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1636\"\u003e#1636\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003ejunit-dataprovider\u003c/code\u003e with \u003ccode\u003ejunit-jupiter-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1655\"\u003e#1655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eArchUnit releases now update Maven examples (and Gradle wrapper) of \u003ca href=\"https://github.com/TNG/ArchUnit-Examples\"\u003eArchUnit-Examples\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid managing hamcrest dependency (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1467\"\u003e#1467\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\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/502d782bfbf2632a2c9f943a502ddd8cc3e3c46d\"\u003e\u003ccode\u003e502d782\u003c/code\u003e\u003c/a\u003e prepare release 1.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/4f26fccd784d37f469e743950f8e0a3ff686d64b\"\u003e\u003ccode\u003e4f26fcc\u003c/code\u003e\u003c/a\u003e fix testRelease exec() and task registration for Gradle 9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/96af98457c924289ecff834737eebd8a55bddda6\"\u003e\u003ccode\u003e96af984\u003c/code\u003e\u003c/a\u003e add new developers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/e427828fcb9b09117cd0e59a471314218f8331d5\"\u003e\u003ccode\u003ee427828\u003c/code\u003e\u003c/a\u003e consolidate POM checks during CI and release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a30f6e3465ed3cb0868607debf80bf83e741b5f0\"\u003e\u003ccode\u003ea30f6e3\u003c/code\u003e\u003c/a\u003e Bump gradle/actions from 6 to 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a036c08707c50e6f7091754e63389f5bd2aaec64\"\u003e\u003ccode\u003ea036c08\u003c/code\u003e\u003c/a\u003e Bump com.github.ben-manes.versions from 0.57.0 to 0.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/24a9d9e10d4bb5ba5c5678d36810ef2397470163\"\u003e\u003ccode\u003e24a9d9e\u003c/code\u003e\u003c/a\u003e Bump actions/setup-java from 5.6.0 to 5.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/9944244c116f2724ac5bc1d02c73ca10af1c92e4\"\u003e\u003ccode\u003e9944244\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/51fd6c9e90c681a3d644f8a1e86a428f64fe3418\"\u003e\u003ccode\u003e51fd6c9\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/65f4cd3a60c48b0654daa4662b563e6b8545e221\"\u003e\u003ccode\u003e65f4cd3\u003c/code\u003e\u003c/a\u003e add support for dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TNG/ArchUnit/compare/v1.4.1...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.tngtech.archunit:archunit-junit5\u0026package-manager=maven\u0026previous-version=1.4.1\u0026new-version=1.5.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/hhtuann/Quizopia_2.0/pull/23","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hhtuann%2FQuizopia_2.0/issues/23","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/23/packages"}},{"old_version":"1.4.1","new_version":"1.5.0","update_type":"minor","path":"/gateway","pr_created_at":"2026-09-04T01:42:35.000Z","version_change":"1.4.1 → 1.5.0","issue":{"uuid":"5343227375","node_id":"PR_kwDOUM11Uc8AAAABCIy-Ig","number":17,"state":"closed","title":"chore(deps-dev): bump com.tngtech.archunit:archunit-junit5 from 1.4.1 to 1.5.0 in /gateway","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-04T07:16:46.000Z","author_association":null,"state_reason":null,"created_at":"2026-09-04T01:42:35.000Z","updated_at":"2026-09-04T07:16:56.000Z","time_to_close":20051,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.4.1","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"}],"path":"/gateway","ecosystem":"maven"},"body":"Bumps [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) from 1.4.1 to 1.5.0.\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.5.0\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 27 / class file major version 71 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1618\"\u003e#1618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove descriptions of \u003ccode\u003eJavaAccess.Predicates.originOwner\u003c/code\u003e and \u003ccode\u003eJavaAccess.Predicates.targetOwner\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1603\"\u003e#1603\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eExpose information on sealed classes via \u003ccode\u003eJavaClass\u003c/code\u003e: \u003ccode\u003eisSealed()\u003c/code\u003e and \u003ccode\u003egetPermittedSubclasses()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/bannmann\"\u003e\u003ccode\u003e@​bannmann\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eImportOption.DoNotIncludeTests\u003c/code\u003e and \u003ccode\u003eOnlyIncludeTests\u003c/code\u003e consider tests in custom Gradle source sets (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/Develop-KIM\"\u003e\u003ccode\u003e@​Develop-KIM\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLang\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchConditions\u003c/code\u003e offers new \u003ccode\u003eArchCondition\u0026lt;JavaClass\u0026gt; haveAnyDependenciesThat(DescribedPredicate\u0026lt;Dependency\u0026gt;)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1580\"\u003e#1580\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/wakingrufus\"\u003e\u003ccode\u003e@​wakingrufus\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchitectureMetrics.lakosMetrics\u003c/code\u003e is computed much more performantly (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1629\"\u003e#1629\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/ThanosTsiamis\"\u003e\u003ccode\u003e@​ThanosTsiamis\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTextFileBasedViolationStore\u003c/code\u003e is now thread-safe under parallel test execution (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1656\"\u003e#1656\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/kelunik\"\u003e\u003ccode\u003e@​kelunik\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eModuleDependency\u003c/code\u003e now provides stable descriptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1648\"\u003e#1648\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/DragonFSKY\"\u003e\u003ccode\u003e@​DragonFSKY\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eJUnit\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003earchunit-junit6\u003c/code\u003e supports ArchUnit with JUnit 6 (\u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1556\"\u003e#1556\u003c/a\u003e\u003c/del\u003e, \u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1658\"\u003e#1658\u003c/a\u003e\u003c/del\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1659\"\u003e#1659\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnalyzeClasses\u003c/code\u003e supports individual classes (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1569\"\u003e#1569\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003ePreparation:\u003c/em\u003e \u003ccode\u003earchunit-junit:0.9.0\u003c/code\u003e (which was renamed with \u003ca href=\"https://github.com/TNG/ArchUnit/releases/tag/v0.9.0\"\u003eArchUnit 0.9.0\u003c/a\u003e) now relocates to \u003ccode\u003earchunit-junit4:0.9.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1673\"\u003e#1673\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋) – will be published after \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1684\"\u003e#1684\u003c/a\u003e 🙈\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocument \u003ccode\u003ePriority\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1671\"\u003e#1671\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eDocument Package Identifiers in User Guide (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1672\"\u003e#1672\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eInternal Improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eText files now use UNIX line breaks (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1602\"\u003e#1602\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1611\"\u003e#1611\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eUpdate Gradle from 8 to 9; build \u0026amp; test with JDK 25 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1550\"\u003e#1550\u003c/a\u003e, and also \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1612\"\u003e#1612\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1619\"\u003e#1619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSeparate integration tests by JUnit version (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1636\"\u003e#1636\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003ejunit-dataprovider\u003c/code\u003e with \u003ccode\u003ejunit-jupiter-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1655\"\u003e#1655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eArchUnit releases now update Maven examples (and Gradle wrapper) of \u003ca href=\"https://github.com/TNG/ArchUnit-Examples\"\u003eArchUnit-Examples\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid managing hamcrest dependency (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1467\"\u003e#1467\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\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/502d782bfbf2632a2c9f943a502ddd8cc3e3c46d\"\u003e\u003ccode\u003e502d782\u003c/code\u003e\u003c/a\u003e prepare release 1.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/4f26fccd784d37f469e743950f8e0a3ff686d64b\"\u003e\u003ccode\u003e4f26fcc\u003c/code\u003e\u003c/a\u003e fix testRelease exec() and task registration for Gradle 9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/96af98457c924289ecff834737eebd8a55bddda6\"\u003e\u003ccode\u003e96af984\u003c/code\u003e\u003c/a\u003e add new developers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/e427828fcb9b09117cd0e59a471314218f8331d5\"\u003e\u003ccode\u003ee427828\u003c/code\u003e\u003c/a\u003e consolidate POM checks during CI and release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a30f6e3465ed3cb0868607debf80bf83e741b5f0\"\u003e\u003ccode\u003ea30f6e3\u003c/code\u003e\u003c/a\u003e Bump gradle/actions from 6 to 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a036c08707c50e6f7091754e63389f5bd2aaec64\"\u003e\u003ccode\u003ea036c08\u003c/code\u003e\u003c/a\u003e Bump com.github.ben-manes.versions from 0.57.0 to 0.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/24a9d9e10d4bb5ba5c5678d36810ef2397470163\"\u003e\u003ccode\u003e24a9d9e\u003c/code\u003e\u003c/a\u003e Bump actions/setup-java from 5.6.0 to 5.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/9944244c116f2724ac5bc1d02c73ca10af1c92e4\"\u003e\u003ccode\u003e9944244\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/51fd6c9e90c681a3d644f8a1e86a428f64fe3418\"\u003e\u003ccode\u003e51fd6c9\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/65f4cd3a60c48b0654daa4662b563e6b8545e221\"\u003e\u003ccode\u003e65f4cd3\u003c/code\u003e\u003c/a\u003e add support for dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TNG/ArchUnit/compare/v1.4.1...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.tngtech.archunit:archunit-junit5\u0026package-manager=maven\u0026previous-version=1.4.1\u0026new-version=1.5.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/hhtuann/Quizopia_2.0/pull/17","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hhtuann%2FQuizopia_2.0/issues/17","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/17/packages"}},{"old_version":"1.3.0","new_version":"1.5.0","update_type":"minor","path":null,"pr_created_at":"2026-09-03T14:07:33.000Z","version_change":"1.3.0 → 1.5.0","issue":{"uuid":"5337646216","node_id":"PR_kwDOSO-pI88AAAABCEV2eA","number":160,"state":"closed","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 8 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-09-12T06:53:54.000Z","author_association":null,"state_reason":null,"created_at":"2026-09-03T14:07:33.000Z","updated_at":"2026-09-12T06:53:56.000Z","time_to_close":751581,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":8,"packages":[{"name":"org.postgresql:postgresql","old_version":"42.7.4","new_version":"42.7.13","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"software.amazon.awssdk:bom","old_version":"2.28.11","new_version":"2.54.13"},{"name":"net.java.dev.jna:jna","old_version":"5.14.0","new_version":"5.19.1","repository_url":"https://github.com/java-native-access/jna"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.3.0","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"org.awaitility:awaitility","old_version":"4.2.0","new_version":"4.3.0","repository_url":"https://github.com/awaitility/awaitility"},{"name":"com.icegreen:greenmail-junit5","old_version":"2.1.0","new_version":"2.1.13","repository_url":"https://github.com/greenmail-mail-test/greenmail"},{"name":"io.spring.dependency-management","old_version":"1.1.6","new_version":"1.1.7","repository_url":"https://github.com/spring-gradle-plugins/dependency-management-plugin"},{"name":"gradle-wrapper","old_version":"9.5.1","new_version":"9.7.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 8 updates in the /NPDevRuntimeHost directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.4` | `42.7.13` |\n| software.amazon.awssdk:bom | `2.28.11` | `2.54.13` |\n| [net.java.dev.jna:jna](https://github.com/java-native-access/jna) | `5.14.0` | `5.19.1` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.3.0` | `1.5.0` |\n| [org.awaitility:awaitility](https://github.com/awaitility/awaitility) | `4.2.0` | `4.3.0` |\n| [com.icegreen:greenmail-junit5](https://github.com/greenmail-mail-test/greenmail) | `2.1.0` | `2.1.13` |\n| [io.spring.dependency-management](https://github.com/spring-gradle-plugins/dependency-management-plugin) | `1.1.6` | `1.1.7` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.5.1` | `9.7.1` |\n\n\nUpdates `org.postgresql:postgresql` from 42.7.4 to 42.7.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgjdbc/pgjdbc/releases\"\u003eorg.postgresql:postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev42.7.13\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: add 42.7.13 release changelog \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4270\"\u003e#4270\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdjust EditorConfig für Makefile \u003ca href=\"https://github.com/BaumiCoder\"\u003e\u003ccode\u003e@​BaumiCoder\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4279\"\u003e#4279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(scram): fail closed on channel-binding downgrade (no scram bump) \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4272\"\u003e#4272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump pgjdbc version from 42.7.12 to 42.7.13 \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4269\"\u003e#4269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: remove test-anorm-sbt module and its disabled CI wiring \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4261\"\u003e#4261\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(test-gss): convert to Java/JUnit 5 submodule of the main build \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4166\"\u003e#4166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eci: derive PG test versions from a Renovate-managed maxPgVersion \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4218\"\u003e#4218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat(insert): cap reWriteBatchedInserts by the protocol limit, not 128 \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4207\"\u003e#4207\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor(metadata): derive getPrimaryKeys from pg_constraint.conkey \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4202\"\u003e#4202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(protocol): defer flushes until response processing \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4196\"\u003e#4196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(build): resolve the Temurin 8 test toolchain by vendor \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4257\"\u003e#4257\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild: include multi-release source sets in the JaCoCo coverage report \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4256\"\u003e#4256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(ci): read java_vendor before overwriting java_distribution \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4255\"\u003e#4255\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eci: generate the whole matrix in one batch, coverage job included \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4253\"\u003e#4253\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eci: pass CODECOV_TOKEN so protected-branch coverage uploads succeed \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4254\"\u003e#4254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eci: collect coverage on one pinned job \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4245\"\u003e#4245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eci: apply -DqueryTimeout from the matrix query_timeout axis \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4246\"\u003e#4246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eci: make Codecov project and patch statuses informational \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4244\"\u003e#4244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(build): restore JaCoCo XML report so Codecov receives coverage \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4240\"\u003e#4240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest(replication): shrink big-transaction inserts to avoid CI timeouts \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4243\"\u003e#4243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate maintainers \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4222\"\u003e#4222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add hermetic test for localSocketAddress \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4224\"\u003e#4224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs(translation): clean up leftover German header in ja.po \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4206\"\u003e#4206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate ja.po \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/2004\"\u003e#2004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add PostgreSQL 18 to the CI test matrix \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4198\"\u003e#4198\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: silence expected SSPI warning stack trace in SSPIClientWaffleTest \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4197\"\u003e#4197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix(ssl): build PKIX trust anchors without a KeyStore so FIPS-mode JVMs can load sslrootcert \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4193\"\u003e#4193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix flaky sentLocationEqualToLastReceiveLSN replication test \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4175\"\u003e#4175\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild: promote MethodCanBeStatic to error level \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4172\"\u003e#4172\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix PGInterval.setSeconds to reject out of range and NaN values \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4194\"\u003e#4194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace connectThreadFactory with connectExecutor \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4165\"\u003e#4165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix deleting temp file when spooling large stream to disk in StreamWrapper \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4190\"\u003e#4190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: Add top level /scratch to gitignore \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4164\"\u003e#4164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: favour composition over inheritance for Driver.ConnectTask \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4160\"\u003e#4160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix NumberParser.getFastLong(...) handling of overlong values \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4163\"\u003e#4163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild: produce a multi-release jar from reduced-pom.xml on Java 11+ \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4157\"\u003e#4157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd connectThreadFactory and refactor Driver to use FutureTask for loginTimeout connection attempts \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4120\"\u003e#4120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: verify custom properties reach socket factory \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4125\"\u003e#4125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix LazyCleanerTest timeouts for the lingering Java 8 cleanup thread \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4122\"\u003e#4122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: stabilise StatementTest.fastCloses on Windows \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4121\"\u003e#4121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: append default non-proxy hosts when socksNonProxyHosts is set \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4045\"\u003e#4045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: budget terminating Sync in BatchDeadlockTest small-RETURNING branch \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4116\"\u003e#4116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: make message assertions locale-independent \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4113\"\u003e#4113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebuild: drop xgettext default keywords; regenerate translations \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4100\"\u003e#4100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eci: opt-in scheduled workflows via ENABLE_SCHEDULED_JOBS repo variable \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4085\"\u003e#4085\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid direct java.lang.management dependency in maxResultBuffer parser \u003ca href=\"https://github.com/mblakley-casana\"\u003e\u003ccode\u003e@​mblakley-casana\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4069\"\u003e#4069\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: restore pre-describe for generated-key batches \u003ca href=\"https://github.com/bilalshehata\"\u003e\u003ccode\u003e@​bilalshehata\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4014\"\u003e#4014\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md\"\u003eorg.postgresql:postgresql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[42.7.13] (2026-07-06)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: invalidate the prepared-statement cache when the server reports a \u003ccode\u003esearch_path\u003c/code\u003e change via GUC_REPORT (PostgreSQL 18+), so cached plans are no longer used against the wrong schema [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4259\"\u003e#4259\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4259\"\u003epgjdbc/pgjdbc#4259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: \u003ccode\u003ereWriteBatchedInserts\u003c/code\u003e now merges up to 32768 rows into one multi-values \u003ccode\u003eINSERT\u003c/code\u003e (bounded by the 65535 bind-parameter limit on the extended protocol) instead of capping at 128, which speeds up batches of few-column rows. The new \u003ccode\u003ereWriteBatchedInsertsSize\u003c/code\u003e connection property lowers that cap when set; the default of \u003ccode\u003e0\u003c/code\u003e uses that maximum. [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4207\"\u003e#4207\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4207\"\u003epgjdbc/pgjdbc#4207\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: invalidate the prepared-statement cache after CREATE/DROP/ALTER so callers no longer trip on \u0026quot;cached plan must not change result type\u0026quot; without opting into \u003ccode\u003eautosave=ALWAYS\u003c/code\u003e. Controlled by the new \u003ccode\u003eflushCacheOnDdl\u003c/code\u003e connection property (default \u003ccode\u003etrue\u003c/code\u003e); set to \u003ccode\u003efalse\u003c/code\u003e for the prior behaviour. [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4067\"\u003e#4067\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4067\"\u003epgjdbc/pgjdbc#4067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: add \u003ccode\u003econnectExecutor\u003c/code\u003e connection property to customize the \u003ccode\u003eExecutor\u003c/code\u003e used to run the worker task that performs the connection attempt when \u003ccode\u003eloginTimeout\u003c/code\u003e is in effect. The value is the fully qualified name of a class implementing \u003ccode\u003ejava.util.concurrent.Executor\u003c/code\u003e. With a null value, the default, the driver retains the prior behavior of running the connection attempt on a daemon thread named \u003ccode\u003e\u0026quot;PostgreSQL JDBC driver connection thread\u0026quot;\u003c/code\u003e. The executor must run the task on a thread other than the caller's. Running the attempt on a named thread lets applications that monitor driver-created threads identify it. [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4165\"\u003e#4165\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4165\"\u003epgjdbc/pgjdbc#4165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: add \u003ccode\u003eclassLoaderStrategy\u003c/code\u003e connection property to control which classloaders the driver searches when loading a class named by a connection property, for example \u003ccode\u003esocketFactory\u003c/code\u003e. The default \u003ccode\u003edriver-first\u003c/code\u003e now falls back to the thread context classloader when the driver's classloader cannot resolve the class, which fixes class loading in non-flat class paths such as Quarkus and OSGi. Set \u003ccode\u003edriver\u003c/code\u003e to keep the previous driver-classloader-only behaviour, or \u003ccode\u003econtext-first\u003c/code\u003e to prefer the thread context classloader [Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/2112\"\u003e#2112\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/2112\"\u003epgjdbc/pgjdbc#2112\u003c/a\u003e) [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4167\"\u003e#4167\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4167\"\u003epgjdbc/pgjdbc#4167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: add OID constants for geometric arrays, \u003ccode\u003eRECORD\u003c/code\u003e, and \u003ccode\u003erefcursor\u003c/code\u003e [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4220\"\u003e#4220\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4220\"\u003epgjdbc/pgjdbc#4220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: \u003ccode\u003eLargeObject\u003c/code\u003e \u003ccode\u003eBlobInputStream\u003c/code\u003e now skips by seeking instead of reading, and the driver exposes the server version so it can select the 64-bit large-object API where available [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4204\"\u003e#4204\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4204\"\u003epgjdbc/pgjdbc#4204\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: the worker that runs the connection attempt under \u003ccode\u003eloginTimeout\u003c/code\u003e is now a \u003ccode\u003eFutureTask\u003c/code\u003e (\u003ccode\u003eConnectTask\u003c/code\u003e) instead of the hand-rolled \u003ccode\u003eConnectThread\u003c/code\u003e. When the caller hits the timeout, the task is now cancelled with \u003ccode\u003ecancel(true)\u003c/code\u003e, which interrupts the worker thread rather than letting it run to completion. This makes the connection attempt interruptible, so \u003ccode\u003eloginTimeout\u003c/code\u003e can stop a slow connection attempt instead of leaking a thread. As before, a connection that the worker still manages to establish after the caller gives up is closed by the worker so that it does not leak. There are no public API changes and this should only lead to faster background resource cleanup for connections that time out. [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4120\"\u003e#4120\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4120\"\u003epgjdbc/pgjdbc#4120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: \u003ccode\u003ePGXAConnection.ConnectionHandler\u003c/code\u003e now rejects \u003ccode\u003esetAutoCommit(false)\u003c/code\u003e and \u003ccode\u003esetSavepoint(...)\u003c/code\u003e during an active XA branch, in addition to the long-rejected \u003ccode\u003esetAutoCommit(true)\u003c/code\u003e / \u003ccode\u003ecommit()\u003c/code\u003e / \u003ccode\u003erollback()\u003c/code\u003e. The \u003ccode\u003esetSavepoint\u003c/code\u003e rejection was already meant to be in place but the guard misspelled the method name as \u003ccode\u003esetSavePoint\u003c/code\u003e, so savepoints silently went through. Both changes bring the proxy in line with JTA 1.2 §3.4. [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4114\"\u003e#4114\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4114\"\u003epgjdbc/pgjdbc#4114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: \u003ccode\u003ecommitPrepared\u003c/code\u003e / \u003ccode\u003erollback\u003c/code\u003e-of-prepared now return \u003ccode\u003eXAER_RMFAIL\u003c/code\u003e instead of \u003ccode\u003eXAER_RMERR\u003c/code\u003e when the underlying connection is left in a non-idle \u003ccode\u003eTransactionState\u003c/code\u003e. Transaction managers (Geronimo, Narayana, Atomikos) treat \u003ccode\u003eXAER_RMFAIL\u003c/code\u003e as retryable on a fresh \u003ccode\u003eXAResource\u003c/code\u003e; the prepared transaction is no longer abandoned. [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4114\"\u003e#4114\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4114\"\u003epgjdbc/pgjdbc#4114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erefactor: derive \u003ccode\u003egetPrimaryKeys\u003c/code\u003e from \u003ccode\u003epg_constraint.conkey\u003c/code\u003e [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4202\"\u003e#4202\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4202\"\u003epgjdbc/pgjdbc#4202\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: the published GitHub release now ships the released \u003ccode\u003epostgresql-\u0026lt;version\u0026gt;.jar\u003c/code\u003e and its detached PGP signature, taken from the same signed build that is uploaded to Maven Central, instead of a leftover SNAPSHOT jar [Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3812\"\u003e#3812\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3812\"\u003epgjdbc/pgjdbc#3812\u003c/a\u003e) [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3814\"\u003e#3814\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3814\"\u003epgjdbc/pgjdbc#3814\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: simplify the \u003ccode\u003eStatement#cancel\u003c/code\u003e state machine by dropping the redundant \u003ccode\u003eCANCELLED\u003c/code\u003e state. \u003ccode\u003ekillTimerTask\u003c/code\u003e now waits for the state to return to \u003ccode\u003eIDLE\u003c/code\u003e directly, which removes a spin-forever case when more than one thread observes the cancel completing [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/1827\"\u003e#1827\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/1827\"\u003epgjdbc/pgjdbc#1827\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eperf: defer simple-query flushes until the driver reads the response, allowing \u003ccode\u003eBEGIN\u003c/code\u003e and the following query to share a network flush [Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3894\"\u003e#3894\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3894\"\u003epgjdbc/pgjdbc#3894\u003c/a\u003e) [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4196\"\u003e#4196\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4196\"\u003epgjdbc/pgjdbc#4196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003ereWriteBatchedInserts\u003c/code\u003e no longer throws \u003ccode\u003eIllegalArgumentException\u003c/code\u003e when batching a parameterless \u003ccode\u003eINSERT\u003c/code\u003e (for example \u003ccode\u003eINSERT INTO t VALUES (1, 2)\u003c/code\u003e) of 256 rows or more [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4207\"\u003e#4207\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4207\"\u003epgjdbc/pgjdbc#4207\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: a comment before \u003ccode\u003eCALL\u003c/code\u003e in a \u003ccode\u003eCallableStatement\u003c/code\u003e no longer hides the native call, so OUT parameter registration works for \u003ccode\u003e/* comment */ call proc(?, ?)\u003c/code\u003e and similar. \u003ccode\u003eParser.modifyJdbcCall\u003c/code\u003e now skips leading whitespace and SQL comments (both \u003ccode\u003e--\u003c/code\u003e and \u003ccode\u003e/* */\u003c/code\u003e) before the call, tolerates a trailing comment after a \u003ccode\u003e{ ... }\u003c/code\u003e escape, and no longer adds a spurious comma when moving an OUT parameter into a call whose arguments are only a comment [Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/2538\"\u003e#2538\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/2538\"\u003epgjdbc/pgjdbc#2538\u003c/a\u003e) [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4209\"\u003e#4209\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4209\"\u003epgjdbc/pgjdbc#4209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003ePreparedStatement.toString()\u003c/code\u003e no longer throws for a \u003ccode\u003ebytea\u003c/code\u003e value supplied as text via \u003ccode\u003ePGobject\u003c/code\u003e. Hex-format values (\u003ccode\u003e\\x...\u003c/code\u003e) are validated and rendered as a \u003ccode\u003ebytea\u003c/code\u003e literal, and escape-format values are quoted and cast like any other literal [Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3757\"\u003e#3757\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3757\"\u003epgjdbc/pgjdbc#3757\u003c/a\u003e) [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4201\"\u003e#4201\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4201\"\u003epgjdbc/pgjdbc#4201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: the driver no longer nulls the \u003ccode\u003econtextClassLoader\u003c/code\u003e of shared \u003ccode\u003eForkJoinPool.commonPool()\u003c/code\u003e worker threads, which previously left unrelated tasks on those threads running with a \u003ccode\u003enull\u003c/code\u003e classloader [Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4155\"\u003e#4155\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4155\"\u003epgjdbc/pgjdbc#4155\u003c/a\u003e) [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4156\"\u003e#4156\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4156\"\u003epgjdbc/pgjdbc#4156\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003ePgResultSet#getCharacterStream\u003c/code\u003e wraps \u003ccode\u003eString\u003c/code\u003e in a \u003ccode\u003eStringReader\u003c/code\u003e [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4063\"\u003e#4063\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4063\"\u003epgjdbc/pgjdbc#4063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003ePGXAConnection\u003c/code\u003e no longer saves and restores the underlying connection's JDBC \u003ccode\u003eautoCommit\u003c/code\u003e flag. All XA-protocol SQL (\u003ccode\u003eBEGIN\u003c/code\u003e, \u003ccode\u003ePREPARE TRANSACTION\u003c/code\u003e, \u003ccode\u003eCOMMIT\u003c/code\u003e, \u003ccode\u003eROLLBACK\u003c/code\u003e, \u003ccode\u003eCOMMIT PREPARED\u003c/code\u003e, \u003ccode\u003eROLLBACK PREPARED\u003c/code\u003e, the \u003ccode\u003erecover()\u003c/code\u003e SELECT) is sent through \u003ccode\u003eQUERY_SUPPRESS_BEGIN\u003c/code\u003e, so the caller's \u003ccode\u003eautoCommit\u003c/code\u003e value is invariant across every \u003ccode\u003eXAResource\u003c/code\u003e call. Fixes the \u0026quot;2nd phase commit must be issued using an idle connection\u0026quot; failure during recovery on managed datasources that pool connections with \u003ccode\u003eautoCommit=false\u003c/code\u003e (TomEE, WildFly, WebSphere Liberty) [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4114\"\u003e#4114\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4114\"\u003epgjdbc/pgjdbc#4114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003ePGXAConnection.prepare()\u003c/code\u003e now mutates XA state only after \u003ccode\u003ePREPARE TRANSACTION\u003c/code\u003e succeeds. A failed \u003ccode\u003ePREPARE\u003c/code\u003e previously left the driver thinking the branch was already prepared, so the follow-up \u003ccode\u003erollback(xid)\u003c/code\u003e tried \u003ccode\u003eROLLBACK PREPARED\u003c/code\u003e against a non-existent gid and returned \u003ccode\u003eXAER_RMERR\u003c/code\u003e. Transaction managers (Narayana) escalated this to \u003ccode\u003eHeuristicMixedException\u003c/code\u003e. With the fix, \u003ccode\u003erollback(xid)\u003c/code\u003e takes the active-branch path and issues a plain \u003ccode\u003eROLLBACK\u003c/code\u003e, which the server accepts cleanly. Fixes [Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3153\"\u003e#3153\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3153\"\u003epgjdbc/pgjdbc#3153\u003c/a\u003e), [Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3123\"\u003e#3123\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3123\"\u003epgjdbc/pgjdbc#3123\u003c/a\u003e). [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4114\"\u003e#4114\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4114\"\u003epgjdbc/pgjdbc#4114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: an updatable result set over an unqualified table name is now classified using only the table visible through \u003ccode\u003esearch_path\u003c/code\u003e. When two schemas held a table with the same name and the same primary or unique index name but a different set of key columns, the driver took the union of both schemas' columns, so the result set could be wrongly rejected as not updatable [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4214\"\u003e#4214\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4214\"\u003epgjdbc/pgjdbc#4214\u003c/a\u003e). Supersedes [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3400\"\u003e#3400\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3400\"\u003epgjdbc/pgjdbc#3400\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003efix: \u003ccode\u003eLargeObject.close()\u003c/code\u003e now flushes a buffered output stream before marking the object closed, so closing a large object without an explicit \u003ccode\u003eflush()\u003c/code\u003e no longer drops buffered writes. The flush runs while the object is still open (it calls back into \u003ccode\u003eLargeObject.write()\u003c/code\u003e), and \u003ccode\u003elo_close\u003c/code\u003e always runs afterward; a failure from \u003ccode\u003elo_close\u003c/code\u003e no longer masks an earlier flush error, and the transaction is not committed when the flush failed [Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4247\"\u003e#4247\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4247\"\u003epgjdbc/pgjdbc#4247\u003c/a\u003e) [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4248\"\u003e#4248\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4248\"\u003epgjdbc/pgjdbc#4248\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003efix: reject empty \u003ccode\u003etimestamp\u003c/code\u003e, \u003ccode\u003etimestamptz\u003c/code\u003e, and \u003ccode\u003edate\u003c/code\u003e text with a clear \u003ccode\u003eSQLException\u003c/code\u003e (SQLState \u003ccode\u003e22007\u003c/code\u003e) instead of an \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4278\"\u003e#4278\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4278\"\u003epgjdbc/pgjdbc#4278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: return null \u003ccode\u003eCHAR_OCTET_LENGTH\u003c/code\u003e for non-character columns [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4231\"\u003e#4231\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4231\"\u003epgjdbc/pgjdbc#4231\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: honor scale in \u003ccode\u003eResultSet.getBigDecimal(int, int)\u003c/code\u003e [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4211\"\u003e#4211\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4211\"\u003epgjdbc/pgjdbc#4211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: support \u003ccode\u003ejava.time\u003c/code\u003e values in an updatable \u003ccode\u003eResultSet\u003c/code\u003e \u003ccode\u003eupdateRow()\u003c/code\u003e / \u003ccode\u003einsertRow()\u003c/code\u003e [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3848\"\u003e#3848\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3848\"\u003epgjdbc/pgjdbc#3848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: improve batching when the \u003ccode\u003eRETURNING\u003c/code\u003e clause contains \u003ccode\u003evarchar\u003c/code\u003e or \u003ccode\u003enumeric\u003c/code\u003e types [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4014\"\u003e#4014\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4014\"\u003epgjdbc/pgjdbc#4014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: correct \u003ccode\u003eestimatedReceiveBufferBytes\u003c/code\u003e accounting after a forced \u003ccode\u003eSync\u003c/code\u003e [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4014\"\u003e#4014\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4014\"\u003epgjdbc/pgjdbc#4014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: avoid creating a transient \u003ccode\u003eResultSet\u003c/code\u003e for describe-statement purposes, and restore the pre-describe path for generated-key batches [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4014\"\u003e#4014\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4014\"\u003epgjdbc/pgjdbc#4014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add an explicit failure message when a multi-statement command executes in a batch [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4014\"\u003e#4014\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4014\"\u003epgjdbc/pgjdbc#4014\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: detect \u003ccode\u003esearch_path\u003c/code\u003e changes case-insensitively [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4216\"\u003e#4216\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4216\"\u003epgjdbc/pgjdbc#4216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: auto-detect the SSL key format instead of relying on the \u003ccode\u003e.key\u003c/code\u003e extension [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3946\"\u003e#3946\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3946\"\u003epgjdbc/pgjdbc#3946\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: build PKIX trust anchors without a \u003ccode\u003eKeyStore\u003c/code\u003e so FIPS JVMs work [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4193\"\u003e#4193\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4193\"\u003epgjdbc/pgjdbc#4193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use \u003ccode\u003egssResponseTimeout\u003c/code\u003e rather than \u003ccode\u003esslResponseTimeout\u003c/code\u003e for GSS connections [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4076\"\u003e#4076\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4076\"\u003epgjdbc/pgjdbc#4076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: skip the autosave savepoint for \u003ccode\u003eSET LOCAL\u003c/code\u003e / \u003ccode\u003eSET SESSION TRANSACTION\u003c/code\u003e [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4203\"\u003e#4203\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4203\"\u003epgjdbc/pgjdbc#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: do not throw \u003ccode\u003eAssertionError\u003c/code\u003e from \u003ccode\u003eBatchResultHandler\u003c/code\u003e on a closed connection [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4187\"\u003e#4187\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4187\"\u003epgjdbc/pgjdbc#4187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: reject \u003ccode\u003eSQL_TSI_FRAC_SECOND\u003c/code\u003e with an explicit, explained error [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4229\"\u003e#4229\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4229\"\u003epgjdbc/pgjdbc#4229\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: reject a null URL in \u003ccode\u003eDriver.acceptsURL\u003c/code\u003e with a clear \u003ccode\u003eNullPointerException\u003c/code\u003e [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4205\"\u003e#4205\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4205\"\u003epgjdbc/pgjdbc#4205\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: reject overlong inputs in \u003ccode\u003eNumberParser.getFastLong\u003c/code\u003e instead of silently wrapping [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4163\"\u003e#4163\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4163\"\u003epgjdbc/pgjdbc#4163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: reject out-of-range and NaN values in \u003ccode\u003ePGInterval.setSeconds\u003c/code\u003e [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4194\"\u003e#4194\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4194\"\u003epgjdbc/pgjdbc#4194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: close the socket when \u003ccode\u003ePgConnection\u003c/code\u003e setup fails after connect [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4161\"\u003e#4161\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4161\"\u003epgjdbc/pgjdbc#4161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: keep the \u003ccode\u003eLazyCleanerImpl\u003c/code\u003e cleanup task alive across a transient empty queue [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4038\"\u003e#4038\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/4038\"\u003epgjdbc/pgjdbc#4038\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/pgjdbc/pgjdbc/commit/3297557c6a8059d0d6e3522c79f0bd9a6f82ee07\"\u003e\u003ccode\u003e3297557\u003c/code\u003e\u003c/a\u003e docs: add 42.7.13 release changelog (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4270\"\u003e#4270\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/d93d370984fbbccd099fc6466e4075ba46d8ec59\"\u003e\u003ccode\u003ed93d370\u003c/code\u003e\u003c/a\u003e style: apply Autostyle to docs/ and .github/\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/2e05ff9e3ea9e8249f25dcb7017984285f1f76b1\"\u003e\u003ccode\u003e2e05ff9\u003c/code\u003e\u003c/a\u003e build: check docs/ and .github/ formatting with Autostyle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/b4a6087d2f07b578923a5272fa0155602ade9d40\"\u003e\u003ccode\u003eb4a6087\u003c/code\u003e\u003c/a\u003e Adjust EditorConfig für Makefiles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/725cebbb4e13be777483bd916b19dfcd428b5f26\"\u003e\u003ccode\u003e725cebb\u003c/code\u003e\u003c/a\u003e fix(jdbc): reject empty timestamp/timestamptz text with a clear error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/23a1b0dac5a8fc633cc163e883eb21f0219ea521\"\u003e\u003ccode\u003e23a1b0d\u003c/code\u003e\u003c/a\u003e fix(scram): fail closed on channel-binding downgrade (no scram bump)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/0b4077a529b2448cc55a6ca87b2be8667243c9ab\"\u003e\u003ccode\u003e0b4077a\u003c/code\u003e\u003c/a\u003e Bump pgjdbc version from 42.7.12 to 42.7.13 (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4269\"\u003e#4269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/394800a38aebf54f9f293f6198e1fc5c8b19f10f\"\u003e\u003ccode\u003e394800a\u003c/code\u003e\u003c/a\u003e fix: flush LargeObject output stream before marking closed (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4248\"\u003e#4248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/83780f130e0c83a77bb67350603f3cca8d4b9bb2\"\u003e\u003ccode\u003e83780f1\u003c/code\u003e\u003c/a\u003e Maintain consistency with the use of the word maintainer vs comitter (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4234\"\u003e#4234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/d42cad5cd12a13197e68aa53f09a7721336dce7a\"\u003e\u003ccode\u003ed42cad5\u003c/code\u003e\u003c/a\u003e fix(jdbc): classify updatable result set by search_path visibility\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgjdbc/pgjdbc/compare/REL42.7.4...REL42.7.13\"\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.28.11 to 2.54.13\n\nUpdates `net.java.dev.jna:jna` from 5.14.0 to 5.19.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/java-native-access/jna/blob/master/CHANGES.md\"\u003enet.java.dev.jna:jna's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eRelease 5.19.1\u003c/h1\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1730\"\u003e#1730\u003c/a\u003e: Replace usage of \u003ccode\u003eMethodHandle\u003c/code\u003e with reflection to restore support for older Android releases - \u003ca href=\"https://github.com/matthiasblaesing\"\u003e\u003ccode\u003e@​matthiasblaesing\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eRelease 5.19.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1696\"\u003e#1696\u003c/a\u003e: Add \u003ccode\u003eLARGE_INTEGER.ByValue\u003c/code\u003e to \u003ccode\u003eLARGE_INTEGER\u003c/code\u003e in \u003ccode\u003eWinNT.java\u003c/code\u003e - \u003ca href=\"https://github.com/baier233\"\u003e\u003ccode\u003e@​baier233\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1697\"\u003e#1697\u003c/a\u003e: Add WlanApi module - \u003ca href=\"https://github.com/eranl\"\u003e\u003ccode\u003e@​eranl\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1718\"\u003e#1718\u003c/a\u003e: Add \u003ccode\u003eCups\u003c/code\u003e to \u003ccode\u003ec.s.j.p.unix\u003c/code\u003e providing CUPS printing system bindings for destinations, jobs, options, and server configuration - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1720\"\u003e#1720\u003c/a\u003e: Add \u003ccode\u003egroupCount\u003c/code\u003e and \u003ccode\u003egroupMasks\u003c/code\u003e fields to \u003ccode\u003eCACHE_RELATIONSHIP\u003c/code\u003e in \u003ccode\u003ec.s.j.p.win32.WinNT\u003c/code\u003e, matching the updated Windows struct layout - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1719\"\u003e#1719\u003c/a\u003e: Add \u003ccode\u003eCoreGraphics\u003c/code\u003e to \u003ccode\u003ec.s.j.p.mac\u003c/code\u003e with Quartz Window Services and Display Services bindings; implement \u003ccode\u003egetAllWindows()\u003c/code\u003e in \u003ccode\u003eMacWindowUtils\u003c/code\u003e - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1723\"\u003e#1723\u003c/a\u003e: Add \u003ccode\u003eProcFdInfo\u003c/code\u003e, \u003ccode\u003eInSockInfo\u003c/code\u003e, \u003ccode\u003eTcpSockInfo\u003c/code\u003e, \u003ccode\u003eproc_pidfdinfo\u003c/code\u003e, \u003ccode\u003estatfs64\u003c/code\u003e, and \u003ccode\u003evm_deallocate\u003c/code\u003e to \u003ccode\u003ec.s.j.p.mac.SystemB\u003c/code\u003e - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1725\"\u003e#1725\u003c/a\u003e: Add \u003ccode\u003eBluetoothApis\u003c/code\u003e to \u003ccode\u003ec.s.j.p.win32\u003c/code\u003e providing Bluetooth device and radio enumeration via \u003ccode\u003eBluetoothFindFirstRadio\u003c/code\u003e, \u003ccode\u003eBluetoothFindFirstDevice\u003c/code\u003e, and related functions - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1644\"\u003e#1644\u003c/a\u003e: Fix bug in VARDESC and TYPEDESC causing an illegal memory access - \u003ca href=\"https://github.com/lwahonen\"\u003e\u003ccode\u003e@​lwahonen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1715\"\u003e#1715\u003c/a\u003e: Fix \u003ccode\u003eUdevDevice.getSysname()\u003c/code\u003e calling \u003ccode\u003eudev_device_get_syspath\u003c/code\u003e instead of \u003ccode\u003eudev_device_get_sysname\u003c/code\u003e - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1721\"\u003e#1721\u003c/a\u003e: Fix switched \u003ccode\u003eserverName\u003c/code\u003e/\u003ccode\u003edomainName\u003c/code\u003e arguments in \u003ccode\u003eNetapi32Util#getDCName\u003c/code\u003e - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1722\"\u003e#1722\u003c/a\u003e: Fix \u003ccode\u003eAdvapi32#RegisterServiceCtrlHandler\u003c/code\u003e using wrong \u003ccode\u003eHandler\u003c/code\u003e type - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1636\"\u003e#1636\u003c/a\u003e: Drop hard dependency on java.lang.SecurityManager/java.security.AccessController - \u003ca href=\"https://github.com/matthiasblaesing\"\u003e\u003ccode\u003e@​matthiasblaesing\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1724\"\u003e#1724\u003c/a\u003e: Fix \u003ccode\u003ehost_page_size\u003c/code\u003e in \u003ccode\u003ec.s.j.p.mac.SystemB\u003c/code\u003e and \u003ccode\u003egetxattr\u003c/code\u003e/\u003ccode\u003esetxattr\u003c/code\u003e/\u003ccode\u003elistxattr\u003c/code\u003e in \u003ccode\u003ec.s.j.p.mac.XAttr\u003c/code\u003e using \u003ccode\u003elong\u003c/code\u003e instead of pointer-sized types for \u003ccode\u003esize_t\u003c/code\u003e/\u003ccode\u003essize_t\u003c/code\u003e parameters - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1727\"\u003e#1727\u003c/a\u003e: Include DragonFlyBSD in \u003ccode\u003eNativeLibrary\u003c/code\u003e versioned library resolution, libc special-case loading, and 64-bit search paths - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1709\"\u003e#1709\u003c/a\u003e: Rebuild native library for OpenBSD 7.9 x86-64, drop OpenBSD x86 - \u003ca href=\"https://github.com/matthiasblaesing\"\u003e\u003ccode\u003e@​matthiasblaesing\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eRelease 5.18.1\u003c/h1\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1686\"\u003e#1686\u003c/a\u003e: Fix \u003ccode\u003esortFields\u003c/code\u003e race condition while getting fields - \u003ca href=\"https://github.com/bendk\"\u003e\u003ccode\u003e@​bendk\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eRelease 5.18.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1671\"\u003e#1671\u003c/a\u003e: Add \u003ccode\u003eisRISCV\u003c/code\u003e to \u003ccode\u003ec.s.j.Platform\u003c/code\u003e - \u003ca href=\"https://github.com/Glavo\"\u003e\u003ccode\u003e@​Glavo\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1672\"\u003e#1672\u003c/a\u003e: Add \u003ccode\u003eCFLocale\u003c/code\u003e, \u003ccode\u003eCFLocaleCopyCurrent\u003c/code\u003e, \u003ccode\u003eCFCFDateFormatter\u003c/code\u003e, \u003ccode\u003eCFDateFormatterStyle\u003c/code\u003e, \u003ccode\u003eCFDateFormatterCreate\u003c/code\u003e and \u003ccode\u003eCFDateFormatterGetFormat\u003c/code\u003e to \u003ccode\u003ec.s.j.p.mac.CoreFoundation\u003c/code\u003e - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/pull/1669\"\u003e#1669\u003c/a\u003e: Document requirement for running on JDK 24+ - \u003ca href=\"https://github.com/matthiasblaesing\"\u003e\u003ccode\u003e@​matthiasblaesing\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1681\"\u003e#1681\u003c/a\u003e: Fix deadlock in Structure constructor introduced in 5.16.0 - \u003ca href=\"https://github.com/brettwooldridge\"\u003e\u003ccode\u003e@​brettwooldridge\u003c/code\u003e\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/java-native-access/jna/commit/1a91122853f6ab6f1fb2a4a284a6cf2ed8af0a4d\"\u003e\u003ccode\u003e1a91122\u003c/code\u003e\u003c/a\u003e Release 5.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/cbfcb4add73065d8006869acd3da72b579cfb52c\"\u003e\u003ccode\u003ecbfcb4a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1731\"\u003e#1731\u003c/a\u003e from matthiasblaesing/ancient_android\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/4ba086b3eca0b937b6e73640b0b8a9f20ffd9fe2\"\u003e\u003ccode\u003e4ba086b\u003c/code\u003e\u003c/a\u003e Restore support for Android versions not supporting MethodHandles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/699935fc29d624abe73b4ae258897bd5a1380abc\"\u003e\u003ccode\u003e699935f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1729\"\u003e#1729\u003c/a\u003e from thesamesam/parallel-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/3fe4cb5fdc035e14d19d85b19a27711d1eebc356\"\u003e\u003ccode\u003e3fe4cb5\u003c/code\u003e\u003c/a\u003e native: fix parallel build issue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/01c7807fe7b66ff9cfcd04d283ebfeb0ad7d7c16\"\u003e\u003ccode\u003e01c7807\u003c/code\u003e\u003c/a\u003e Prepare next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/9ff138107f4b258423229166a49f92c83d980b2f\"\u003e\u003ccode\u003e9ff1381\u003c/code\u003e\u003c/a\u003e Release 5.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/2d038ef24c547abc82ddf39e17a5ce26b2781519\"\u003e\u003ccode\u003e2d038ef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1726\"\u003e#1726\u003c/a\u003e from matthiasblaesing/openbsd\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/eecab35757229a73db4bdd2dbbbcfad034782ad1\"\u003e\u003ccode\u003eeecab35\u003c/code\u003e\u003c/a\u003e Update native built for OpenBSD 7.9 (x86-64 only)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/java-native-access/jna/commit/f6708688b61d1ed10194086c5bd65bbc9bee6985\"\u003e\u003ccode\u003ef670868\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/java-native-access/jna/issues/1727\"\u003e#1727\u003c/a\u003e from dbwiddis/fix/dragonflybsd-library-loading\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/java-native-access/jna/compare/5.14.0...5.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.tngtech.archunit:archunit-junit5` from 1.3.0 to 1.5.0\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.5.0\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 27 / class file major version 71 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1618\"\u003e#1618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove descriptions of \u003ccode\u003eJavaAccess.Predicates.originOwner\u003c/code\u003e and \u003ccode\u003eJavaAccess.Predicates.targetOwner\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1603\"\u003e#1603\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eExpose information on sealed classes via \u003ccode\u003eJavaClass\u003c/code\u003e: \u003ccode\u003eisSealed()\u003c/code\u003e and \u003ccode\u003egetPermittedSubclasses()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/bannmann\"\u003e\u003ccode\u003e@​bannmann\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eImportOption.DoNotIncludeTests\u003c/code\u003e and \u003ccode\u003eOnlyIncludeTests\u003c/code\u003e consider tests in custom Gradle source sets (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/Develop-KIM\"\u003e\u003ccode\u003e@​Develop-KIM\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLang\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchConditions\u003c/code\u003e offers new \u003ccode\u003eArchCondition\u0026lt;JavaClass\u0026gt; haveAnyDependenciesThat(DescribedPredicate\u0026lt;Dependency\u0026gt;)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1580\"\u003e#1580\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/wakingrufus\"\u003e\u003ccode\u003e@​wakingrufus\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchitectureMetrics.lakosMetrics\u003c/code\u003e is computed much more performantly (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1629\"\u003e#1629\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/ThanosTsiamis\"\u003e\u003ccode\u003e@​ThanosTsiamis\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTextFileBasedViolationStore\u003c/code\u003e is now thread-safe under parallel test execution (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1656\"\u003e#1656\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/kelunik\"\u003e\u003ccode\u003e@​kelunik\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eModuleDependency\u003c/code\u003e now provides stable descriptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1648\"\u003e#1648\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/DragonFSKY\"\u003e\u003ccode\u003e@​DragonFSKY\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eJUnit\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003earchunit-junit6\u003c/code\u003e supports ArchUnit with JUnit 6 (\u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1556\"\u003e#1556\u003c/a\u003e\u003c/del\u003e, \u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1658\"\u003e#1658\u003c/a\u003e\u003c/del\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1659\"\u003e#1659\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnalyzeClasses\u003c/code\u003e supports individual classes (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1569\"\u003e#1569\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003ePreparation:\u003c/em\u003e \u003ccode\u003earchunit-junit:0.9.0\u003c/code\u003e (which was renamed with \u003ca href=\"https://github.com/TNG/ArchUnit/releases/tag/v0.9.0\"\u003eArchUnit 0.9.0\u003c/a\u003e) now relocates to \u003ccode\u003earchunit-junit4:0.9.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1673\"\u003e#1673\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋) – will be published after \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1684\"\u003e#1684\u003c/a\u003e 🙈\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocument \u003ccode\u003ePriority\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1671\"\u003e#1671\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eDocument Package Identifiers in User Guide (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1672\"\u003e#1672\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eInternal Improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eText files now use UNIX line breaks (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1602\"\u003e#1602\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1611\"\u003e#1611\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eUpdate Gradle from 8 to 9; build \u0026amp; test with JDK 25 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1550\"\u003e#1550\u003c/a\u003e, and also \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1612\"\u003e#1612\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1619\"\u003e#1619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSeparate integration tests by JUnit version (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1636\"\u003e#1636\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003ejunit-dataprovider\u003c/code\u003e with \u003ccode\u003ejunit-jupiter-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1655\"\u003e#1655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eArchUnit releases now update Maven examples (and Gradle wrapper) of \u003ca href=\"https://github.com/TNG/ArchUnit-Examples\"\u003eArchUnit-Examples\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid managing hamcrest dependency (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1467\"\u003e#1467\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\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\u003ch2\u003eArchUnit 1.4.1\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 25 / class file major version 69 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1440\"\u003e#1440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\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/TNG/ArchUnit/commit/502d782bfbf2632a2c9f943a502ddd8cc3e3c46d\"\u003e\u003ccode\u003e502d782\u003c/code\u003e\u003c/a\u003e prepare release 1.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/4f26fccd784d37f469e743950f8e0a3ff686d64b\"\u003e\u003ccode\u003e4f26fcc\u003c/code\u003e\u003c/a\u003e fix testRelease exec() and task registration for Gradle 9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/96af98457c924289ecff834737eebd8a55bddda6\"\u003e\u003ccode\u003e96af984\u003c/code\u003e\u003c/a\u003e add new developers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/e427828fcb9b09117cd0e59a471314218f8331d5\"\u003e\u003ccode\u003ee427828\u003c/code\u003e\u003c/a\u003e consolidate POM checks during CI and release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a30f6e3465ed3cb0868607debf80bf83e741b5f0\"\u003e\u003ccode\u003ea30f6e3\u003c/code\u003e\u003c/a\u003e Bump gradle/actions from 6 to 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a036c08707c50e6f7091754e63389f5bd2aaec64\"\u003e\u003ccode\u003ea036c08\u003c/code\u003e\u003c/a\u003e Bump com.github.ben-manes.versions from 0.57.0 to 0.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/24a9d9e10d4bb5ba5c5678d36810ef2397470163\"\u003e\u003ccode\u003e24a9d9e\u003c/code\u003e\u003c/a\u003e Bump actions/setup-java from 5.6.0 to 5.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/9944244c116f2724ac5bc1d02c73ca10af1c92e4\"\u003e\u003ccode\u003e9944244\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/51fd6c9e90c681a3d644f8a1e86a428f64fe3418\"\u003e\u003ccode\u003e51fd6c9\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/65f4cd3a60c48b0654daa4662b563e6b8545e221\"\u003e\u003ccode\u003e65f4cd3\u003c/code\u003e\u003c/a\u003e add support for dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TNG/ArchUnit/compare/v1.3.0...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.awaitility:awaitility` from 4.2.0 to 4.3.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/awaitility/awaitility/blob/master/changelog.txt\"\u003eorg.awaitility:awaitility's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChangelog 4.3.0 (2025-02-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport for kotlin.time.Duration in Kotlin DSL (thanks to Ivo Šmíd for PR)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgraded kotlin version in the awaitility-kotlin module to 2.1.10\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUsing a more descriptive error message when using VERY long wait conditions or poll durations (issue 290)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded an overloaded method of untilAsserted(..) that takes a supplier and a consumer. For example, lets say you have a class like this:\npublic class MyClass {\npublic String myFunction() {\n// Imagine stuff being executed in asynchronously here and the result of this\n// operation is a string called \u0026quot;my value\u0026quot;\nreturn \u0026quot;my value\u0026quot;\n}\n}\u003c/p\u003e\n\u003cp\u003e// Then in your test you can wait for the \u0026quot;myFunction\u0026quot; to be asserted by a \u0026quot;consumer\u0026quot; that uses\n// assertj to make sure that \u0026quot;myFunction\u0026quot; returns \u0026quot;\u0026quot;my value\u0026quot;\nawait().untilAsserted(myClass::myFunction, value -\u0026gt; Assertions.assertThat(value).isEqualTo(\u0026quot;my value\u0026quot;));\u003c/p\u003e\n\u003cp\u003eThis has also been implemented for all atomic, adder, and accumulator methods.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChangelog 4.2.2 (2024-08-07)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport JDK EA builds in JavaVersionDetector (thanks to Oleg Estekhin for pull request)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChangelog 4.2.1 (2024-03-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpgraded Kotlin to 1.9.22\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded extension properties forever, then, and, given to the Kotlin extension. This allows you to do e.g.:\u003c/p\u003e\n\u003cp\u003eawait.forever until { .. }\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded shortcut for enabling logging. Before you had to do e.g.\u003c/p\u003e\n\u003cp\u003eawait()\n.with()\n.conditionEvaluationListener(new ConditionEvaluationLogger(log::info))\n.pollInterval(ONE_HUNDRED_MILLISECONDS)\n.until(logs::size, is(4));\u003c/p\u003e\n\u003cp\u003eYou can now instead use the \u0026quot;logging\u0026quot; shortcut:\u003c/p\u003e\n\u003cp\u003eawait()\n.with()\n.logging(log::info)\n.pollInterval(ONE_HUNDRED_MILLISECONDS)\n.until(logs::size, is(4));\u003c/p\u003e\n\u003cp\u003eor simply \u0026quot;.logging()\u0026quot; for \u0026quot;System.out\u0026quot;.\u003c/p\u003e\n\u003cp\u003eThis shortcut has also been added globally:\u003c/p\u003e\n\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/awaitility/awaitility/commit/e3ff879b33c10261ae8d58e50ecf601b2037bd11\"\u003e\u003ccode\u003ee3ff879\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release awaitility-4.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/awaitility/awaitility/commit/d1167123be35a952bcabb14922f995d731fcc1ad\"\u003e\u003ccode\u003ed116712\u003c/code\u003e\u003c/a\u003e [ci skip] Preparing changelog for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/awaitility/awaitility/commit/4e186dfa453599599ea325d5e629cdab16e7a089\"\u003e\u003ccode\u003e4e186df\u003c/code\u003e\u003c/a\u003e Added kotlin source folder explicitly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/awaitility/awaitility/commit/e8d3ab7b6347bdc0a15fb32a497dbfbf3c0db9e6\"\u003e\u003ccode\u003ee8d3ab7\u003c/code\u003e\u003c/a\u003e Upgraded lots of plugin dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/awaitility/awaitility/commit/a7a167a4896983e784d5f84836f62d3a0d79c090\"\u003e\u003ccode\u003ea7a167a\u003c/code\u003e\u003c/a\u003e Added an overloaded method of untilAsserted(..) that takes a supplier and a c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/awaitility/awaitility/commit/ef8f66309809ed4fe8d641f63c228dee10707f35\"\u003e\u003ccode\u003eef8f663\u003c/code\u003e\u003c/a\u003e Make ConditionFactory safer to use in java 8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/awaitility/awaitility/commit/5550079b8a45dbb5ead8f1f3567e3dea648de371\"\u003e\u003ccode\u003e5550079\u003c/code\u003e\u003c/a\u003e Using a more descriptive error message when using VERY long wait conditions o...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/awaitility/awaitility/commit/2a9814b2045c35a6c7670c5d40a83cc7887c8844\"\u003e\u003ccode\u003e2a9814b\u003c/code\u003e\u003c/a\u003e Upgraded kotlin version in the awaitility-kotlin module to 2.1.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/awaitility/awaitility/commit/8f22c003290f0f5f775235e782da4f53fbbab765\"\u003e\u003ccode\u003e8f22c00\u003c/code\u003e\u003c/a\u003e [ci skip] Updated changelog.txt to reflect latest changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/awaitility/awaitility/commit/6a35c247c324a48febb62cdcc44dd33b307d88bb\"\u003e\u003ccode\u003e6a35c24\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/awaitility/awaitility/issues/235\"\u003e#235\u003c/a\u003e Support for kotlin.time.Duration in Kotlin DSL (\u003ca href=\"https://redirect.github.com/awaitility/awaitility/issues/285\"\u003e#285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/awaitility/awaitility/compare/awaitility-4.2.0...awaitility-4.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.icegreen:greenmail-junit5` from 2.1.0 to 2.1.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/greenmail-mail-test/greenmail/releases\"\u003ecom.icegreen:greenmail-junit5's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.1.13\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid NPE when forcing IMAP close without an active response by \u003ca href=\"https://github.com/kalayciburak\"\u003e\u003ccode\u003e@​kalayciburak\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1047\"\u003egreenmail-mail-test/greenmail#1047\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eByte-stuff bare-lf dot lines in POP3 RETR response by \u003ca href=\"https://github.com/netliomax25-code\"\u003e\u003ccode\u003e@​netliomax25-code\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1049\"\u003egreenmail-mail-test/greenmail#1049\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix array index in SaslXoauth2Message.parse on separator-less input by \u003ca href=\"https://github.com/netliomax25-code\"\u003e\u003ccode\u003e@​netliomax25-code\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1051\"\u003egreenmail-mail-test/greenmail#1051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject malformed SEARCH criteria with BAD instead of closing connection by \u003ca href=\"https://github.com/netliomax25-code\"\u003e\u003ccode\u003e@​netliomax25-code\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1053\"\u003egreenmail-mail-test/greenmail#1053\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject malformed message set with BAD instead of closing connection by \u003ca href=\"https://github.com/netliomax25-code\"\u003e\u003ccode\u003e@​netliomax25-code\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1054\"\u003egreenmail-mail-test/greenmail#1054\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump org.bouncycastle:bc-jdk18on-bom from 1.85 to 1.85.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1048\"\u003egreenmail-mail-test/greenmail#1048\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.fasterxml.jackson:jackson-bom from 2.22.1 to 2.22.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1055\"\u003egreenmail-mail-test/greenmail#1055\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/greenmail-mail-test/greenmail/compare/release-2.1.12...release-2.1.13\"\u003ehttps://github.com/greenmail-mail-test/greenmail/compare/release-2.1.12...release-2.1.13\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003erelease-2.1.12\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClear user keywords on STORE FLAGS replace by \u003ca href=\"https://github.com/netliomax25-code\"\u003e\u003ccode\u003e@​netliomax25-code\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1034\"\u003egreenmail-mail-test/greenmail#1034\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSkip implicit \\Seen on read-only mailbox in FETCH by \u003ca href=\"https://github.com/netliomax25-code\"\u003e\u003ccode\u003e@​netliomax25-code\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1035\"\u003egreenmail-mail-test/greenmail#1035\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix FETCH BODYSTRUCTURE npe on multipart without parsable subparts by \u003ca href=\"https://github.com/netliomax25-code\"\u003e\u003ccode\u003e@​netliomax25-code\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1036\"\u003egreenmail-mail-test/greenmail#1036\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eValidate literal octet count in consumeLiteralAsBytes by \u003ca href=\"https://github.com/netliomax25-code\"\u003e\u003ccode\u003e@​netliomax25-code\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1038\"\u003egreenmail-mail-test/greenmail#1038\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve mailbox before INBOX guard in deleteMailbox by \u003ca href=\"https://github.com/netliomax25-code\"\u003e\u003ccode\u003e@​netliomax25-code\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1039\"\u003egreenmail-mail-test/greenmail#1039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect message mime part size computation (was ignoring newlines) \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/issues/967\"\u003e#967\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix BODYSTRUCTURE linecount computation by \u003ca href=\"https://github.com/marcelmay\"\u003e\u003ccode\u003e@​marcelmay\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/issues/1044\"\u003e#1044\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResolve new parent before detaching mailbox in renameMailbox by \u003ca href=\"https://github.com/netliomax25-code\"\u003e\u003ccode\u003e@​netliomax25-code\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1041\"\u003egreenmail-mail-test/greenmail#1041\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDelete nested mailboxes deepest-first when removing a user by \u003ca href=\"https://github.com/kalayciburak\"\u003e\u003ccode\u003e@​kalayciburak\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1046\"\u003egreenmail-mail-test/greenmail#1046\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrate and update Azul openjdk image to 21.0.12 by \u003ca href=\"https://github.com/marcelmay\"\u003e\u003ccode\u003e@​marcelmay\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1042\"\u003egreenmail-mail-test/greenmail#1042\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/kalayciburak\"\u003e\u003ccode\u003e@​kalayciburak\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1046\"\u003egreenmail-mail-test/greenmail#1046\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/greenmail-mail-test/greenmail/compare/release-2.1.11...release-2.1.12\"\u003ehttps://github.com/greenmail-mail-test/greenmail/compare/release-2.1.11...release-2.1.12\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.1.11\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReject STORE, EXPUNGE and MOVE on read-only selected mailbox by \u003ca href=\"https://github.com/netliomax25-code\"\u003e\u003ccode\u003e@​netliomax25-code\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/pull/1032\"\u003egreenmail-mail-test/greenmail#1032\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[SECURITY] Uncontrolled data used in path expression \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/issues/1033\"\u003e#1033\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSELECT FLAGS response never lists custom keywords  \u003ca href=\"https://redirect.github.com/greenmail-mail-test/greenmail/issues/1027\"\u003e#1027\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/greenmail-mail-test/greenmail/compare/release-2.1.10...release-2.1.11\"\u003ehttps://github.com/greenmail-mail-test/greenmail/compare/release-2.1.10...release-2.1.11\u003c/a\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/greenmail-mail-test/greenmail/commit/cd4d14ff26fca905dae8e250c29879402287d32d\"\u003e\u003ccode\u003ecd4d14f\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release release-2.1.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenmail-mail-test/greenmail/commit/1d7d3ddb0f0d84e8376738638e0f42c2c1ea222c\"\u003e\u003ccode\u003e1d7d3dd\u003c/code\u003e\u003c/a\u003e Chore: Updating docs for 2.1.13 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenmail-mail-test/greenmail/commit/f5ca3e31d2d44d947654c8ff340cb1cc83365bc2\"\u003e\u003ccode\u003ef5ca3e3\u003c/code\u003e\u003c/a\u003e Minor fixes (spelling, code style, ...)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenmail-mail-test/greenmail/commit/99d18fd8153c0deda037c0bac18996c6c0885b21\"\u003e\u003ccode\u003e99d18fd\u003c/code\u003e\u003c/a\u003e reject malformed message set with protocol exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenmail-mail-test/greenmail/commit/659cd219e9730e58077c68045b646f2ea17e5535\"\u003e\u003ccode\u003e659cd21\u003c/code\u003e\u003c/a\u003e Build(deps): Bump com.fasterxml.jackson:jackson-bom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenmail-mail-test/greenmail/commit/1377a54d7d290018296ac2f1ac5b19bf12eb7147\"\u003e\u003ccode\u003e1377a54\u003c/code\u003e\u003c/a\u003e Build: Remove deprecated finbbugs plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenmail-mail-test/greenmail/commit/c7fbba6b6ba641f29539e68e161a76292a830c9b\"\u003e\u003ccode\u003ec7fbba6\u003c/code\u003e\u003c/a\u003e Build: Fix scm tag and added jakarta.ee javadoc links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenmail-mail-test/greenmail/commit/b21a84b8859a2c402c6eea542b73e3d5342bcf4e\"\u003e\u003ccode\u003eb21a84b\u003c/code\u003e\u003c/a\u003e Renamed Copilot instructions to more generic AGENTS.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenmail-mail-test/greenmail/commit/a4b56562b5a5ad4e8e705f86751ec76deee1763c\"\u003e\u003ccode\u003ea4b5656\u003c/code\u003e\u003c/a\u003e reject malformed SEARCH criteria with BAD instead of closing connection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/greenmail-mail-test/greenmail/commit/517c7d3354316af22007160730cd3290e6d233ff\"\u003e\u003ccode\u003e517c7d3\u003c/code\u003e\u003c/a\u003e guard xoauth2 part count before indexing in SaslXoauth2Message\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/greenmail-mail-test/greenmail/compare/release-2.1.0...release-2.1.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.spring.dependency-management` from 1.1.6 to 1.1.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-gradle-plugins/dependency-management-plugin/releases\"\u003eio.spring.dependency-management's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.7\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDependency management report task produces a deprecation warning with Gradle 8.12-rc-1 \u003ca href=\"https://redirect.github.com/spring-gradle-plugins/dependency-management-plugin/issues/400\"\u003e#400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExclusionResolver makes assumptions that won't hold true with Gradle 9 \u003ca href=\"https://redirect.github.com/spring-gradle-plugins/dependency-management-plugin/pull/394\"\u003e#394\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/octylFractal\"\u003e\u003ccode\u003e@​octylFractal\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...\n\n_Description has been truncated_","html_url":"https://github.com/MarceloGiazzon/NPDevGeneral/pull/160","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarceloGiazzon%2FNPDevGeneral/issues/160","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/160/packages"}},{"old_version":"1.3.0","new_version":"1.5.0","update_type":"minor","path":null,"pr_created_at":"2026-09-03T14:07:24.000Z","version_change":"1.3.0 → 1.5.0","issue":{"uuid":"5337644723","node_id":"PR_kwDOSO-pI88AAAABCEVxhQ","number":156,"state":"closed","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 2 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-09-12T06:53:42.000Z","author_association":null,"state_reason":null,"created_at":"2026-09-03T14:07:24.000Z","updated_at":"2026-09-12T06:53:44.000Z","time_to_close":751578,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":2,"packages":[{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.3.0","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"gradle-wrapper","old_version":"9.5.1","new_version":"9.7.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 2 updates in the / directory: [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) and [gradle-wrapper](https://github.com/gradle/gradle).\n\nUpdates `com.tngtech.archunit:archunit-junit5` from 1.3.0 to 1.5.0\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.5.0\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 27 / class file major version 71 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1618\"\u003e#1618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove descriptions of \u003ccode\u003eJavaAccess.Predicates.originOwner\u003c/code\u003e and \u003ccode\u003eJavaAccess.Predicates.targetOwner\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1603\"\u003e#1603\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eExpose information on sealed classes via \u003ccode\u003eJavaClass\u003c/code\u003e: \u003ccode\u003eisSealed()\u003c/code\u003e and \u003ccode\u003egetPermittedSubclasses()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/bannmann\"\u003e\u003ccode\u003e@​bannmann\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eImportOption.DoNotIncludeTests\u003c/code\u003e and \u003ccode\u003eOnlyIncludeTests\u003c/code\u003e consider tests in custom Gradle source sets (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/Develop-KIM\"\u003e\u003ccode\u003e@​Develop-KIM\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLang\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchConditions\u003c/code\u003e offers new \u003ccode\u003eArchCondition\u0026lt;JavaClass\u0026gt; haveAnyDependenciesThat(DescribedPredicate\u0026lt;Dependency\u0026gt;)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1580\"\u003e#1580\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/wakingrufus\"\u003e\u003ccode\u003e@​wakingrufus\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchitectureMetrics.lakosMetrics\u003c/code\u003e is computed much more performantly (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1629\"\u003e#1629\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/ThanosTsiamis\"\u003e\u003ccode\u003e@​ThanosTsiamis\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTextFileBasedViolationStore\u003c/code\u003e is now thread-safe under parallel test execution (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1656\"\u003e#1656\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/kelunik\"\u003e\u003ccode\u003e@​kelunik\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eModuleDependency\u003c/code\u003e now provides stable descriptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1648\"\u003e#1648\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/DragonFSKY\"\u003e\u003ccode\u003e@​DragonFSKY\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eJUnit\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003earchunit-junit6\u003c/code\u003e supports ArchUnit with JUnit 6 (\u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1556\"\u003e#1556\u003c/a\u003e\u003c/del\u003e, \u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1658\"\u003e#1658\u003c/a\u003e\u003c/del\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1659\"\u003e#1659\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnalyzeClasses\u003c/code\u003e supports individual classes (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1569\"\u003e#1569\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003ePreparation:\u003c/em\u003e \u003ccode\u003earchunit-junit:0.9.0\u003c/code\u003e (which was renamed with \u003ca href=\"https://github.com/TNG/ArchUnit/releases/tag/v0.9.0\"\u003eArchUnit 0.9.0\u003c/a\u003e) now relocates to \u003ccode\u003earchunit-junit4:0.9.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1673\"\u003e#1673\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋) – will be published after \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1684\"\u003e#1684\u003c/a\u003e 🙈\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocument \u003ccode\u003ePriority\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1671\"\u003e#1671\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eDocument Package Identifiers in User Guide (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1672\"\u003e#1672\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eInternal Improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eText files now use UNIX line breaks (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1602\"\u003e#1602\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1611\"\u003e#1611\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eUpdate Gradle from 8 to 9; build \u0026amp; test with JDK 25 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1550\"\u003e#1550\u003c/a\u003e, and also \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1612\"\u003e#1612\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1619\"\u003e#1619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSeparate integration tests by JUnit version (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1636\"\u003e#1636\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003ejunit-dataprovider\u003c/code\u003e with \u003ccode\u003ejunit-jupiter-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1655\"\u003e#1655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eArchUnit releases now update Maven examples (and Gradle wrapper) of \u003ca href=\"https://github.com/TNG/ArchUnit-Examples\"\u003eArchUnit-Examples\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid managing hamcrest dependency (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1467\"\u003e#1467\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\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\u003ch2\u003eArchUnit 1.4.1\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 25 / class file major version 69 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1440\"\u003e#1440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\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/TNG/ArchUnit/commit/502d782bfbf2632a2c9f943a502ddd8cc3e3c46d\"\u003e\u003ccode\u003e502d782\u003c/code\u003e\u003c/a\u003e prepare release 1.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/4f26fccd784d37f469e743950f8e0a3ff686d64b\"\u003e\u003ccode\u003e4f26fcc\u003c/code\u003e\u003c/a\u003e fix testRelease exec() and task registration for Gradle 9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/96af98457c924289ecff834737eebd8a55bddda6\"\u003e\u003ccode\u003e96af984\u003c/code\u003e\u003c/a\u003e add new developers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/e427828fcb9b09117cd0e59a471314218f8331d5\"\u003e\u003ccode\u003ee427828\u003c/code\u003e\u003c/a\u003e consolidate POM checks during CI and release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a30f6e3465ed3cb0868607debf80bf83e741b5f0\"\u003e\u003ccode\u003ea30f6e3\u003c/code\u003e\u003c/a\u003e Bump gradle/actions from 6 to 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a036c08707c50e6f7091754e63389f5bd2aaec64\"\u003e\u003ccode\u003ea036c08\u003c/code\u003e\u003c/a\u003e Bump com.github.ben-manes.versions from 0.57.0 to 0.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/24a9d9e10d4bb5ba5c5678d36810ef2397470163\"\u003e\u003ccode\u003e24a9d9e\u003c/code\u003e\u003c/a\u003e Bump actions/setup-java from 5.6.0 to 5.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/9944244c116f2724ac5bc1d02c73ca10af1c92e4\"\u003e\u003ccode\u003e9944244\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/51fd6c9e90c681a3d644f8a1e86a428f64fe3418\"\u003e\u003ccode\u003e51fd6c9\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/65f4cd3a60c48b0654daa4662b563e6b8545e221\"\u003e\u003ccode\u003e65f4cd3\u003c/code\u003e\u003c/a\u003e add support for dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TNG/ArchUnit/compare/v1.3.0...v1.5.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.5.1 to 9.7.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.7.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.7.1.\u003c/p\u003e\n\u003cp\u003eThis is a patch release for 9.7.0. We recommend using 9.7.1 instead of 9.7.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of 9.7.0 release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIsolated Projects graduates to incubating\u003c/li\u003e\n\u003cli\u003eBroader Configuration Cache compatibility\u003c/li\u003e\n\u003cli\u003eResilient Sync helps you fix broken builds\u003c/li\u003e\n\u003cli\u003eMore source locations in problem reports\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.7.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/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/Gautam-aman\"\u003eAman Gautam\u003c/a\u003e,\n\u003ca href=\"https://github.com/YukiCodepth\"\u003eAman Kumar\u003c/a\u003e,\n\u003ca href=\"https://github.com/adubrouski\"\u003eAnton Dubrouski\u003c/a\u003e,\n\u003ca href=\"https://github.com/liutikas\"\u003eAurimas\u003c/a\u003e,\n\u003ca href=\"https://github.com/gbhavya07\"\u003egbhavya07\u003c/a\u003e,\n\u003ca href=\"https://github.com/joshfriend\"\u003eJosh Friend\u003c/a\u003e,\n\u003ca href=\"https://github.com/nicklauslittle-gov\"\u003enicklauslittle-gov\u003c/a\u003e,\n\u003ca href=\"https://github.com/psoni674\"\u003ePragati\u003c/a\u003e,\n\u003ca href=\"https://github.com/Project516\"\u003eproject516\u003c/a\u003e,\n\u003ca href=\"https://github.com/Uomocapra\"\u003eQin Mi\u003c/a\u003e,\n\u003ca href=\"https://github.com/rkdfx\"\u003eRavi\u003c/a\u003e,\n\u003ca href=\"https://github.com/sk-reddy17\"\u003esk-reddy17\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/ShreckYe\"\u003eYongshun Ye\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.7.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew :wrapper --gradle-version=9.7.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.7.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.7.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.7.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.7.0.\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/gradle/gradle/commit/92f0512e7f06d84621afba191f75e265363890cf\"\u003e\u003ccode\u003e92f0512\u003c/code\u003e\u003c/a\u003e update fixed issues for 9.7.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38892\"\u003e#38892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/820ee75a99a179bbffa41bcedc6477b685fabb9f\"\u003e\u003ccode\u003e820ee75\u003c/code\u003e\u003c/a\u003e update fixed issues for 9.7.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/82c23f9bd2a89b4cc644e1f90a28a8668feb3dee\"\u003e\u003ccode\u003e82c23f9\u003c/code\u003e\u003c/a\u003e Fix annotation parameter ordering problem in KTS (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38878\"\u003e#38878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ef11a7268fe8cc8d6ab849ec911aa11220180553\"\u003e\u003ccode\u003eef11a72\u003c/code\u003e\u003c/a\u003e Fix annotation parameter ordering issue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/bb0d8a974a71b1003efea41e4046e98855cd5ff8\"\u003e\u003ccode\u003ebb0d8a9\u003c/code\u003e\u003c/a\u003e Make relevant tests polyglot (run for multiple DSLs)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/336e129d7f95c03486acafc97abf59734acfed48\"\u003e\u003ccode\u003e336e129\u003c/code\u003e\u003c/a\u003e Update signing configuration (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38874\"\u003e#38874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4bdf0da2dad9884d089a6062a45ea7183e7d735d\"\u003e\u003ccode\u003e4bdf0da\u003c/code\u003e\u003c/a\u003e Update signing configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/cd9b92c1b82856248cf1dc58b50378238bec7b52\"\u003e\u003ccode\u003ecd9b92c\u003c/code\u003e\u003c/a\u003e List issues resolved in 9.7.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38839\"\u003e#38839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/5f4e381964897ad8d6b99e5a7c77f26dba3259fb\"\u003e\u003ccode\u003e5f4e381\u003c/code\u003e\u003c/a\u003e List issues resolved in 9.7.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/1e08ab551367aeb5fb48b26e72807e1d2b27c939\"\u003e\u003ccode\u003e1e08ab5\u003c/code\u003e\u003c/a\u003e Keep type-use annotations in extracted ABI classes (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38810\"\u003e#38810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.5.1...v9.7.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/MarceloGiazzon/NPDevGeneral/pull/156","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarceloGiazzon%2FNPDevGeneral/issues/156","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/156/packages"}},{"old_version":"1.4.2","new_version":"1.5.0","update_type":"minor","path":null,"pr_created_at":"2026-08-31T02:10:56.000Z","version_change":"1.4.2 → 1.5.0","issue":{"uuid":"5295693985","node_id":"PR_kwDOST0KW88AAAABBi1Zyg","number":2680,"state":"closed","title":"chore(deps): bump the backend-minor-and-patch group across 1 directory with 21 updates","user":"dependabot[bot]","labels":["dependencies","area:backend"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-09-07T02:10:27.000Z","author_association":null,"state_reason":null,"created_at":"2026-08-31T02:10:56.000Z","updated_at":"2026-09-07T02:10:31.000Z","time_to_close":604771,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"backend-minor-and-patch","update_count":21,"packages":[{"name":"io.quarkus.platform:quarkus-bom","old_version":"3.37.2","new_version":"3.39.1","repository_url":"https://github.com/quarkusio/quarkus-platform"},{"name":"io.quarkus.platform:quarkus-maven-plugin","old_version":"3.37.2","new_version":"3.39.1","repository_url":"https://github.com/quarkusio/quarkus-platform"},{"name":"org.hibernate.orm:hibernate-spatial","old_version":"7.4.5.Final","new_version":"7.4.6.Final","repository_url":"https://github.com/hibernate/hibernate-orm"},{"name":"org.junit.jupiter:junit-jupiter","old_version":"6.1.2","new_version":"6.1.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.jupiter:junit-jupiter-params","old_version":"6.1.2","new_version":"6.1.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"nl.jqno.equalsverifier:equalsverifier","old_version":"4.5","new_version":"4.5.2","repository_url":"https://github.com/jqno/equalsverifier"},{"name":"org.neo4j:neo4j-ogm-core","old_version":"5.0.7","new_version":"5.0.8","repository_url":"https://github.com/neo4j/neo4j-ogm"},{"name":"org.neo4j:neo4j-ogm-bolt-driver","old_version":"5.0.7","new_version":"5.0.8","repository_url":"https://github.com/neo4j/neo4j-ogm"},{"name":"org.neo4j:neo4j-cypher-dsl","old_version":"2025.3.0","new_version":"2025.3.1","repository_url":"https://github.com/neo4j/cypher-dsl"},{"name":"eu.michael-simons.neo4j:neo4j-migrations","old_version":"4.1.2","new_version":"4.1.3","repository_url":"https://github.com/michael-simons/neo4j-migrations"},{"name":"edu.kit.datamanager:ro-crate-java","old_version":"2.1.1","new_version":"2.1.2","repository_url":"https://github.com/kit-data-manager/ro-crate-java"},{"name":"io.quarkiverse.wiremock:quarkus-wiremock-test","old_version":"1.6.3","new_version":"1.7.0","repository_url":"https://github.com/quarkiverse/quarkus-wiremock"},{"name":"org.jsoup:jsoup","old_version":"1.22.2","new_version":"1.23.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.4.2","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"org.commonmark:commonmark","old_version":"0.29.0","new_version":"0.30.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"org.commonmark:commonmark-ext-gfm-tables","old_version":"0.29.0","new_version":"0.30.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"org.commonmark:commonmark-ext-gfm-strikethrough","old_version":"0.29.0","new_version":"0.30.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"org.commonmark:commonmark-ext-task-list-items","old_version":"0.29.0","new_version":"0.30.0","repository_url":"https://github.com/commonmark/commonmark-java"},{"name":"com.twelvemonkeys.imageio:imageio-tiff","old_version":"3.13.1","new_version":"3.14.0"},{"name":"com.github.spotbugs:spotbugs-maven-plugin","old_version":"4.10.3.0","new_version":"4.10.4.0","repository_url":"https://github.com/spotbugs/spotbugs-maven-plugin"},{"name":"org.apache.maven.plugins:maven-jar-plugin","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/apache/maven-jar-plugin"}],"path":null,"ecosystem":"maven"},"body":"Bumps the backend-minor-and-patch group with 21 updates in the /backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [io.quarkus.platform:quarkus-bom](https://github.com/quarkusio/quarkus-platform) | `3.37.2` | `3.39.1` |\n| [io.quarkus.platform:quarkus-maven-plugin](https://github.com/quarkusio/quarkus-platform) | `3.37.2` | `3.39.1` |\n| [org.hibernate.orm:hibernate-spatial](https://github.com/hibernate/hibernate-orm) | `7.4.5.Final` | `7.4.6.Final` |\n| [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) | `6.1.2` | `6.1.3` |\n| [org.junit.jupiter:junit-jupiter-params](https://github.com/junit-team/junit-framework) | `6.1.2` | `6.1.3` |\n| [nl.jqno.equalsverifier:equalsverifier](https://github.com/jqno/equalsverifier) | `4.5` | `4.5.2` |\n| [org.neo4j:neo4j-ogm-core](https://github.com/neo4j/neo4j-ogm) | `5.0.7` | `5.0.8` |\n| [org.neo4j:neo4j-ogm-bolt-driver](https://github.com/neo4j/neo4j-ogm) | `5.0.7` | `5.0.8` |\n| [org.neo4j:neo4j-cypher-dsl](https://github.com/neo4j/cypher-dsl) | `2025.3.0` | `2025.3.1` |\n| [eu.michael-simons.neo4j:neo4j-migrations](https://github.com/michael-simons/neo4j-migrations) | `4.1.2` | `4.1.3` |\n| [edu.kit.datamanager:ro-crate-java](https://github.com/kit-data-manager/ro-crate-java) | `2.1.1` | `2.1.2` |\n| [io.quarkiverse.wiremock:quarkus-wiremock-test](https://github.com/quarkiverse/quarkus-wiremock) | `1.6.3` | `1.7.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.2` | `1.23.2` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.4.2` | `1.5.0` |\n| [org.commonmark:commonmark](https://github.com/commonmark/commonmark-java) | `0.29.0` | `0.30.0` |\n| [org.commonmark:commonmark-ext-gfm-tables](https://github.com/commonmark/commonmark-java) | `0.29.0` | `0.30.0` |\n| [org.commonmark:commonmark-ext-gfm-strikethrough](https://github.com/commonmark/commonmark-java) | `0.29.0` | `0.30.0` |\n| [org.commonmark:commonmark-ext-task-list-items](https://github.com/commonmark/commonmark-java) | `0.29.0` | `0.30.0` |\n| com.twelvemonkeys.imageio:imageio-tiff | `3.13.1` | `3.14.0` |\n| [com.github.spotbugs:spotbugs-maven-plugin](https://github.com/spotbugs/spotbugs-maven-plugin) | `4.10.3.0` | `4.10.4.0` |\n| [org.apache.maven.plugins:maven-jar-plugin](https://github.com/apache/maven-jar-plugin) | `3.5.0` | `3.5.1` |\n\n\nUpdates `io.quarkus.platform:quarkus-bom` from 3.37.2 to 3.39.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/77e4498fe1311354ceaffc0fa45a4972b784b47c\"\u003e\u003ccode\u003e77e4498\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release 3.39.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/225cd01857a210fd8e57d6442abadef528644f77\"\u003e\u003ccode\u003e225cd01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2150\"\u003e#2150\u003c/a\u003e from quarkusio/quarkus-3.39.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/2a77d8faa996d4446dc5f7afa71d299f4238c270\"\u003e\u003ccode\u003e2a77d8f\u003c/code\u003e\u003c/a\u003e Upgrade to Quarkus 3.39.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/2a6e81ac404f5a46e1240fe708f6a42cddd2375c\"\u003e\u003ccode\u003e2a6e81a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2145\"\u003e#2145\u003c/a\u003e from JiriOndrusek/cq3.39.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/e831a8b58bd0dacea326506e0cdbd332c86d57dd\"\u003e\u003ccode\u003ee831a8b\u003c/code\u003e\u003c/a\u003e Upgrade to Camel Quarkus 3.39.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/64ef3545d25bc932825ab3decc6202f900eafecd\"\u003e\u003ccode\u003e64ef354\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2143\"\u003e#2143\u003c/a\u003e from quarkusio/update-automation/main-cxf-3.39.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/89c68967aa58e2212cba1463e1f73c3f6029896c\"\u003e\u003ccode\u003e89c6896\u003c/code\u003e\u003c/a\u003e Update CXF to 3.39.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/6088b7ca2d9fb0a76bea1b23c6b9ace4386138eb\"\u003e\u003ccode\u003e6088b7c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2142\"\u003e#2142\u003c/a\u003e from gsmet/notify-qpid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/36a282a379b1e495e27ee2894717da085137ce86\"\u003e\u003ccode\u003e36a282a\u003c/code\u003e\u003c/a\u003e Notify Robbie for QPid JMS pull requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/5760da1af94b2f10ac32f5cc1a4b45be56f5f16b\"\u003e\u003ccode\u003e5760da1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2136\"\u003e#2136\u003c/a\u003e from gemmellr/update-quarkus-qpid-jms-2.13.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/quarkusio/quarkus-platform/compare/3.37.2...3.39.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.quarkus.platform:quarkus-maven-plugin` from 3.37.2 to 3.39.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/77e4498fe1311354ceaffc0fa45a4972b784b47c\"\u003e\u003ccode\u003e77e4498\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release 3.39.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/225cd01857a210fd8e57d6442abadef528644f77\"\u003e\u003ccode\u003e225cd01\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2150\"\u003e#2150\u003c/a\u003e from quarkusio/quarkus-3.39.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/2a77d8faa996d4446dc5f7afa71d299f4238c270\"\u003e\u003ccode\u003e2a77d8f\u003c/code\u003e\u003c/a\u003e Upgrade to Quarkus 3.39.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/2a6e81ac404f5a46e1240fe708f6a42cddd2375c\"\u003e\u003ccode\u003e2a6e81a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2145\"\u003e#2145\u003c/a\u003e from JiriOndrusek/cq3.39.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/e831a8b58bd0dacea326506e0cdbd332c86d57dd\"\u003e\u003ccode\u003ee831a8b\u003c/code\u003e\u003c/a\u003e Upgrade to Camel Quarkus 3.39.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/64ef3545d25bc932825ab3decc6202f900eafecd\"\u003e\u003ccode\u003e64ef354\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2143\"\u003e#2143\u003c/a\u003e from quarkusio/update-automation/main-cxf-3.39.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/89c68967aa58e2212cba1463e1f73c3f6029896c\"\u003e\u003ccode\u003e89c6896\u003c/code\u003e\u003c/a\u003e Update CXF to 3.39.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/6088b7ca2d9fb0a76bea1b23c6b9ace4386138eb\"\u003e\u003ccode\u003e6088b7c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2142\"\u003e#2142\u003c/a\u003e from gsmet/notify-qpid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/36a282a379b1e495e27ee2894717da085137ce86\"\u003e\u003ccode\u003e36a282a\u003c/code\u003e\u003c/a\u003e Notify Robbie for QPid JMS pull requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/quarkusio/quarkus-platform/commit/5760da1af94b2f10ac32f5cc1a4b45be56f5f16b\"\u003e\u003ccode\u003e5760da1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/quarkusio/quarkus-platform/issues/2136\"\u003e#2136\u003c/a\u003e from gemmellr/update-quarkus-qpid-jms-2.13.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/quarkusio/quarkus-platform/compare/3.37.2...3.39.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.hibernate.orm:hibernate-spatial` from 7.4.5.Final to 7.4.6.Final\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hibernate/hibernate-orm/releases\"\u003eorg.hibernate.orm:hibernate-spatial's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 7.4.6\u003c/h2\u003e\n\u003ch1\u003eHibernate ORM 7.4.6.Final released\u003c/h1\u003e\n\u003cp\u003eToday, we published a new release of Hibernate ORM 7.4: 7.4.6.Final.\u003c/p\u003e\n\u003cp\u003eYou can find the full list of 7.4.6.Final changes \u003ca href=\"https://hibernate.atlassian.net/issues/?jql=project%20%3D%20HHH%20AND%20fixVersion%20%3D%207.4.6\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's new\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSee the \u003ca href=\"https://hibernate.org/orm/releases/7.4\"\u003ewebsite\u003c/a\u003e for requirements and compatibilities.\u003c/li\u003e\n\u003cli\u003eSee the \u003ca href=\"https://docs.hibernate.org/orm/7.4/whats-new/whats-new.html\"\u003eWhat's New\u003c/a\u003e guide for details about new features and capabilities.\u003c/li\u003e\n\u003cli\u003eSee the \u003ca href=\"https://docs.hibernate.org/orm/7.4/migration-guide/\"\u003eMigration Guide\u003c/a\u003e for details about migration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eConclusion\u003c/h2\u003e\n\u003cp\u003eFor additional details, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ethe \u003ca href=\"https://hibernate.org/orm/releases/7.4/\"\u003erelease page\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ethe \u003ca href=\"https://docs.hibernate.org/orm/7.4/migration-guide/\"\u003eMigration Guide\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ethe \u003ca href=\"https://docs.hibernate.org/orm/7.4/introduction/html_single/\"\u003eIntroduction Guide\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ethe \u003ca href=\"https://docs.hibernate.org/orm/7.4/userguide/html_single/\"\u003eUser Guide\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ethe \u003ca href=\"https://docs.hibernate.org/orm/7.4/javadocs\"\u003eAPI docs\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee also the following resources related to supported APIs:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ethe \u003ca href=\"https://hibernate.org/community/compatibility-policy/\"\u003ecompatibility policy\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ethe \u003ca href=\"https://docs.hibernate.org/orm/7.4/incubating/incubating.txt\"\u003eincubating API report\u003c/a\u003e (\u003ccode\u003e@Incubating\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ethe \u003ca href=\"https://docs.hibernate.org/orm/7.4/deprecated/deprecated.txt\"\u003edeprecated API report\u003c/a\u003e (\u003ccode\u003e@Deprecated\u003c/code\u003e + \u003ccode\u003e@Remove\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ethe \u003ca href=\"https://docs.hibernate.org/orm/7.4/internals/internal.txt\"\u003einternal API report\u003c/a\u003e (internal packages, \u003ccode\u003e@Internal\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eVisit the \u003ca href=\"https://hibernate.org/community/\"\u003ewebsite\u003c/a\u003e for details on getting in touch with us.\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/hibernate/hibernate-orm/blob/7.4.6/changelog.txt\"\u003eorg.hibernate.orm:hibernate-spatial's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eChanges in 7.4.6.Final (August 23, 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://hibernate.atlassian.net/projects/HHH/versions/40133\"\u003ehttps://hibernate.atlassian.net/projects/HHH/versions/40133\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e** Bug\n* HHH-20788 [Quarkus 3.20.5 / Hibernate ORM 6.6.40.Final] quarkus.otel.logs.enabled=true fails SessionFactory build for TABLE_PER_CLASS collections\n* HHH-20783 hibernate.transactions{result=\u0026quot;failure\u0026quot;} metric can transiently go negative due to non-atomic counter reads, breaking the whole Prometheus scrape on Micrometer 1.14+\n* HHH-20779 Envers: unwrap proxies in collection-change audit work units\n* HHH-20776 CriteriaBuilder.literal() mistypes an enum constant declared with a class body\n* HHH-20772 ARRAY_AGG column in Jakarta Data query method cannot be mapped to result type property\n* HHH-20743 \u003ccode\u003ehibernate-maven-plugin\u003c/code\u003e \u003ccode\u003eenhance\u003c/code\u003e goal computes wrong class names when \u003ccode\u003efileSets\u003c/code\u003e directory differs from \u003ccode\u003eclassesDirectory\u003c/code\u003e\n* HHH-20707 Missing import for inner interface type in CDI accessor metamodel methods\n* HHH-20696 Implicit name of list index columns not applied by MetadataBuilder\n* HHH-20661 HQL UNION fails when unioning java.util.Date from different attribute paths\n* HHH-20624 StackOverflowError when creating entity manager with attribute converter hierarchy with generic parameter\n* HHH-20515 Adjust default for SessionCheckMode on Session.findMultiple()\n* HHH-20472 Generated metamodel class missing \u003ccode\u003eList\u003c/code\u003e import\n* HHH-20452 \u003ca href=\"https://github.com/OneToMany\"\u003e\u003ccode\u003e@​OneToMany\u003c/code\u003e\u003c/a\u003e mapping silently dropped when orm.xml contributes a partial overlay (entity-listeners only) to an entity whose \u003ca href=\"https://github.com/Id\"\u003e\u003ccode\u003e@​Id\u003c/code\u003e\u003c/a\u003e is inherited from a \u003ca href=\"https://github.com/MappedSuperclass\"\u003e\u003ccode\u003e@​MappedSuperclass\u003c/code\u003e\u003c/a\u003e\n* HHH-20438 Basic-array body predicates fail with AssertionError from SqmMappingModelHelper.resolveSqmPath\n* HHH-20348 \u003ccode\u003eDataException\u003c/code\u003e / \u003ccode\u003eClassCastException\u003c/code\u003e when aggregating primitive\u003c/p\u003e\n\u003cp\u003e** Task\n* HHH-20736 Tune the content of javadocs to reduce the size of files published to Maven Central\n* HHH-20710 Update to hibernate-models 1.1.2\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/hibernate/hibernate-orm/commit/43e2e9a1a537bfa1862e98981fc0c9a37f20ced8\"\u003e\u003ccode\u003e43e2e9a\u003c/code\u003e\u003c/a\u003e [Jenkins release job] Preparing release 7.4.6.Final\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/cd34e60c213b92bf172bfcbaa41ee5e21b5d67fd\"\u003e\u003ccode\u003ecd34e60\u003c/code\u003e\u003c/a\u003e [Jenkins release job] changelog.txt updated by release build 7.4.6.Final\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/229571c602c981958dd4374bc49fdfd8cc9eb8c5\"\u003e\u003ccode\u003e229571c\u003c/code\u003e\u003c/a\u003e HHH-20710 Add test for generic Map subtype resolution with JSON mapping\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/de419cead5e32adefb8c66d903e7b46af613e8a2\"\u003e\u003ccode\u003ede419ce\u003c/code\u003e\u003c/a\u003e HHH-20710 Update to hibernate-models 1.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/284a4be3f68550e61b2763f1b51d9b3590ea9b03\"\u003e\u003ccode\u003e284a4be\u003c/code\u003e\u003c/a\u003e HHH-20788 Return null for TablePerSubclass and clarify informational nature o...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/f74ba5851f93095535ee1ab04928cb20b45acf07\"\u003e\u003ccode\u003ef74ba58\u003c/code\u003e\u003c/a\u003e Make testsuite fit for JDK 28 Valhalla preview\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/33465feb156678d81378ddb0361015cf81d07eff\"\u003e\u003ccode\u003e33465fe\u003c/code\u003e\u003c/a\u003e Add JDK 28 to the testing JDK list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/5e398fd1d50d08a1335c71e3f80a835ee8511aa1\"\u003e\u003ccode\u003e5e398fd\u003c/code\u003e\u003c/a\u003e Skip some tests causing nightly failures on MySQL due to a bug\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/cf53ffa00f0fe3f3de31ce04913c6fb21441712c\"\u003e\u003ccode\u003ecf53ffa\u003c/code\u003e\u003c/a\u003e HHH-20783 Add a dedicated failed-transactions counter to Statistics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hibernate/hibernate-orm/commit/f4e0be32785efaa123d61739dbb6e095ff7e0e0d\"\u003e\u003ccode\u003ef4e0be3\u003c/code\u003e\u003c/a\u003e HHH-20772 add \u003ca href=\"https://github.com/Incubating\"\u003e\u003ccode\u003e@​Incubating\u003c/code\u003e\u003c/a\u003e to new Processor options\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hibernate/hibernate-orm/compare/7.4.5...7.4.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.jupiter:junit-jupiter` from 6.1.2 to 6.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.jupiter:junit-jupiter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.3 = Platform 6.1.3 + Jupiter 6.1.3 + Vintage 6.1.3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.3/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\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/junit-team/junit-framework/commit/f59f60d2cebdf2224235d81f781b1f310cbc8138\"\u003e\u003ccode\u003ef59f60d\u003c/code\u003e\u003c/a\u003e Release 6.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/cd8ec9202ce8260a434edb38a8565e36f620e8d6\"\u003e\u003ccode\u003ecd8ec92\u003c/code\u003e\u003c/a\u003e Finalize 6.1.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/c8729f26aacd8e2dd6fa564b929fe047faaa7dc9\"\u003e\u003ccode\u003ec8729f2\u003c/code\u003e\u003c/a\u003e Restore compatibility with GraalVM 25 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5901\"\u003e#5901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/ddc9e74e5d21c2dd18bc0cfe4681d5ff50ac379c\"\u003e\u003ccode\u003eddc9e74\u003c/code\u003e\u003c/a\u003e Update graalvm/setup-graalvm action to v1.6.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5959\"\u003e#5959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/fe2c52a780fcbda6c7ccf5d6576beb7ad2d80bf8\"\u003e\u003ccode\u003efe2c52a\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.7 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5923\"\u003e#5923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/62afc02b541ee9dfa16b121705f79b7d44f4dae0\"\u003e\u003ccode\u003e62afc02\u003c/code\u003e\u003c/a\u003e Delay GraalVM plugin updates for 3 days\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0cc29022801365a409c1213a811a8877cb88cce3\"\u003e\u003ccode\u003e0cc2902\u003c/code\u003e\u003c/a\u003e Skip \u003ccode\u003egraalVmTest\u003c/code\u003e task if GraalVM env vars are not set\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f6bbfc53e7e00b1b25e7d3b0bc09eef05cc4b721\"\u003e\u003ccode\u003ef6bbfc5\u003c/code\u003e\u003c/a\u003e Move GraalVM tests to separate test task (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/e87e0521d4fbd75116a5fda42566fcb7a56eb340\"\u003e\u003ccode\u003ee87e052\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5899\"\u003e#5899\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1cd56df89754fb8523ac9fbbf888e9a552e33ee8\"\u003e\u003ccode\u003e1cd56df\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5880\"\u003e#5880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.jupiter:junit-jupiter-params` from 6.1.2 to 6.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.jupiter:junit-jupiter-params's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.3 = Platform 6.1.3 + Jupiter 6.1.3 + Vintage 6.1.3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.3/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\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/junit-team/junit-framework/commit/f59f60d2cebdf2224235d81f781b1f310cbc8138\"\u003e\u003ccode\u003ef59f60d\u003c/code\u003e\u003c/a\u003e Release 6.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/cd8ec9202ce8260a434edb38a8565e36f620e8d6\"\u003e\u003ccode\u003ecd8ec92\u003c/code\u003e\u003c/a\u003e Finalize 6.1.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/c8729f26aacd8e2dd6fa564b929fe047faaa7dc9\"\u003e\u003ccode\u003ec8729f2\u003c/code\u003e\u003c/a\u003e Restore compatibility with GraalVM 25 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5901\"\u003e#5901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/ddc9e74e5d21c2dd18bc0cfe4681d5ff50ac379c\"\u003e\u003ccode\u003eddc9e74\u003c/code\u003e\u003c/a\u003e Update graalvm/setup-graalvm action to v1.6.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5959\"\u003e#5959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/fe2c52a780fcbda6c7ccf5d6576beb7ad2d80bf8\"\u003e\u003ccode\u003efe2c52a\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.7 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5923\"\u003e#5923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/62afc02b541ee9dfa16b121705f79b7d44f4dae0\"\u003e\u003ccode\u003e62afc02\u003c/code\u003e\u003c/a\u003e Delay GraalVM plugin updates for 3 days\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0cc29022801365a409c1213a811a8877cb88cce3\"\u003e\u003ccode\u003e0cc2902\u003c/code\u003e\u003c/a\u003e Skip \u003ccode\u003egraalVmTest\u003c/code\u003e task if GraalVM env vars are not set\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f6bbfc53e7e00b1b25e7d3b0bc09eef05cc4b721\"\u003e\u003ccode\u003ef6bbfc5\u003c/code\u003e\u003c/a\u003e Move GraalVM tests to separate test task (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/e87e0521d4fbd75116a5fda42566fcb7a56eb340\"\u003e\u003ccode\u003ee87e052\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5899\"\u003e#5899\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1cd56df89754fb8523ac9fbbf888e9a552e33ee8\"\u003e\u003ccode\u003e1cd56df\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5880\"\u003e#5880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.jupiter:junit-jupiter-params` from 6.1.2 to 6.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.jupiter:junit-jupiter-params's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.3 = Platform 6.1.3 + Jupiter 6.1.3 + Vintage 6.1.3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.3/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\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/junit-team/junit-framework/commit/f59f60d2cebdf2224235d81f781b1f310cbc8138\"\u003e\u003ccode\u003ef59f60d\u003c/code\u003e\u003c/a\u003e Release 6.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/cd8ec9202ce8260a434edb38a8565e36f620e8d6\"\u003e\u003ccode\u003ecd8ec92\u003c/code\u003e\u003c/a\u003e Finalize 6.1.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/c8729f26aacd8e2dd6fa564b929fe047faaa7dc9\"\u003e\u003ccode\u003ec8729f2\u003c/code\u003e\u003c/a\u003e Restore compatibility with GraalVM 25 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5901\"\u003e#5901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/ddc9e74e5d21c2dd18bc0cfe4681d5ff50ac379c\"\u003e\u003ccode\u003eddc9e74\u003c/code\u003e\u003c/a\u003e Update graalvm/setup-graalvm action to v1.6.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5959\"\u003e#5959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/fe2c52a780fcbda6c7ccf5d6576beb7ad2d80bf8\"\u003e\u003ccode\u003efe2c52a\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.7 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5923\"\u003e#5923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/62afc02b541ee9dfa16b121705f79b7d44f4dae0\"\u003e\u003ccode\u003e62afc02\u003c/code\u003e\u003c/a\u003e Delay GraalVM plugin updates for 3 days\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0cc29022801365a409c1213a811a8877cb88cce3\"\u003e\u003ccode\u003e0cc2902\u003c/code\u003e\u003c/a\u003e Skip \u003ccode\u003egraalVmTest\u003c/code\u003e task if GraalVM env vars are not set\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f6bbfc53e7e00b1b25e7d3b0bc09eef05cc4b721\"\u003e\u003ccode\u003ef6bbfc5\u003c/code\u003e\u003c/a\u003e Move GraalVM tests to separate test task (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/e87e0521d4fbd75116a5fda42566fcb7a56eb340\"\u003e\u003ccode\u003ee87e052\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5899\"\u003e#5899\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1cd56df89754fb8523ac9fbbf888e9a552e33ee8\"\u003e\u003ccode\u003e1cd56df\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5880\"\u003e#5880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nl.jqno.equalsverifier:equalsverifier` from 4.5 to 4.5.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jqno/equalsverifier/releases\"\u003enl.jqno.equalsverifier:equalsverifier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease equalsverifier-4.5.2\u003c/h2\u003e\n\u003cp\u003eFor a list of changes in this version, see \u003ca href=\"https://github.com/jqno/equalsverifier/blob/main/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eRelease equalsverifier-4.5.1\u003c/h2\u003e\n\u003cp\u003eFor a list of changes in this version, see \u003ca href=\"https://github.com/jqno/equalsverifier/blob/main/CHANGELOG.md\"\u003eCHANGELOG.md\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/jqno/equalsverifier/blob/main/CHANGELOG.md\"\u003enl.jqno.equalsverifier:equalsverifier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.5.2] - 2026-08-27\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSignificant fields error when first implementation of a sealed interface is a single-value enum. (\u003ca href=\"https://redirect.github.com/jqno/equalsverifier/issues/1236\"\u003eIssue 1236\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.5.1] - 2026-08-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdds prefab values for \u003ccode\u003ejava.util.LinkedHashSet\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/jqno/equalsverifier/issues/1231\"\u003eIssue 1231\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jqno/equalsverifier/issues/1232\"\u003eIssue 1232\u003c/a\u003e; thanks kalayciburak!)\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/jqno/equalsverifier/commit/2e0dae067cbc2119a987c400a5b351a7f279de8d\"\u003e\u003ccode\u003e2e0dae0\u003c/code\u003e\u003c/a\u003e Bumps version to 4.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/8818df1f3395f5885735788dfad57ecf7b3f5a57\"\u003e\u003ccode\u003e8818df1\u003c/code\u003e\u003c/a\u003e Updates CHANGELOG for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/ff374a30ae538cf9de18e869a8e9b0c416d3f30c\"\u003e\u003ccode\u003eff374a3\u003c/code\u003e\u003c/a\u003e Adds PR number to changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/f051bc7fc1fc25de92a1473aca37ab7807f2fc42\"\u003e\u003ccode\u003ef051bc7\u003c/code\u003e\u003c/a\u003e Fixes singificant fields error when first sealed interface implementation is ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/2669ffa162a63c754b0ffe6cfd4800d86ae599e3\"\u003e\u003ccode\u003e2669ffa\u003c/code\u003e\u003c/a\u003e Prepares for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/d89077132eef0b285415b6d1e88b7f93538e2aa4\"\u003e\u003ccode\u003ed890771\u003c/code\u003e\u003c/a\u003e Bumps version to 4.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/cec51b862a432ff3f2d606cd8bf0cc34d3445516\"\u003e\u003ccode\u003ecec51b8\u003c/code\u003e\u003c/a\u003e Updates CHANGELOG for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/1e5a37ab83e3c1495505bc68171e0f1c4a8da326\"\u003e\u003ccode\u003e1e5a37a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jqno/equalsverifier/issues/1235\"\u003e#1235\u003c/a\u003e from jqno/dependabot/maven/dependencies-1b33e0e210\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/7b46e333d8f9b14f00dfd2fdd2cbc40965f69fcc\"\u003e\u003ccode\u003e7b46e33\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jqno/equalsverifier/issues/1234\"\u003e#1234\u003c/a\u003e from jqno/dependabot/github_actions/dependencies-9c0...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqno/equalsverifier/commit/5706e86be30806f4958ee6a9ac62fc1a7ed60b49\"\u003e\u003ccode\u003e5706e86\u003c/code\u003e\u003c/a\u003e Bump the dependencies group with 2 updates\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jqno/equalsverifier/compare/equalsverifier-4.5...equalsverifier-4.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.neo4j:neo4j-ogm-core` from 5.0.7 to 5.0.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/neo4j/neo4j-ogm/releases\"\u003eorg.neo4j:neo4j-ogm-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.0.8\u003c/h2\u003e\n\u003cp\u003eThis is a recommended update for all users. It includes several important security fixes and has no breaking changes or other side effects.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[fix] Group entities also by removed / updated properties before multi-statement updates. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1473\"\u003e#1473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Replace variable placeholder \u003ccode\u003e$\u003c/code\u003e in favor of passing the variable down the call stack. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1472\"\u003e#1472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Use the full classname to lookup class info during query execution and deletion. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1471\"\u003e#1471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Use Cypher-DSL Schema Names support to uniformly escape names. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1470\"\u003e#1470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.2 to 6.1.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1465\"\u003e#1465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j.driver:neo4j-java-driver from 6.2.0 to 6.2.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1466\"\u003e#1466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1467\"\u003e#1467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.1 to 1.6.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1468\"\u003e#1468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven:apache-maven from 3.9.11 to 3.9.16 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[chore] Minor remaining polishing of the \u003ccode\u003eConfiguration\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.jreleaser:jreleaser-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1448\"\u003e#1448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1452\"\u003e#1452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump kotlin.version from 2.4.0 to 2.4.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1453\"\u003e#1453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.mycila:license-maven-plugin from 5.0.0 to 5.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1454\"\u003e#1454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.10 to 1.18.11 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1447\"\u003e#1447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1449\"\u003e#1449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.1 to 6.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven.plugins:maven-jar-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1455\"\u003e#1455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump brace-expansion, \u003ccode\u003e@​antora/cli\u003c/code\u003e, \u003ccode\u003e@​antora/site-generator-default\u003c/code\u003e and nodemon (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1458\"\u003e#1458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.37 to 1.6.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1459\"\u003e#1459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1460\"\u003e#1460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Fully rebuild the URL without the \u003ccode\u003euserInfo\u003c/code\u003e part instead of search and replace. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1464\"\u003e#1464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Throw \u003ccode\u003eIllegalArgumentException\u003c/code\u003e when a non-supported \u003ccode\u003eencryptionLevel\u003c/code\u003e is used. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Handle colons in passwords proper. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Add page-tabs attributes (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1461\"\u003e#1461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.0 to 6.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1441\"\u003e#1441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1442\"\u003e#1442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump commons-logging:commons-logging from 1.3.6 to 1.4.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1443\"\u003e#1443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.8 to 1.18.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1444\"\u003e#1444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.34 to 1.5.37 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1445\"\u003e#1445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[build] Pin all actions (including officials) to their current sha. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1446\"\u003e#1446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Remove broken Stackoverflow badge.\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/neo4j/neo4j-ogm/blob/master/CHANGES.adoc\"\u003eorg.neo4j:neo4j-ogm-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 5.0.8\u003c/p\u003e\n\u003cp\u003eThis is a recommended update for all users. It includes several important security fixes and has no breaking changes or other side effects.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[fix] Group entities also by removed / updated properties before multi-statement updates. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1473\"\u003e#1473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Replace variable placeholder \u003ccode\u003e$\u003c/code\u003e in favor of passing the variable down the call stack. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1472\"\u003e#1472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Use the full classname to lookup class info during query execution and deletion. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1471\"\u003e#1471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Use Cypher-DSL Schema Names support to uniformly escape names. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1470\"\u003e#1470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.2 to 6.1.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1465\"\u003e#1465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j.driver:neo4j-java-driver from 6.2.0 to 6.2.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1466\"\u003e#1466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1467\"\u003e#1467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.1 to 1.6.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1468\"\u003e#1468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven:apache-maven from 3.9.11 to 3.9.16 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[chore] Minor remaining polishing of the \u003ccode\u003eConfiguration\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.jreleaser:jreleaser-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1448\"\u003e#1448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1452\"\u003e#1452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump kotlin.version from 2.4.0 to 2.4.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1453\"\u003e#1453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.mycila:license-maven-plugin from 5.0.0 to 5.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1454\"\u003e#1454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.10 to 1.18.11 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1447\"\u003e#1447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1449\"\u003e#1449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.1 to 6.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven.plugins:maven-jar-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1455\"\u003e#1455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump brace-expansion, \u003ccode\u003e@​antora/cli\u003c/code\u003e, \u003ccode\u003e@​antora/site-generator-default\u003c/code\u003e and nodemon (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1458\"\u003e#1458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.37 to 1.6.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1459\"\u003e#1459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1460\"\u003e#1460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Fully rebuild the URL without the \u003ccode\u003euserInfo\u003c/code\u003e part instead of search and replace. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1464\"\u003e#1464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Throw \u003ccode\u003eIllegalArgumentException\u003c/code\u003e when a non-supported \u003ccode\u003eencryptionLevel\u003c/code\u003e is used. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Handle colons in passwords proper. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Add page-tabs attributes (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1461\"\u003e#1461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.0 to 6.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1441\"\u003e#1441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1442\"\u003e#1442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump commons-logging:commons-logging from 1.3.6 to 1.4.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1443\"\u003e#1443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.8 to 1.18.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1444\"\u003e#1444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.34 to 1.5.37 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1445\"\u003e#1445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[build] Pin all actions (including officials) to their current sha. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1446\"\u003e#1446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Remove broken Stackoverflow badge.\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/neo4j/neo4j-ogm/commit/f2f0ce3820cd91ec7aff59c22aa4f3804b46e185\"\u003e\u003ccode\u003ef2f0ce3\u003c/code\u003e\u003c/a\u003e Release 5.0.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/218ecb72c235242b17987d69d55cd7c0b50075de\"\u003e\u003ccode\u003e218ecb7\u003c/code\u003e\u003c/a\u003e Fix: Group entities also by removed / updated properties before multi-stateme...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/450604b44511a967fd287e6dc440bafa4e203076\"\u003e\u003ccode\u003e450604b\u003c/code\u003e\u003c/a\u003e refactor: Replace variable placeholder \u003ccode\u003e$\u003c/code\u003e in favor of passing the variable d...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/dc20994e9489be30c660c08af7d833a8532d2aa0\"\u003e\u003ccode\u003edc20994\u003c/code\u003e\u003c/a\u003e fix: Use full classname to lookup class info during query execution and delet...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/b10d9fb6e123ddf433b2b778e420f71dece81ec3\"\u003e\u003ccode\u003eb10d9fb\u003c/code\u003e\u003c/a\u003e refactor: Use Cypher-DSL Schema Names support to uniformly escape names. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1470\"\u003e#1470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/6b2d23017d855fa4bda93e037505afac4d1f2f0e\"\u003e\u003ccode\u003e6b2d230\u003c/code\u003e\u003c/a\u003e build(deps): Bump org.junit:junit-bom from 6.1.2 to 6.1.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1465\"\u003e#1465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/4d7e9160a79e9309f8a589da101a63e97752f4b9\"\u003e\u003ccode\u003e4d7e916\u003c/code\u003e\u003c/a\u003e build(deps): Bump org.neo4j.driver:neo4j-java-driver from 6.2.0 to 6.2.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1466\"\u003e#1466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/5f0f1cb66233c6220fa08422a673355cacbb2c72\"\u003e\u003ccode\u003e5f0f1cb\u003c/code\u003e\u003c/a\u003e build(deps): Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1467\"\u003e#1467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/55283fd89af4f8f177a7f1d425a567da4561c97c\"\u003e\u003ccode\u003e55283fd\u003c/code\u003e\u003c/a\u003e build(deps): Bump ch.qos.logback:logback-classic from 1.6.1 to 1.6.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1468\"\u003e#1468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/585b761b2383247c272651f7c46752005dd06b4b\"\u003e\u003ccode\u003e585b761\u003c/code\u003e\u003c/a\u003e build(deps): Bump org.apache.maven:apache-maven from 3.9.11 to 3.9.16 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/neo4j/neo4j-ogm/compare/v5.0.7...v5.0.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.neo4j:neo4j-ogm-bolt-driver` from 5.0.7 to 5.0.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/neo4j/neo4j-ogm/releases\"\u003eorg.neo4j:neo4j-ogm-bolt-driver's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.0.8\u003c/h2\u003e\n\u003cp\u003eThis is a recommended update for all users. It includes several important security fixes and has no breaking changes or other side effects.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[fix] Group entities also by removed / updated properties before multi-statement updates. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1473\"\u003e#1473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Replace variable placeholder \u003ccode\u003e$\u003c/code\u003e in favor of passing the variable down the call stack. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1472\"\u003e#1472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Use the full classname to lookup class info during query execution and deletion. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1471\"\u003e#1471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Use Cypher-DSL Schema Names support to uniformly escape names. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1470\"\u003e#1470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.2 to 6.1.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1465\"\u003e#1465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j.driver:neo4j-java-driver from 6.2.0 to 6.2.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1466\"\u003e#1466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1467\"\u003e#1467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.1 to 1.6.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1468\"\u003e#1468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven:apache-maven from 3.9.11 to 3.9.16 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[chore] Minor remaining polishing of the \u003ccode\u003eConfiguration\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.jreleaser:jreleaser-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1448\"\u003e#1448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1452\"\u003e#1452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump kotlin.version from 2.4.0 to 2.4.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1453\"\u003e#1453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.mycila:license-maven-plugin from 5.0.0 to 5.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1454\"\u003e#1454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.10 to 1.18.11 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1447\"\u003e#1447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1449\"\u003e#1449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.1 to 6.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven.plugins:maven-jar-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1455\"\u003e#1455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump brace-expansion, \u003ccode\u003e@​antora/cli\u003c/code\u003e, \u003ccode\u003e@​antora/site-generator-default\u003c/code\u003e and nodemon (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1458\"\u003e#1458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.37 to 1.6.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1459\"\u003e#1459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1460\"\u003e#1460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Fully rebuild the URL without the \u003ccode\u003euserInfo\u003c/code\u003e part instead of search and replace. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1464\"\u003e#1464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Throw \u003ccode\u003eIllegalArgumentException\u003c/code\u003e when a non-supported \u003ccode\u003eencryptionLevel\u003c/code\u003e is used. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Handle colons in passwords proper. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Add page-tabs attributes (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1461\"\u003e#1461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.0 to 6.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1441\"\u003e#1441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1442\"\u003e#1442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump commons-logging:commons-logging from 1.3.6 to 1.4.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1443\"\u003e#1443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.8 to 1.18.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1444\"\u003e#1444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.34 to 1.5.37 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1445\"\u003e#1445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[build] Pin all actions (including officials) to their current sha. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1446\"\u003e#1446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Remove broken Stackoverflow badge.\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/neo4j/neo4j-ogm/blob/master/CHANGES.adoc\"\u003eorg.neo4j:neo4j-ogm-bolt-driver's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 5.0.8\u003c/p\u003e\n\u003cp\u003eThis is a recommended update for all users. It includes several important security fixes and has no breaking changes or other side effects.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[fix] Group entities also by removed / updated properties before multi-statement updates. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1473\"\u003e#1473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Replace variable placeholder \u003ccode\u003e$\u003c/code\u003e in favor of passing the variable down the call stack. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1472\"\u003e#1472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Use the full classname to lookup class info during query execution and deletion. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1471\"\u003e#1471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Use Cypher-DSL Schema Names support to uniformly escape names. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1470\"\u003e#1470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.2 to 6.1.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1465\"\u003e#1465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j.driver:neo4j-java-driver from 6.2.0 to 6.2.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1466\"\u003e#1466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1467\"\u003e#1467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.1 to 1.6.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1468\"\u003e#1468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven:apache-maven from 3.9.11 to 3.9.16 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[chore] Minor remaining polishing of the \u003ccode\u003eConfiguration\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.jreleaser:jreleaser-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1448\"\u003e#1448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1452\"\u003e#1452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump kotlin.version from 2.4.0 to 2.4.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1453\"\u003e#1453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.mycila:license-maven-plugin from 5.0.0 to 5.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1454\"\u003e#1454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.10 to 1.18.11 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1447\"\u003e#1447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1449\"\u003e#1449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.1 to 6.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven.plugins:maven-jar-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1455\"\u003e#1455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump brace-expansion, \u003ccode\u003e@​antora/cli\u003c/code\u003e, \u003ccode\u003e@​antora/site-generator-default\u003c/code\u003e and nodemon (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1458\"\u003e#1458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.37 to 1.6.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1459\"\u003e#1459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1460\"\u003e#1460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Fully rebuild the URL without the \u003ccode\u003euserInfo\u003c/code\u003e part instead of search and replace. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1464\"\u003e#1464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Throw \u003ccode\u003eIllegalArgumentException\u003c/code\u003e when a non-supported \u003ccode\u003eencryptionLevel\u003c/code\u003e is used. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Handle colons in passwords proper. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Add page-tabs attributes (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1461\"\u003e#1461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.0 to 6.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1441\"\u003e#1441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1442\"\u003e#1442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump commons-logging:commons-logging from 1.3.6 to 1.4.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1443\"\u003e#1443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.8 to 1.18.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1444\"\u003e#1444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.34 to 1.5.37 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1445\"\u003e#1445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[build] Pin all actions (including officials) to their current sha. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1446\"\u003e#1446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Remove broken Stackoverflow badge.\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/neo4j/neo4j-ogm/commit/f2f0ce3820cd91ec7aff59c22aa4f3804b46e185\"\u003e\u003ccode\u003ef2f0ce3\u003c/code\u003e\u003c/a\u003e Release 5.0.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/218ecb72c235242b17987d69d55cd7c0b50075de\"\u003e\u003ccode\u003e218ecb7\u003c/code\u003e\u003c/a\u003e Fix: Group entities also by removed / updated properties before multi-stateme...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/450604b44511a967fd287e6dc440bafa4e203076\"\u003e\u003ccode\u003e450604b\u003c/code\u003e\u003c/a\u003e refactor: Replace variable placeholder \u003ccode\u003e$\u003c/code\u003e in favor of passing the variable d...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/dc20994e9489be30c660c08af7d833a8532d2aa0\"\u003e\u003ccode\u003edc20994\u003c/code\u003e\u003c/a\u003e fix: Use full classname to lookup class info during query execution and delet...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/b10d9fb6e123ddf433b2b778e420f71dece81ec3\"\u003e\u003ccode\u003eb10d9fb\u003c/code\u003e\u003c/a\u003e refactor: Use Cypher-DSL Schema Names support to uniformly escape names. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1470\"\u003e#1470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/6b2d23017d855fa4bda93e037505afac4d1f2f0e\"\u003e\u003ccode\u003e6b2d230\u003c/code\u003e\u003c/a\u003e build(deps): Bump org.junit:junit-bom from 6.1.2 to 6.1.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1465\"\u003e#1465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/4d7e9160a79e9309f8a589da101a63e97752f4b9\"\u003e\u003ccode\u003e4d7e916\u003c/code\u003e\u003c/a\u003e build(deps): Bump org.neo4j.driver:neo4j-java-driver from 6.2.0 to 6.2.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1466\"\u003e#1466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/5f0f1cb66233c6220fa08422a673355cacbb2c72\"\u003e\u003ccode\u003e5f0f1cb\u003c/code\u003e\u003c/a\u003e build(deps): Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1467\"\u003e#1467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/55283fd89af4f8f177a7f1d425a567da4561c97c\"\u003e\u003ccode\u003e55283fd\u003c/code\u003e\u003c/a\u003e build(deps): Bump ch.qos.logback:logback-classic from 1.6.1 to 1.6.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1468\"\u003e#1468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/585b761b2383247c272651f7c46752005dd06b4b\"\u003e\u003ccode\u003e585b761\u003c/code\u003e\u003c/a\u003e build(deps): Bump org.apache.maven:apache-maven from 3.9.11 to 3.9.16 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/neo4j/neo4j-ogm/compare/v5.0.7...v5.0.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.neo4j:neo4j-ogm-bolt-driver` from 5.0.7 to 5.0.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/neo4j/neo4j-ogm/releases\"\u003eorg.neo4j:neo4j-ogm-bolt-driver's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.0.8\u003c/h2\u003e\n\u003cp\u003eThis is a recommended update for all users. It includes several important security fixes and has no breaking changes or other side effects.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[fix] Group entities also by removed / updated properties before multi-statement updates. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1473\"\u003e#1473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Replace variable placeholder \u003ccode\u003e$\u003c/code\u003e in favor of passing the variable down the call stack. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1472\"\u003e#1472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Use the full classname to lookup class info during query execution and deletion. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1471\"\u003e#1471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Use Cypher-DSL Schema Names support to uniformly escape names. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1470\"\u003e#1470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.2 to 6.1.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1465\"\u003e#1465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j.driver:neo4j-java-driver from 6.2.0 to 6.2.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1466\"\u003e#1466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1467\"\u003e#1467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.1 to 1.6.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1468\"\u003e#1468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven:apache-maven from 3.9.11 to 3.9.16 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[chore] Minor remaining polishing of the \u003ccode\u003eConfiguration\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.jreleaser:jreleaser-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1448\"\u003e#1448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1452\"\u003e#1452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump kotlin.version from 2.4.0 to 2.4.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1453\"\u003e#1453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.mycila:license-maven-plugin from 5.0.0 to 5.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1454\"\u003e#1454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.10 to 1.18.11 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1447\"\u003e#1447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1449\"\u003e#1449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.1 to 6.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven.plugins:maven-jar-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1455\"\u003e#1455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump brace-expansion, \u003ccode\u003e@​antora/cli\u003c/code\u003e, \u003ccode\u003e@​antora/site-generator-default\u003c/code\u003e and nodemon (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1458\"\u003e#1458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.37 to 1.6.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1459\"\u003e#1459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1460\"\u003e#1460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Fully rebuild the URL without the \u003ccode\u003euserInfo\u003c/code\u003e part instead of search and replace. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1464\"\u003e#1464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Throw \u003ccode\u003eIllegalArgumentException\u003c/code\u003e when a non-supported \u003ccode\u003eencryptionLevel\u003c/code\u003e is used. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Handle colons in passwords proper. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Add page-tabs attributes (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1461\"\u003e#1461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.0 to 6.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1441\"\u003e#1441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1442\"\u003e#1442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump commons-logging:commons-logging from 1.3.6 to 1.4.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1443\"\u003e#1443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.8 to 1.18.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1444\"\u003e#1444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.34 to 1.5.37 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1445\"\u003e#1445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[build] Pin all actions (including officials) to their current sha. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1446\"\u003e#1446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Remove broken Stackoverflow badge.\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/neo4j/neo4j-ogm/blob/master/CHANGES.adoc\"\u003eorg.neo4j:neo4j-ogm-bolt-driver's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 5.0.8\u003c/p\u003e\n\u003cp\u003eThis is a recommended update for all users. It includes several important security fixes and has no breaking changes or other side effects.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[fix] Group entities also by removed / updated properties before multi-statement updates. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1473\"\u003e#1473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Replace variable placeholder \u003ccode\u003e$\u003c/code\u003e in favor of passing the variable down the call stack. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1472\"\u003e#1472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Use the full classname to lookup class info during query execution and deletion. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1471\"\u003e#1471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Use Cypher-DSL Schema Names support to uniformly escape names. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1470\"\u003e#1470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.2 to 6.1.3 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1465\"\u003e#1465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.neo4j.driver:neo4j-java-driver from 6.2.0 to 6.2.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1466\"\u003e#1466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1467\"\u003e#1467\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.6.1 to 1.6.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1468\"\u003e#1468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven:apache-maven from 3.9.11 to 3.9.16 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[chore] Minor remaining polishing of the \u003ccode\u003eConfiguration\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.jreleaser:jreleaser-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1448\"\u003e#1448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.fasterxml.jackson:jackson-bom (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1452\"\u003e#1452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump kotlin.version from 2.4.0 to 2.4.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1453\"\u003e#1453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.mycila:license-maven-plugin from 5.0.0 to 5.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1454\"\u003e#1454\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.10 to 1.18.11 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1447\"\u003e#1447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1449\"\u003e#1449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.1 to 6.1.2 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.apache.maven.plugins:maven-jar-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1455\"\u003e#1455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump brace-expansion, \u003ccode\u003e@​antora/cli\u003c/code\u003e, \u003ccode\u003e@​antora/site-generator-default\u003c/code\u003e and nodemon (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1458\"\u003e#1458\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.37 to 1.6.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1459\"\u003e#1459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump io.github.classgraph:classgraph (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1460\"\u003e#1460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Fully rebuild the URL without the \u003ccode\u003euserInfo\u003c/code\u003e part instead of search and replace. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1464\"\u003e#1464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[refactor] Throw \u003ccode\u003eIllegalArgumentException\u003c/code\u003e when a non-supported \u003ccode\u003eencryptionLevel\u003c/code\u003e is used. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1463\"\u003e#1463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[fix] Handle colons in passwords proper. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Add page-tabs attributes (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1461\"\u003e#1461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump org.junit:junit-bom from 6.1.0 to 6.1.1 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1441\"\u003e#1441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump com.github.spotbugs:spotbugs-maven-plugin (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1442\"\u003e#1442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump commons-logging:commons-logging from 1.3.6 to 1.4.0 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1443\"\u003e#1443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump net.bytebuddy:byte-buddy from 1.18.8 to 1.18.10 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1444\"\u003e#1444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[dependencies] Bump ch.qos.logback:logback-classic from 1.5.34 to 1.5.37 (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1445\"\u003e#1445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[build] Pin all actions (including officials) to their current sha. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/issues/1446\"\u003e#1446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[docs] Remove broken Stackoverflow badge.\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/neo4j/neo4j-ogm/commit/f2f0ce3820cd91ec7aff59c22aa4f3804b46e185\"\u003e\u003ccode\u003ef2f0ce3\u003c/code\u003e\u003c/a\u003e Release 5.0.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/218ecb72c235242b17987d69d55cd7c0b50075de\"\u003e\u003ccode\u003e218ecb7\u003c/code\u003e\u003c/a\u003e Fix: Group entities also by removed / updated properties before multi-stateme...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/450604b44511a967fd287e6dc440bafa4e203076\"\u003e\u003ccode\u003e450604b\u003c/code\u003e\u003c/a\u003e refactor: Replace variable placeholder \u003ccode\u003e$\u003c/code\u003e in favor of passing the variable d...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/dc20994e9489be30c660c08af7d833a8532d2aa0\"\u003e\u003ccode\u003edc20994\u003c/code\u003e\u003c/a\u003e fix: Use full classname to lookup class info during query execution and delet...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/neo4j/neo4j-ogm/commit/b10d9fb6e123ddf433b2b778e420f71dece81ec3\"\u003e\u003ccode\u003eb10d9fb\u003c/code\u003e\u003c/a\u003e refactor: Use Cypher-DSL Schema Names support to uniformly escape names. (\u003ca href=\"https://redirect.github.com/neo4j/neo4j-ogm/is...\n\n_Description has been truncated_","html_url":"https://github.com/noheton/shepard/pull/2680","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/noheton%2Fshepard/issues/2680","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2680/packages"}},{"old_version":"1.4.1","new_version":"1.5.0","update_type":"minor","path":null,"pr_created_at":"2026-08-31T01:47:15.000Z","version_change":"1.4.1 → 1.5.0","issue":{"uuid":"5295576921","node_id":"PR_kwDOQertjM8AAAABBivu9g","number":437,"state":"closed","title":"build(deps): bump the routine-java group across 1 directory with 9 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-07T01:48:01.000Z","author_association":null,"state_reason":null,"created_at":"2026-08-31T01:47:15.000Z","updated_at":"2026-09-07T01:48:03.000Z","time_to_close":604846,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"routine-java","update_count":9,"packages":[{"name":"org.springframework.boot:spring-boot-starter-parent","old_version":"4.0.5","new_version":"4.1.1","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.junit:junit-bom","old_version":"6.0.2","new_version":"6.1.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.springframework.modulith:spring-modulith-bom","old_version":"2.0.5","new_version":"2.1.1","repository_url":"https://github.com/spring-projects/spring-modulith"},{"name":"io.opentelemetry:opentelemetry-bom","old_version":"1.61.0","new_version":"1.65.0","repository_url":"https://github.com/open-telemetry/opentelemetry-java"},{"name":"org.bouncycastle:bcprov-jdk15to18","old_version":"1.84","new_version":"1.85.2","repository_url":"https://github.com/bcgit/bc-java"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.4.1","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"org.apache.maven.plugins:maven-enforcer-plugin","old_version":"3.6.1","new_version":"3.6.3","repository_url":"https://github.com/apache/maven-enforcer"},{"name":"org.jacoco:jacoco-maven-plugin","old_version":"0.8.14","new_version":"0.8.15","repository_url":"https://github.com/jacoco/jacoco"},{"name":"org.pitest:pitest-maven","old_version":"1.22.0","new_version":"1.30.0","repository_url":"https://github.com/hcoles/pitest"}],"path":null,"ecosystem":"maven"},"body":"Bumps the routine-java group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.springframework.boot:spring-boot-starter-parent](https://github.com/spring-projects/spring-boot) | `4.0.5` | `4.1.1` |\n| [org.junit:junit-bom](https://github.com/junit-team/junit-framework) | `6.0.2` | `6.1.3` |\n| [org.springframework.modulith:spring-modulith-bom](https://github.com/spring-projects/spring-modulith) | `2.0.5` | `2.1.1` |\n| [io.opentelemetry:opentelemetry-bom](https://github.com/open-telemetry/opentelemetry-java) | `1.61.0` | `1.65.0` |\n| [org.bouncycastle:bcprov-jdk15to18](https://github.com/bcgit/bc-java) | `1.84` | `1.85.2` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.4.1` | `1.5.0` |\n| [org.apache.maven.plugins:maven-enforcer-plugin](https://github.com/apache/maven-enforcer) | `3.6.1` | `3.6.3` |\n| [org.jacoco:jacoco-maven-plugin](https://github.com/jacoco/jacoco) | `0.8.14` | `0.8.15` |\n| [org.pitest:pitest-maven](https://github.com/hcoles/pitest) | `1.22.0` | `1.30.0` |\n\n\nUpdates `org.springframework.boot:spring-boot-starter-parent` from 4.0.5 to 4.1.1\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:spring-boot-starter-parent's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch2\u003e:warning: Attention Required\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpring Boot's Gradle plugin no longer automatically configures gRPC when the Protobuf plugin is applied. This behavior caused problems for those using Protobuf without gRPC. To opt in to the configuration of gRPC, configure the \u003ccode\u003eprotobuf\u003c/code\u003e extension with the \u003ccode\u003egrpc\u003c/code\u003e plugin using an empty block. The Spring Boot Gradle plugin will then automatically configure the use of \u003ccode\u003eprotoc-gen-grpc-java\u003c/code\u003e as before. \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50822\"\u003e#50822\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKafka consumer-specific security protocol is not taken into account \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51369\"\u003e#51369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStructured logging: a failed JSON encode corrupts the next log event written on the same thread \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51156\"\u003e#51156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMicrometer registries pin the application context \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51135\"\u003e#51135\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTemporary file is not deleted when ExportedImageTar construction fails \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51132\"\u003e#51132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMetadata annotation processor ignores getter-level \u003ccode\u003e@NestedConfigurationProperty\u003c/code\u003e for records \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51098\"\u003e#51098\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-h2-console pulls servlet-api as transitive dependency \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51095\"\u003e#51095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropertiesLauncher does not log nested archive paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51089\"\u003e#51089\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMethods that return the result of Map#remove are not declared with a \u003ccode\u003e@Nullable\u003c/code\u003e return type \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51087\"\u003e#51087\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNativeImageResourceProvider flattens Flyway migration paths in subdirectories \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50964\"\u003e#50964\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ordering of Kotlinx Serialization CodecCustomizer \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50961\"\u003e#50961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJarFile is not closed when finding main class from archive \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50959\"\u003e#50959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplication-managed JUL bridge handler should only be removed if installed \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50950\"\u003e#50950\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCloudFoundry reactive auto-configuration should not require a WebClient.Builder bean to be defined \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50944\"\u003e#50944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails on reactive Cloud Foundry when using Actuator without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50942\"\u003e#50942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResources are not cleaned up when resolving an image that is not yet present in the builder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50941\"\u003e#50941\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGraphQlWebMvcAutoConfiguration should apply customizers in order \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50914\"\u003e#50914\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configured RedisMessageListenerContainer does not use virtual threads when spring.threads.virtual.enabled is true \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50884\"\u003e#50884\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails when using Actuator on Jersey without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50872\"\u003e#50872\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails on Cloud Foundry when using Actuator without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50871\"\u003e#50871\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIllegalStateException when binding properties to a \u003ccode\u003e@Validated\u003c/code\u003e class that contains a map whose value type is a wildcard \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50856\"\u003e#50856\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHigh number of connections due to Mongo health indicator \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50852\"\u003e#50852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInconsistent handling of empty string values of spring.security.oauth2.resourceserver.jwt issuer-uri and jwk-set-uri \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50849\"\u003e#50849\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn type nullability of ApplicationContextAssert's getBean methods does not indicate that bean may be null \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50845\"\u003e#50845\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropertiesWebClientHttpServiceGroupConfigurer has highest precedence, preventing other configurers from being ordered ahead of it \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50843\"\u003e#50843\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExposing gRPC test server port should backoff if gRPC is not present \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50825\"\u003e#50825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJpaBaseConfiguration#entityManagerConfiguration can cause a dependency loop on beans declaring AsyncTaskExecutor \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50801\"\u003e#50801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.grpc.server.health.include-overall-health is not taken into account \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50799\"\u003e#50799\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSetting 'server.servlet.session.cookie.partitioned' to false still emits the 'Partitioned' cookie attribute \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50790\"\u003e#50790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eManaged version of Prometheus Client is not aligned with Micrometer's micrometer-registry-prometheus \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50780\"\u003e#50780\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMap properties bound from empty strings fail with ConverterNotFoundException \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50773\"\u003e#50773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProtobuf Common Protos should not be a managed dependency \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50772\"\u003e#50772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAn application that depends on spring-boot-security-oauth2-resource-server may fail to start with a ClassNotFoundException when Reactor is on the classpath but WebFlux is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50764\"\u003e#50764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eW3CHeaderParser's decoding is not compliant with RFC 3986 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50650\"\u003e#50650\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\u003eDescription of spring.graphql.websocket.connection-init-timeout does not render correctly in the reference guide \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51348\"\u003e#51348\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.profiles.group should have a 'spring-profile-name' hint provider \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51284\"\u003e#51284\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove reference to removed InfluxDB auto-configuration \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51176\"\u003e#51176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse JacksonJsonSerde in Kafka Streams documentation \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51161\"\u003e#51161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument alternatives to HttpMessageConverters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51129\"\u003e#51129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix stale type reference for OTLP logging transport metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51119\"\u003e#51119\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMetadata for spring.test.mockmvc.htmlunit.url declares the wrong type \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51115\"\u003e#51115\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/6fdf67ea1552691e932604d4bf67a5e08ff0b0ea\"\u003e\u003ccode\u003e6fdf67e\u003c/code\u003e\u003c/a\u003e Release 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/fde599b28b40932e4ea6194399d89245923a01e7\"\u003e\u003ccode\u003efde599b\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Pulsar 2.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9daa58f7d98b82bf16febcb91943ce267c220a50\"\u003e\u003ccode\u003e9daa58f\u003c/code\u003e\u003c/a\u003e Upgrade to Spring HATEOAS 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/353993ebc1d7b1ceccbb981b0439a42ba122a816\"\u003e\u003ccode\u003e353993e\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Data Bom 2026.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/24ba596bc4fa000614834016452435c834fdeda2\"\u003e\u003ccode\u003e24ba596\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Session 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/5cb5c294d1f4780e78d010a964049e47c074e4d6\"\u003e\u003ccode\u003e5cb5c29\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Security 7.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4adc8eb130c4e0c688ed85316f385f4e04d47679\"\u003e\u003ccode\u003e4adc8eb\u003c/code\u003e\u003c/a\u003e Upgrade to Spring LDAP 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4d9c19cbc0589f57a7265052b507bf4b961082ac\"\u003e\u003ccode\u003e4d9c19c\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Kafka 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f30f6120c4f6f8f873ac56cba478ae1f011c276c\"\u003e\u003ccode\u003ef30f612\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 7.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/b930283d97e92eb24da1de3721cdd41625266dea\"\u003e\u003ccode\u003eb930283\u003c/code\u003e\u003c/a\u003e Upgrade to Spring gRPC 1.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.5...v4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit:junit-bom` from 6.0.2 to 6.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit:junit-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.3 = Platform 6.1.3 + Jupiter 6.1.3 + Vintage 6.1.3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.3/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.2...r6.1.3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.2 = Platform 6.1.2 + Jupiter 6.1.2 + Vintage 6.1.2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.2/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.1...r6.1.2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.1...r6.1.2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.1 = Platform 6.1.1 + Jupiter 6.1.1 + Vintage 6.1.1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.1/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.0...r6.1.1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.0...r6.1.1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0 = Platform 6.1.0 + Jupiter 6.1.0 + Vintage 6.1.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JarvisCraft\"\u003e\u003ccode\u003e@​JarvisCraft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5633\"\u003ejunit-team/junit-framework#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Maran23\"\u003e\u003ccode\u003e@​Maran23\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5644\"\u003ejunit-team/junit-framework#5644\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-RC1 = Platform 6.1.0-RC1 + Jupiter 6.1.0-RC1 + Vintage 6.1.0-RC1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-RC1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariokhoury4\"\u003e\u003ccode\u003e@​mariokhoury4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4574\"\u003ejunit-team/junit-framework#4574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ogu1208\"\u003e\u003ccode\u003e@​Ogu1208\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5145\"\u003ejunit-team/junit-framework#5145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HyungGeun94\"\u003e\u003ccode\u003e@​HyungGeun94\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5271\"\u003ejunit-team/junit-framework#5271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yalishevant\"\u003e\u003ccode\u003e@​yalishevant\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5316\"\u003ejunit-team/junit-framework#5316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JINU-CHANG\"\u003e\u003ccode\u003e@​JINU-CHANG\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5290\"\u003ejunit-team/junit-framework#5290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaschdoc\"\u003e\u003ccode\u003e@​jaschdoc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5427\"\u003ejunit-team/junit-framework#5427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kawshikbuet17\"\u003e\u003ccode\u003e@​kawshikbuet17\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5561\"\u003ejunit-team/junit-framework#5561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/msridhar\"\u003e\u003ccode\u003e@​msridhar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5602\"\u003ejunit-team/junit-framework#5602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-M1 = Platform 6.1.0-M1 + Jupiter 6.1.0-M1 + Vintage 6.1.0-M1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-M1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vy\"\u003e\u003ccode\u003e@​vy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5041\"\u003ejunit-team/junit-framework#5041\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/junit-team/junit-framework/commit/f59f60d2cebdf2224235d81f781b1f310cbc8138\"\u003e\u003ccode\u003ef59f60d\u003c/code\u003e\u003c/a\u003e Release 6.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/cd8ec9202ce8260a434edb38a8565e36f620e8d6\"\u003e\u003ccode\u003ecd8ec92\u003c/code\u003e\u003c/a\u003e Finalize 6.1.3 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/c8729f26aacd8e2dd6fa564b929fe047faaa7dc9\"\u003e\u003ccode\u003ec8729f2\u003c/code\u003e\u003c/a\u003e Restore compatibility with GraalVM 25 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5901\"\u003e#5901\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/ddc9e74e5d21c2dd18bc0cfe4681d5ff50ac379c\"\u003e\u003ccode\u003eddc9e74\u003c/code\u003e\u003c/a\u003e Update graalvm/setup-graalvm action to v1.6.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5959\"\u003e#5959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/fe2c52a780fcbda6c7ccf5d6576beb7ad2d80bf8\"\u003e\u003ccode\u003efe2c52a\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.7 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5923\"\u003e#5923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/62afc02b541ee9dfa16b121705f79b7d44f4dae0\"\u003e\u003ccode\u003e62afc02\u003c/code\u003e\u003c/a\u003e Delay GraalVM plugin updates for 3 days\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0cc29022801365a409c1213a811a8877cb88cce3\"\u003e\u003ccode\u003e0cc2902\u003c/code\u003e\u003c/a\u003e Skip \u003ccode\u003egraalVmTest\u003c/code\u003e task if GraalVM env vars are not set\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f6bbfc53e7e00b1b25e7d3b0bc09eef05cc4b721\"\u003e\u003ccode\u003ef6bbfc5\u003c/code\u003e\u003c/a\u003e Move GraalVM tests to separate test task (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5903\"\u003e#5903\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/e87e0521d4fbd75116a5fda42566fcb7a56eb340\"\u003e\u003ccode\u003ee87e052\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5899\"\u003e#5899\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1cd56df89754fb8523ac9fbbf888e9a552e33ee8\"\u003e\u003ccode\u003e1cd56df\u003c/code\u003e\u003c/a\u003e Update plugin org.graalvm.buildtools.native to v1.1.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5880\"\u003e#5880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.2...r6.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.modulith:spring-modulith-bom` from 2.0.5 to 2.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-modulith/releases\"\u003eorg.springframework.modulith:spring-modulith-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.1.1\u003c/h2\u003e\n\u003ch2\u003e:bulb: Improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse Namastack version property in \u003ccode\u003espring-modulith-events-core\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1807\"\u003e#1807\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:beetle: Bugs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEvent externalization throws \u003ccode\u003eClassCastException\u003c/code\u003e with event listener using \u003ccode\u003eApplicationListener.forPayload(…)\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1832\"\u003e#1832\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRabbitJackson2Configuration and RabbitJacksonConfiguration conflict when Jackson 2.x is on classpath (e.g. Eureka Client) \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1830\"\u003e#1830\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAmbiguous violation message when referring to a non-exposed type in a module generally available for access \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1827\"\u003e#1827\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConcurrentModificationException in TestExecutionCondition when running tests with JUnit parallel class execution \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1824\"\u003e#1824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in \u003ccode\u003espring.modulith.events.staleness.check-interval\u003c/code\u003e configuration property \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1822\"\u003e#1822\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePotential \u003ccode\u003eNullPointerException\u003c/code\u003e in \u003ccode\u003eFormattableType.of(…)\u003c/code\u003e for wildcard types \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1806\"\u003e#1806\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Testcontainers setup to ensure fresh containers for SQL databases \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1802\"\u003e#1802\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMongoDB event publication tests use default localhost connection instead of Testcontainers \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1755\"\u003e#1755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnbounded wildcard / type-variable generic parameters break \u003ccode\u003eFormattableType\u003c/code\u003e (NPE in \u003ccode\u003eDefaultObservedModule.render\u003c/code\u003e) \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1754\"\u003e#1754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRoot module Flyway migrations are not executed during a test \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1753\"\u003e#1753\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 Spring Boot 4.1.1 \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1820\"\u003e#1820\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Namastack Outbox 1.7.3 \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1796\"\u003e#1796\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1814\"\u003e#1814\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Spring Framework 7.0.9 \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1813\"\u003e#1813\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Micrometer Tracing 1.7.1 \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1812\"\u003e#1812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to jGit 7.7.1.202607240634-r \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1797\"\u003e#1797\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/arendomoda\"\u003e\u003ccode\u003e@​arendomoda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arimu1\"\u003e\u003ccode\u003e@​arimu1\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/char-yb\"\u003e\u003ccode\u003e@​char-yb\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/DragonFSKY\"\u003e\u003ccode\u003e@​DragonFSKY\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Hashim1999164\"\u003e\u003ccode\u003e@​Hashim1999164\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/kalayciburak\"\u003e\u003ccode\u003e@​kalayciburak\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/seonwooj0810\"\u003e\u003ccode\u003e@​seonwooj0810\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.1 GA\u003c/h2\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003ch3\u003eOutbox\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for event outbox via Namastack \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1517\"\u003e#1517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport for externalizing events via JobRunr \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1637\"\u003e#1637\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid executing Flyway migrations for modules without any migrations \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1684\"\u003e#1684\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eEPR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow opting out of event publication registry handling for an \u003ccode\u003e@TransactionalEventListener\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1630\"\u003e#1630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable JDBC event publication schema creation by default \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1563\"\u003e#1563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake sure that JDBC EPR schema initialization runs after Boot's file-based one \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1568\"\u003e#1568\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTesting\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for application module testing in combination with Boot's slice test support \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1573\"\u003e#1573\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOpen up \u003ccode\u003ePublishedEvents\u003c/code\u003e and \u003ccode\u003eScenario\u003c/code\u003e to see events from all threads by default \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1564\"\u003e#1564\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eObservability\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/spring-projects/spring-modulith/commit/83ce54cfc5229f9fe748afc332d8c728ecd0b81c\"\u003e\u003ccode\u003e83ce54c\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1833\"\u003eGH-1833\u003c/a\u003e - Release version 2.1.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/ef8d256c7970b50e98438f6016b573433958eba9\"\u003e\u003ccode\u003eef8d256\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1832\"\u003eGH-1832\u003c/a\u003e - Polishing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/51e2cc4b00e2a369a6b7f882f1764b3a2cb14d19\"\u003e\u003ccode\u003e51e2cc4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1832\"\u003eGH-1832\u003c/a\u003e - Invoke listeners through SimpleApplicationEventMulticaster.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/3066000f64b78485569103826fe73a92175958e5\"\u003e\u003ccode\u003e3066000\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1830\"\u003eGH-1830\u003c/a\u003e - Polishing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/8127446a79ae94ceed65e0cf89cad499aca874fd\"\u003e\u003ccode\u003e8127446\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1830\"\u003eGH-1830\u003c/a\u003e - Resolve Rabbit Jackson configuration conflict.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/2bdcdc312c5d45e1b18a3778eec7698e653eb06c\"\u003e\u003ccode\u003e2bdcdc3\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1827\"\u003eGH-1827\u003c/a\u003e - Polishing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/f93a92832d589b2c6c59e0f9d0540bbb67f6c3d0\"\u003e\u003ccode\u003ef93a928\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1827\"\u003eGH-1827\u003c/a\u003e - Clarify violation for non-exposed types in allowed modules.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/dacf640cc72de00f5ef72e70dd9fd0738cea8a70\"\u003e\u003ccode\u003edacf640\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1824\"\u003eGH-1824\u003c/a\u003e - Use ConcurrentHashMap for the module dependency cache.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/6827fd5563f65964dbd3b0f6cfd033ae50aba432\"\u003e\u003ccode\u003e6827fd5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1822\"\u003eGH-1822\u003c/a\u003e - Polishing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/ccd78daa4606f50ed724ce76fbba6592941a1f06\"\u003e\u003ccode\u003eccd78da\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1822\"\u003eGH-1822\u003c/a\u003e - Fix typo in staleness check-interval property\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-modulith/compare/2.0.5...2.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.opentelemetry:opentelemetry-bom` from 1.61.0 to 1.65.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-java/releases\"\u003eio.opentelemetry:opentelemetry-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.65.0\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNOTE:\u003c/strong\u003e The \u003ccode\u003eopentelemetry-exporter-zipkin\u003c/code\u003e artifact has stopped being published. It was deprecated in a prior release. Users should migrate to OTLP or use a Zipkin-compatible collector exporter.\u003c/p\u003e\n\u003ch3\u003eAPI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore empty baggage keys in \u003ccode\u003eImmutableBaggage.put\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8658\"\u003e#8658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eNumberFormatException\u003c/code\u003e in baggage decoder (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8593\"\u003e#8593\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTraceStateBuilder.remove\u003c/code\u003e corrupting the builder when the same key is removed twice (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8613\"\u003e#8613\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eIncubating\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd bound instrument APIs (\u003ccode\u003eBoundLongCounter\u003c/code\u003e, \u003ccode\u003eBoundDoubleCounter\u003c/code\u003e, \u003ccode\u003eBoundLongHistogram\u003c/code\u003e, \u003ccode\u003eBoundDoubleHistogram\u003c/code\u003e, \u003ccode\u003eBoundLongUpDownCounter\u003c/code\u003e, \u003ccode\u003eBoundDoubleUpDownCounter\u003c/code\u003e, \u003ccode\u003eBoundLongGauge\u003c/code\u003e, \u003ccode\u003eBoundDoubleGauge\u003c/code\u003e) to the incubator metrics API (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8527\"\u003e#8527\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eExtensions\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eTrace propagators: Fix \u003ccode\u003eJaegerPropagator\u003c/code\u003e baggage header key case sensitivity (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8496\"\u003e#8496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTrace propagators: Do not overwrite existing baggage with empty baggage in \u003ccode\u003eJaegerPropagator\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8632\"\u003e#8632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTrace propagators: Skip empty baggage keys in \u003ccode\u003eOtTracePropagator\u003c/code\u003e extract (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8631\"\u003e#8631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTrace propagators: Stop parsing a \u003ccode\u003ejaeger-baggage\u003c/code\u003e header after 64 tokens, including malformed tokens (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8702\"\u003e#8702\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSDK\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate SDK attributes implementation (\u003ccode\u003eAttributesMap\u003c/code\u003e) to enforce last-value-win semantics based on string value of \u003ccode\u003eAttributeKey.getKey()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8548\"\u003e#8548\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eTraces\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eSampler\u003c/code\u003e shutdown lifecycle: \u003ccode\u003eSampler\u003c/code\u003e now extends \u003ccode\u003eCloseable\u003c/code\u003e and exposes a default \u003ccode\u003eshutdown()\u003c/code\u003e invoked when the \u003ccode\u003eSdkTracerProvider\u003c/code\u003e is shut down; \u003ccode\u003eJaegerRemoteSampler\u003c/code\u003e implements it to stop its polling executor (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8574\"\u003e#8574\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eMetrics\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eGate \u003ccode\u003ePeriodicMetricReader\u003c/code\u003e self-observability metrics by internal telemetry version (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8597\"\u003e#8597\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRecord \u003ccode\u003eerror.type\u003c/code\u003e on failed collections in \u003ccode\u003ePeriodicMetricReader\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8650\"\u003e#8650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTesting: Fix \u003ccode\u003eLongExemplarAssert.hasFilteredAttributesSatisfyingExactly\u003c/code\u003e to enforce exact attribute matching (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8518\"\u003e#8518\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eLogs\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eReadWriteLogRecord\u003c/code\u003e default \u003ccode\u003egetObservedTimestampEpochNanos\u003c/code\u003e returning the record timestamp (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8504\"\u003e#8504\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eProfiles\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eFix profiles data model attribute count parameter name and timestamp doc unit (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8514\"\u003e#8514\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eExporters\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eWARNING\u003c/strong\u003e Zipkin: Delete \u003ccode\u003eopentelemetry-exporter-zipkin\u003c/code\u003e; the artifact is no longer published (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8677\"\u003e#8677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOTLP: Use HTTP error response bodies in \u003ccode\u003eHttpExporter\u003c/code\u003e warning logs (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8428\"\u003e#8428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOTLP: Fix \u003ccode\u003eOkHttpHttpSender\u003c/code\u003e mTLS when using the platform default trust store (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8565\"\u003e#8565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOTLP: Fix sign extension on \u003ccode\u003eLogRecord\u003c/code\u003e flags in the low-allocation log marshaler (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8493\"\u003e#8493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOTLP: Standardize \u003ccode\u003eOkHttpHttpSender\u003c/code\u003e, \u003ccode\u003eJdkHttpSender\u003c/code\u003e, and \u003ccode\u003eUpstreamGrpcSender\u003c/code\u003e shutdown to await executor/channel termination (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8495\"\u003e#8495\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8627\"\u003e#8627\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8624\"\u003e#8624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOTLP: Log the underlying except/ion when a gRPC response frame is invalid (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8626\"\u003e#8626\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-java/blob/main/CHANGELOG.md\"\u003eio.opentelemetry:opentelemetry-bom's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.65.0 (2026-08-07)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNOTE:\u003c/strong\u003e The \u003ccode\u003eopentelemetry-exporter-zipkin\u003c/code\u003e artifact has stopped being published. It was\ndeprecated in a prior release. Users should migrate to OTLP or use a Zipkin-compatible collector\nexporter.\u003c/p\u003e\n\u003ch3\u003eAPI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore empty baggage keys in \u003ccode\u003eImmutableBaggage.put\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8658\"\u003e#8658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eNumberFormatException\u003c/code\u003e in baggage decoder\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8593\"\u003e#8593\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eTraceStateBuilder.remove\u003c/code\u003e corrupting the builder when the same key is removed twice\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8613\"\u003e#8613\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eIncubating\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd bound instrument APIs (\u003ccode\u003eBoundLongCounter\u003c/code\u003e, \u003ccode\u003eBoundDoubleCounter\u003c/code\u003e, \u003ccode\u003eBoundLongHistogram\u003c/code\u003e,\n\u003ccode\u003eBoundDoubleHistogram\u003c/code\u003e, \u003ccode\u003eBoundLongUpDownCounter\u003c/code\u003e, \u003ccode\u003eBoundDoubleUpDownCounter\u003c/code\u003e, \u003ccode\u003eBoundLongGauge\u003c/code\u003e,\n\u003ccode\u003eBoundDoubleGauge\u003c/code\u003e) to the incubator metrics API\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8527\"\u003e#8527\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eExtensions\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eTrace propagators: Fix \u003ccode\u003eJaegerPropagator\u003c/code\u003e baggage header key case sensitivity\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8496\"\u003e#8496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTrace propagators: Do not overwrite existing baggage with empty baggage in \u003ccode\u003eJaegerPropagator\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8632\"\u003e#8632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTrace propagators: Skip empty baggage keys in \u003ccode\u003eOtTracePropagator\u003c/code\u003e extract\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8631\"\u003e#8631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTrace propagators: Stop parsing a \u003ccode\u003ejaeger-baggage\u003c/code\u003e header after 64 tokens, including malformed\ntokens (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8702\"\u003e#8702\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSDK\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate SDK attributes implementation (\u003ccode\u003eAttributesMap\u003c/code\u003e) to enforce last-value-win semantics based\non string value of \u003ccode\u003eAttributeKey.getKey()\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8548\"\u003e#8548\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eTraces\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eSampler\u003c/code\u003e shutdown lifecycle: \u003ccode\u003eSampler\u003c/code\u003e now extends \u003ccode\u003eCloseable\u003c/code\u003e and exposes a default\n\u003ccode\u003eshutdown()\u003c/code\u003e invoked when the \u003ccode\u003eSdkTracerProvider\u003c/code\u003e is shut down; \u003ccode\u003eJaegerRemoteSampler\u003c/code\u003e implements\nit to stop its polling executor\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8574\"\u003e#8574\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eMetrics\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eGate \u003ccode\u003ePeriodicMetricReader\u003c/code\u003e self-observability metrics by internal telemetry version\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/pull/8597\"\u003e#8597\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/open-telemetry/opentelemetry-java/commit/7bc11edca518d4de168230c84a71484a66cbac40\"\u003e\u003ccode\u003e7bc11ed\u003c/code\u003e\u003c/a\u003e [release/v1.65.x] Prepare release 1.65.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/issues/8705\"\u003e#8705\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java/commit/60d7ecfe270354f8a329a0ecad42fca2650cc36e\"\u003e\u003ccode\u003e60d7ecf\u003c/code\u003e\u003c/a\u003e Prepare 1.65.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/issues/8700\"\u003e#8700\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java/commit/6d41aa40ed39eed5fb000e7595e1b1dd279fed91\"\u003e\u003ccode\u003e6d41aa4\u003c/code\u003e\u003c/a\u003e Bound jaeger-baggage parsing work by tokens rather than accepted entries (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/issues/8702\"\u003e#8702\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java/commit/db1d6bee36537b4f356a6b7d616e587217938177\"\u003e\u003ccode\u003edb1d6be\u003c/code\u003e\u003c/a\u003e Enforce last-value-wins semantics in AttributesMap without performance regres...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java/commit/995cb3c4328f76a21f12e79b2667c684845899ca\"\u003e\u003ccode\u003e995cb3c\u003c/code\u003e\u003c/a\u003e Avoid unsafe string encoder on Android (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/issues/8637\"\u003e#8637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java/commit/48b0185d06a8d34d713d4fc24d6c70502b6f1531\"\u003e\u003ccode\u003e48b0185\u003c/code\u003e\u003c/a\u003e Do not overwrite existing baggage with empty baggage in JaegerPropagator (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/issues/8632\"\u003e#8632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java/commit/2009d5840f24251e65aac98c0f2da2f304e0bf7b\"\u003e\u003ccode\u003e2009d58\u003c/code\u003e\u003c/a\u003e Avoid exposing configuration values in errors (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/issues/8669\"\u003e#8669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java/commit/3cafbbb6206afc6cebb984d9b81e2339a506f148\"\u003e\u003ccode\u003e3cafbbb\u003c/code\u003e\u003c/a\u003e Deprecate OpenCensus shim public API (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/issues/8674\"\u003e#8674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java/commit/0e033e2ca8128ca470abd33f3ef1f2f684bcf610\"\u003e\u003ccode\u003e0e033e2\u003c/code\u003e\u003c/a\u003e Remove stray token from addLogRecordProcessorCustomizer Javadoc (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/issues/8641\"\u003e#8641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java/commit/3d1cce87bd4a78432cca4214a96586046a6e4590\"\u003e\u003ccode\u003e3d1cce8\u003c/code\u003e\u003c/a\u003e Fix ObfuscatedLoggerProvider Javadoc copy-paste example (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java/issues/8639\"\u003e#8639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-java/compare/v1.61.0...v1.65.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.bouncycastle:bcprov-jdk15to18` from 1.84 to 1.85.2\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.md\"\u003eorg.bouncycastle:bcprov-jdk15to18's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eBouncy Castle Crypto Package - Release Notes\u003c/h1\u003e\n\u003ch2\u003e1.0 Introduction\u003c/h2\u003e\n\u003cp\u003eThe Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. The package is organised so that it contains a light-weight API suitable for use in any environment (including the J2ME) with the additional infrastructure to conform the algorithms to the JCE framework.\u003c/p\u003e\n\u003ch2\u003e2.0 Release History\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003e2.1.1 Version\u003c/h3\u003e\n\u003cp\u003eRelease: 1.86\u003cbr /\u003e\nDate: 2026, TBD\u003c/p\u003e\n\u003ch3\u003e2.1.2 Defects Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe high-level OpenPGP API (org.bouncycastle.openpgp.api) let a subkey inherit the primary key's Key Flags when its own Subkey Binding signature carried no Key Flags subpacket, which made the two capability decisions taken for one subkey disagree. OpenPGPCertificate.OpenPGPComponentKey.isSigningKey() reads the effective flags, which fell back to the primary key's direct-key or primary user ID self-signature, so a subkey bound with no flags of its own counted as signing-capable; verifyEmbeddedPrimaryKeyBinding reads the binding signature's own flags, found no signing capability there, and so skipped the embedded Primary Key Binding (cross-certification) signature that RFC 9580 sec. 5.2.1.8 and sec. 10.1.3 require of a subkey that can issue signatures. A data signature made by such a subkey was therefore attributed to the certificate and reported valid by OpenPGPSignature.OpenPGPDocumentSignature.isValid() with the cross-certification requirement never applied, where GnuPG refuses the same certificate and message as not cross-certified. An attacker holding a third party's public signing subkey - which is public material - could bind it to their own primary key with a Subkey Binding signature they are able to make, carrying no Key Flags and no embedded Primary Key Binding signature, which they cannot make without the subkey's private key, and have that party's genuine signatures verify as valid under the attacker's own identity: misattribution of a real signature rather than a forgery of a new one, since the signature still has to be one the subkey actually made. Key Flags are a statement about the key the carrying signature refers to (RFC 9580 sec. 5.2.3.29), so a subkey no longer inherits them from the certificate-wide signatures of the primary key: a Subkey Binding signature that omits the subpacket now leaves the subkey with no capabilities rather than the primary's, which makes the flags the cross-certification check consults the same flags every other decision consults. Preferences and the other subpackets a direct-key signature carries are inherited as before, and the primary key itself - whose flags legitimately come from its direct-key or user ID self-signature - is unaffected. The low-level PGPSignature / PGPPublicKeyRing API performs no binding checks by design and is unchanged.\u003c/li\u003e\n\u003cli\u003eNeither the HSS nor the XMSS^MT private key decoder checked its declared index against the traversal state stored beside it, although the two are independent records of the same position in the key and so can be compared. For HSS the records are the top-level index and the component keys' one-time indices q; for XMSS^MT they are the global index and the per-layer BDS states. A stored key whose index had been rolled back while its state stayed advanced - a partial write, a restore from backup, a buggy storage layer - was therefore accepted, and it then signed a second message under a one-time key the key had already used, producing a signature that verified, so nothing anywhere surfaced the reuse. RFC 8554 sec. 1 and RFC 8391 sec. 1.1 both require each one-time key to be used exactly once, and this is the failure those requirements exist to prevent; the single-tree XMSS decoder has tied its BDS state to its index since that state was first validated, and this brings the two multi-tree schemes into line. HSS decode now requires the declared index to equal the position the component q values imply - a level above the last contributes (q - 1) leaves of the levels beneath it, since its q has already advanced past the subtree it signed - and XMSS^MT decode now requires each present layer's BDS index to equal the leaf index that layer derives from the global index, allowing the one position where a layer has moved into a new subtree and its state legitimately still carries the previous subtree's final index. A layer with no state yet is unaffected, since those are built lazily at signing time. Related, and the same shape of omission: an XMSS or XMSS^MT private key encoding carries the tree root twice - the key's own root field and the root node of the BDS state stored beside it, which for XMSS^MT is the top layer's - and the two were never compared either. A corrupted root was accepted and then poisoned every signature the key made, because the root is hashed into the message digest: the signature did not verify and nothing indicated why. Decode now requires the two copies to agree. The BDS node values themselves are not checkable the way the LMS tree cache above is - a BDS authentication path, stack, retain or keep node does not have its children stored alongside it, so recomputing one means building a subtree, which is the work the state exists to avoid. Both checks are integer comparisons over the levels of the key, too small to measure against the surrounding decode, and both were verified not to reject any legitimate key by walking every index a key can reach: the full key space of the two-level HSS and the h=4/d=2, h=6/d=2, h=6/d=3, h=9/d=3 and h=8/d=4 XMSS^MT parameter sets, plus a three-level HSS key across a subtree boundary and an HSS shard. Since those node values cannot be recomputed, the encoded state now carries a checksum over itself instead, with the owning key's public seed hashed in front of it. Any corruption of the stored state is refused at decode rather than being loaded and then producing signatures that silently do not verify, and because the public seed is bound in, a state transplanted between two keys of the same parameter set is refused too, even though it is internally consistent and arrives with its own matching root. The public seed is bound rather than the secret seed or the PRF key deliberately: the state's own root and index are inside the encoding and so are already covered, hashing secret material would make the stored checksum a commitment to it for no gain in detection, and the PRF key does not influence the state at all. \u003cstrong\u003eThis is an error-detecting code and not integrity protection\u003c/strong\u003e - anyone able to rewrite the stored key recomputes it, so it establishes that the state is unchanged since it was written, never that it was correct when written, and the allocation bounds on the encoding remain the guard against a crafted one. It costs one SHA-256 over the state, measured at 5 to 8 microseconds each way for the h=10 and h=16 parameter sets, and 32 bytes of encoding. The state encoding was added earlier in this same cycle and has not been released, so the checksum is simply part of it rather than a new version: a state written by a 1.86 beta is rejected, which is recovered from by re-exporting the key. The deprecated org.bouncycastle.pqc.crypto.lms copy carries the HSS check as well (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2414\"\u003e#2414\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eThe S/MIME example smoke test in the misc module (org.bouncycastle.mail.smime.examples.test.AllTests) drove SendSignedAndEncryptedMail against smtp.gmail.com, and that example finishes with Transport.send() under JavaMail's default settings, which have no connect timeout. Where outbound port 25 is refused the failure was swallowed and the test passed; where it is silently dropped, as on many home networks, the connect blocked and ./gradlew build hung in :misc:test indefinitely with \u0026quot;0 tests completed\u0026quot;. The test now delivers to an SMTP stub on a loopback port, with connect / read / write timeouts as a backstop, and asserts the message arrived (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2407\"\u003e#2407\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eComposite ML-KEM encapsulation took the traditional component public key bytes it feeds the KEM combiner from the recipient key's own encoding, while decapsulation recomputes the point from the private key and so always produced an uncompressed one. Section 4 of draft-ietf-lamps-pq-composite-kem requires an EC component to be carried as an uncompressed point, but a component key that encodes itself compressed - a BC EC key whose point format has been set through org.bouncycastle.jce.interfaces.ECPointEncoder, or a key from a provider that preserves a compressed encoding - was passed through as it came. Both sides then combined a different tradPK and derived different shared secrets, with no error reported on either: encapsulation and decapsulation both succeeded and the recipient simply could not decrypt. The EC component is now normalised to an uncompressed point wherever the engine serialises one, which covers the ephemeral key that forms the ciphertext as well. X25519 and X448 components have a single encoding and were unaffected, as were EC keys left in their default (uncompressed) format, whose shared secrets are unchanged. CompositePublicKey.getEncoded() took its component bytes the same way, so such a key also encoded to a composite key other implementations reject and whose bytes changed across an encode / decode / encode round trip - 1238 bytes rather than 1270 for MLKEM768-ECDH-P256, and for the composite ML-DSA keys sharing that method, 2006 rather than 2038 for MLDSA65-ECDSA-P256. It now normalises the component the same way. This is a write-side change only: a composite key carrying a compressed EC component is still decoded, since the component key factories accept either form, and continues to verify signatures as before - it simply re-encodes in the normalised form. The shared normalisation is org.bouncycastle.jcajce.provider.asymmetric.util.ECUtil.getUncompressedSubjectPublicKeyBytes.\u003c/li\u003e\n\u003cli\u003eComposite ML-KEM encapsulation threw a NullPointerException, wrapped in an IllegalStateException out of KeyGenerator.generateKey(), when the SecureRandom it was given was null - which javax.crypto.KEM.newEncapsulator() documents as a request for the provider's default, and which KeyGenerator.init(spec, null) passes straight through. The three RSA-OAEP composites draw the traditional shared secret from that random directly, so they were the ones affected; the ECDH and X25519 / X448 composites escaped only because their component KeyPairGenerators default a random of their own. CompositeMLKEMEngine now defaults one through CryptoServicesRegistrar.getSecureRandom() on first use, as the composite KEM Cipher's wrap path already did, and as the KEM generators corrected earlier in this cycle now do. Related, the engine now also clears the ML-KEM component's shared secret alongside the traditional one on both the encapsulate and decapsulate paths - the copy handed back by getEncoded() was left in the heap - as section 3.5 of draft-ietf-lamps-pq-composite-kem requires.\u003c/li\u003e\n\u003cli\u003eCompositePublicKey.getAlgorithm() and CompositePrivateKey.getAlgorithm() returned null for all twelve Composite ML-KEM (draft-ietf-lamps-pq-composite-kem) parameter sets. Both classes resolved the name through the composite signature index only, which holds the composite ML-DSA OIDs, so a composite KEM key pair - generated, parsed from a certificate, or read from PKCS#8 - reported no algorithm at all, and the standard JCA idiom of reconstructing a key with KeyFactory.getInstance(key.getAlgorithm()) raised a NullPointerException. The lookup now falls back to the composite KEM index, so the name returned is the one the provider registers the algorithm under (e.g. MLKEM768-X25519-SHA3-256), matching the composite ML-DSA behaviour. The same single-index assumption made the CompositePublicKey(SubjectPublicKeyInfo) and CompositePrivateKey(PrivateKeyInfo) constructors reject a composite KEM key with \u0026quot;unable to create CompositePublicKey from SubjectPublicKeyInfo\u0026quot;; they now dispatch to the composite KEM key factory for those OIDs. Keys obtained through KeyFactory or through BouncyCastleProvider.getPublicKey / getPrivateKey were unaffected and are unchanged (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2404\"\u003e#2404\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eThe org.bouncycastle.jcajce.spec.KEMKDFSpec constructor stored a null otherInfo as given, so getOtherInfo() returned null, and three of the KDF branches KdfUtil.makeKeyBytes dispatches to - KMAC-128, KMAC-256 and SHAKE-256 - read the otherInfo length without a guard and threw NullPointerException out of the KEM operation, where the KDF2, KDF3 and HKDF branches tolerate a null through KDFParameters / HKDFParameters. The Builder of every spec in the package already mapped null to empty, so no provider path reached it, but the constructor is protected on a public class and KdfUtil is documented for callers building their own KEM integration; the deprecated KEMParameterSpec passes a null itself and escaped only because it also pins the KDF to null. The constructor now stores empty for a null, so getOtherInfo() never returns null, and a null and an explicitly empty otherInfo derive the same key.\u003c/li\u003e\n\u003cli\u003eQR-UOV signature verification accepted a signature encoding that was not canonical, so the encoding of a signature was not unique even after the trailing-byte fix of github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2403\"\u003e#2403\u003c/a\u003e. Each F_q element of the signature is stored in ceil(log2 q) bits, one more bit pattern than the field has elements: q itself is representable and is arithmetically congruent to zero, so an element written as q verified exactly as the same element written as zero would, and the bits padding the last element out to the byte boundary were never read at all. Every zero element of a signature therefore carried a second encoding, and for the q = 7 parameter sets roughly one element in seven is zero - a single qruov_5_q7_L10 signature measured 256 spare bits, so on the order of 2^256 distinct byte strings verified for the one message and key. Verification now rejects any element outside [0, q) and any set padding bit; a signature produced by this or by the reference implementation is unaffected, as the KAT vectors of every parameter set confirm. (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2403\"\u003e#2403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSNOVA signature verification ignored four bits inside the signature for any parameter set whose solution is an odd number of GF(16) nibbles - the SNOVA_24_5_5, SNOVA_25_8_3, SNOVA_29_6_5 and SNOVA_66_15_3 families, sixteen of the forty-four parameter sets. The last byte of the encoded solution carries a single nibble and the signer leaves the top four bits zero, but the decoder did not read them, so sixteen distinct byte strings verified for one signature. This is the same non-unique encoding github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2403\"\u003e#2403\u003c/a\u003e closed for bytes following the signature, applied inside it; the verifier now requires those bits to be zero. (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2403\"\u003e#2403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSnovaPrivateKeyParameters did not validate the length of the private key encoding handed to it - the only one of the five schemes of github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2403\"\u003e#2403\u003c/a\u003e that did not - and SnovaParameters.getPrivateKeyLength() reported the expanded (\u0026quot;ESK\u0026quot;) length even for a parameter set whose private key is the seed pair. A private key encoding reaches this constructor straight from a PKCS#8 blob, so a wrong length went undetected: a seed-form key with extra bytes appended was accepted and signed under a different derived key, and a short expanded-form key sized the signer's decode buffer negatively, throwing NegativeArraySizeException out of generateSignature() rather than being reported at construction. Related, the signing retry loop could not terminate: the vinegar values are derived from a single-byte counter, so only 256 distinct linear systems can be tried, and an expanded-form private key that is not a real central map is singular for all of them - generateSignature() then span forever rather than failing. The length is now checked at construction, getPrivateKeyLength() reports the length that parameter set's private key actually has, and the retry loop gives up after its 256 attempts as MAYO's does.\u003c/li\u003e\n\u003cli\u003eMayoSigner and MayoKeyPairGenerator did not clear several buffers holding secret key material that the MAYO reference implementation explicitly clears. Signing left the secret oil space O, the expanded L = (P1 + P1^t) * O + P2, and the M / VPV / Ox intermediates of the central map in place, having gone to the trouble of clearing eleven other buffers; key generation left the expanded seed, whose tail is the encoded oil space, and the P1 * O + P2 half of P; and the row-echelon step left the packed echelon form of the secret linear system and its pivot rows. Separately, if all 256 attempts at solving for the signature had given a rank-deficient system, signing emitted a signature built from the failed attempt's state instead of reporting the failure the reference returns, and AIMerSigner.generateSignature returned an empty array on failure, which a caller would hand on as though it were a signature. Both now throw.\u003c/li\u003e\n\u003cli\u003eFive PQC signature schemes - MAYO, SNOVA, QR-UOV, SQIsign and AIMer - returned the NIST crypto_sign \u0026quot;sm\u0026quot; signed-message envelope from generateSignature() rather than the signature. That envelope is an artefact of the reference KAT harness, which records the message alongside the signature so a vector file can be self-contained; it is not part of any of the five specifications, and no other BC signer emits it (Falcon's KAT test rebuilds the equivalent envelope in the test, which is where it belongs). Two consequences followed, both reaching the JCA Signature services of every parameter set of the five schemes in BouncyCastlePQCProvider. First, since the message was appended to the signature, verification had to skip whatever followed the signature proper, and it did so by checking only that the buffer was long enough - so any number of trailing bytes could be added to a valid signature, or the appended message replaced with unrelated data, and it still verified. A signature encoding was therefore not unique: anyone holding one valid signature could produce unlimited distinct byte strings that all verified for the same message and key, which breaks any use that treats the signature bytes as an identifier, deduplicates on them, or records them as evidence. Second, the envelope propagated into everything built on the operator layer: because ContentSigner hands the signature straight into the structure being signed, every X.509 certificate, CRL, CMS SignedData and TLS CertificateVerify BC produced with one of these algorithms carried a verbatim copy of the signed data inside its own signature field - a self-signed MAYO-1 certificate came to 3567 bytes where the same certificate is now 2020 - which no other implementation can parse as a signature, and which in a detached CMS signature meant the \u0026quot;detached\u0026quot; signature carried the content. generateSignature() now returns the bare signature, and verifySignature() requires exactly the parameter set's signature length, so appended or truncated data is rejected rather than ignored. \u003cstrong\u003eThis is a behavioural change for signatures produced by an earlier release\u003c/strong\u003e - MAYO and SNOVA from 1.84, QR-UOV, SQIsign and AIMer from 1.85 - which are no longer accepted in the envelope form they were emitted in; the signature bytes themselves are unchanged, so a stored value can be recovered by taking the leading signature-length bytes, or for AIMer, whose envelope was message || signature rather than signature || message, the trailing ones. The KAT tests now rebuild the envelope before comparing against the vector files, which continue to record it. Note that AIMer's verification had already been made length-exact during this cycle (see the entry below relating to github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2401\"\u003e#2401\u003c/a\u003e), so of the five only its envelope remained (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2403\"\u003e#2403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eThe MLS implementation did not bind an X.509 credential to the LeafNode's signature_key. LeafNode.verify() checked a leaf's signature against the signature_key declared in the leaf itself, while the X.509 credential's certificate chain was stored but never parsed or checked, so the certificate's public key was never required to match signature_key (RFC 9420 sec. 5.3). A leaf could therefore carry one party's certificate while being signed by an unrelated key and still be accepted under that party's identity through KeyPackage.verify() and the Group leaf-validation path. LeafNode.verify() now requires the end-entity certificate's subject public key, in the cipher suite's signature encoding, to equal signature_key for an X.509 credential, and rejects the leaf otherwise - including an empty chain or a certificate whose key type does not match the cipher suite; certificate-chain and identity validation to a trust anchor remain the application's responsibility per RFC 9420 sec. 5.3.1. A public org.bouncycastle.mls.codec.Certificate(byte[]) constructor and a Credential.getCertificates() accessor are added so callers can build and inspect X.509 credentials. Basic credentials are unaffected.\u003c/li\u003e\n\u003cli\u003eThe SecureRandom supplied to org.bouncycastle.cms.jcajce.JceCMSContentEncryptorBuilder.setSecureRandom() did not drive the content IV / nonce for any algorithm other than RC2. EnvelopedDataHelper.generateParameters passed the caller's SecureRandom to the AlgorithmParameterGenerator only in the RC2_CBC branch; every other content-encryption algorithm - AES-CBC, AES-GCM, AES-CCM, Camellia, ARIA, SEED and the rest - reached pGen.generateParameters() on an uninitialised generator, so the IV / nonce was drawn from a default SecureRandom and setSecureRandom() was silently ignored (the builder's javadoc states that random is used for IV/nonce generation). The generator is now initialised with the supplied random on the general path as well, so a caller who provides a specific randomness source - for a controlled or FIPS-approved DRBG, say - has it honoured for the content IV / nonce. The session-key generation path was unaffected and already used the supplied random. Because the content IV / nonce now comes from the supplied SecureRandom, the org.bouncycastle.crypto.util JournalingSecureRandom / JournaledAlgorithm reproducible-encryption support records it in the transcript: a resumed session reproduces the IV / nonce by regenerating it from the replayed randomness - build the resuming encryptor from the content-algorithm OID - rather than by reusing the AlgorithmIdentifier captured from the first encryption, which no longer keeps the transcript aligned.\u003c/li\u003e\n\u003cli\u003eThe NTRU LPRime, NTRU+ and SMAUG-T KEM generators threw a NullPointerException when constructed with a null SecureRandom, where every other KEM generator - including NTRU LPRime's own SNTRU Prime counterpart in the same package - defaults one through CryptoServicesRegistrar.getSecureRandom(). This is reachable from the lightweight API directly, and from javax.crypto.KEM, whose newEncapsulator() documents a null random as a request for the provider's default.\u003c/li\u003e\n\u003cli\u003eFrodoKEMEngine kept a single SHAKE instance in a field, so an engine reached concurrently produced wrong results. It is reached that way through org.bouncycastle.crypto.kems.FrodoKEMExtractor, which holds one engine for its lifetime: two threads extracting through one extractor interleaved the digest's absorb and squeeze phases, yielding shared secrets that silently did not match the sender's, or an IllegalStateException of \u0026quot;attempt to absorb while squeezing\u0026quot; from inside extractSecret. The digest is now built per call, as CMCEEngine's already was, which makes an extractor safe to share. Encapsulation was unaffected, since FrodoKEMGenerator builds an engine per call. Results for any single-threaded use are unchanged - the reference KAT vectors are byte-identical.\u003c/li\u003e\n\u003cli\u003eThe BCJSSE provider carried the TLS 1.2 coupling between the supported_groups extension and ECDSA over into TLS 1.3: an ECDSA signature scheme was treated as usable - offered in the signature_algorithms and signature_algorithms_cert extensions, and eligible when selecting the local credentials - only while the corresponding curve was among the named groups enabled for key exchange, both per context (a group unavailable for key agreement disabled the scheme outright) and per connection (the curve had to be in the supported_groups list about to be sent). RFC 8446 sec. 4.2.7 scopes supported_groups to key exchange only, with signature algorithms negotiated independently (sec. 4.2.3), so this incorrect restriction in TLS 1.3 has been removed. Ed25519, Ed448 and the RSA schemes were unaffected (as well as typical deployments using a default configuration for named groups).\u003c/li\u003e\n\u003cli\u003eThe bcmail module descriptor did not declare its javax.mail/javax.activation dependences, so a modular (module-path) consumer of the jar hit IllegalAccessError/module-resolution failures when the S/MIME classes touched the mail API. The descriptor now requires them optionally (requires static) under all four module names those libraries are known by - the automatic names mail and activation carried by the javax.mail:mail / javax.activation:activation artif...\n\n_Description has been truncated_","html_url":"https://github.com/diam5752/Subs_And_Export/pull/437","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/diam5752%2FSubs_And_Export/issues/437","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/437/packages"}},{"old_version":"1.4.2","new_version":"1.5.0","update_type":"minor","path":null,"pr_created_at":"2026-08-31T00:20:10.000Z","version_change":"1.4.2 → 1.5.0","issue":{"uuid":"5295163674","node_id":"PR_kwDOT5EO0c8AAAABBibn9g","number":4,"state":"closed","title":"build(deps): bump the gradle-dependencies group across 1 directory with 9 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-05T04:35:55.000Z","author_association":null,"state_reason":null,"created_at":"2026-08-31T00:20:10.000Z","updated_at":"2026-09-05T04:35:57.000Z","time_to_close":447345,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"gradle-dependencies","update_count":9,"packages":[{"name":"org.springframework.modulith:spring-modulith-bom","old_version":"2.1.0","new_version":"2.1.1","repository_url":"https://github.com/spring-projects/spring-modulith"},{"name":"org.bouncycastle:bcprov-jdk18on","old_version":"1.81","new_version":"1.85.2","repository_url":"https://github.com/bcgit/bc-java"},{"name":"com.resend:resend-java","old_version":"v4.15.0","new_version":"v4.18.0","repository_url":"https://github.com/resendlabs/resend-java"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"3.0.2","new_version":"3.1.0","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.4.2","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"org.springframework.boot","old_version":"4.0.6","new_version":"4.1.1","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"com.diffplug.spotless","old_version":"8.6.0","new_version":"8.10.1"},{"name":"org.sonarqube","old_version":"7.2.3.7755","new_version":"7.4.0.8496"},{"name":"gradle-wrapper","old_version":"9.5.1","new_version":"9.7.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.springframework.modulith:spring-modulith-bom](https://github.com/spring-projects/spring-modulith) | `2.1.0` | `2.1.1` |\n| [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) | `1.81` | `1.85.2` |\n| [com.resend:resend-java](https://github.com/resendlabs/resend-java) | `v4.15.0` | `v4.18.0` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `3.0.2` | `3.1.0` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.4.2` | `1.5.0` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.6` | `4.1.1` |\n| com.diffplug.spotless | `8.6.0` | `8.10.1` |\n| org.sonarqube | `7.2.3.7755` | `7.4.0.8496` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.5.1` | `9.7.1` |\n\n\nUpdates `org.springframework.modulith:spring-modulith-bom` from 2.1.0 to 2.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-modulith/releases\"\u003eorg.springframework.modulith:spring-modulith-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.1.1\u003c/h2\u003e\n\u003ch2\u003e:bulb: Improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse Namastack version property in \u003ccode\u003espring-modulith-events-core\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1807\"\u003e#1807\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:beetle: Bugs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEvent externalization throws \u003ccode\u003eClassCastException\u003c/code\u003e with event listener using \u003ccode\u003eApplicationListener.forPayload(…)\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1832\"\u003e#1832\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRabbitJackson2Configuration and RabbitJacksonConfiguration conflict when Jackson 2.x is on classpath (e.g. Eureka Client) \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1830\"\u003e#1830\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAmbiguous violation message when referring to a non-exposed type in a module generally available for access \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1827\"\u003e#1827\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConcurrentModificationException in TestExecutionCondition when running tests with JUnit parallel class execution \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1824\"\u003e#1824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in \u003ccode\u003espring.modulith.events.staleness.check-interval\u003c/code\u003e configuration property \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1822\"\u003e#1822\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePotential \u003ccode\u003eNullPointerException\u003c/code\u003e in \u003ccode\u003eFormattableType.of(…)\u003c/code\u003e for wildcard types \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1806\"\u003e#1806\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Testcontainers setup to ensure fresh containers for SQL databases \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1802\"\u003e#1802\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMongoDB event publication tests use default localhost connection instead of Testcontainers \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1755\"\u003e#1755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnbounded wildcard / type-variable generic parameters break \u003ccode\u003eFormattableType\u003c/code\u003e (NPE in \u003ccode\u003eDefaultObservedModule.render\u003c/code\u003e) \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1754\"\u003e#1754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRoot module Flyway migrations are not executed during a test \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1753\"\u003e#1753\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 Spring Boot 4.1.1 \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1820\"\u003e#1820\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Namastack Outbox 1.7.3 \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1796\"\u003e#1796\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1814\"\u003e#1814\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Spring Framework 7.0.9 \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1813\"\u003e#1813\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Micrometer Tracing 1.7.1 \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1812\"\u003e#1812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to jGit 7.7.1.202607240634-r \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1797\"\u003e#1797\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/arendomoda\"\u003e\u003ccode\u003e@​arendomoda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arimu1\"\u003e\u003ccode\u003e@​arimu1\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/char-yb\"\u003e\u003ccode\u003e@​char-yb\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/DragonFSKY\"\u003e\u003ccode\u003e@​DragonFSKY\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Hashim1999164\"\u003e\u003ccode\u003e@​Hashim1999164\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/kalayciburak\"\u003e\u003ccode\u003e@​kalayciburak\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/seonwooj0810\"\u003e\u003ccode\u003e@​seonwooj0810\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/spring-projects/spring-modulith/commit/83ce54cfc5229f9fe748afc332d8c728ecd0b81c\"\u003e\u003ccode\u003e83ce54c\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1833\"\u003eGH-1833\u003c/a\u003e - Release version 2.1.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/ef8d256c7970b50e98438f6016b573433958eba9\"\u003e\u003ccode\u003eef8d256\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1832\"\u003eGH-1832\u003c/a\u003e - Polishing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/51e2cc4b00e2a369a6b7f882f1764b3a2cb14d19\"\u003e\u003ccode\u003e51e2cc4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1832\"\u003eGH-1832\u003c/a\u003e - Invoke listeners through SimpleApplicationEventMulticaster.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/3066000f64b78485569103826fe73a92175958e5\"\u003e\u003ccode\u003e3066000\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1830\"\u003eGH-1830\u003c/a\u003e - Polishing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/8127446a79ae94ceed65e0cf89cad499aca874fd\"\u003e\u003ccode\u003e8127446\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1830\"\u003eGH-1830\u003c/a\u003e - Resolve Rabbit Jackson configuration conflict.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/2bdcdc312c5d45e1b18a3778eec7698e653eb06c\"\u003e\u003ccode\u003e2bdcdc3\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1827\"\u003eGH-1827\u003c/a\u003e - Polishing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/f93a92832d589b2c6c59e0f9d0540bbb67f6c3d0\"\u003e\u003ccode\u003ef93a928\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1827\"\u003eGH-1827\u003c/a\u003e - Clarify violation for non-exposed types in allowed modules.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/dacf640cc72de00f5ef72e70dd9fd0738cea8a70\"\u003e\u003ccode\u003edacf640\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1824\"\u003eGH-1824\u003c/a\u003e - Use ConcurrentHashMap for the module dependency cache.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/6827fd5563f65964dbd3b0f6cfd033ae50aba432\"\u003e\u003ccode\u003e6827fd5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1822\"\u003eGH-1822\u003c/a\u003e - Polishing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/ccd78daa4606f50ed724ce76fbba6592941a1f06\"\u003e\u003ccode\u003eccd78da\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1822\"\u003eGH-1822\u003c/a\u003e - Fix typo in staleness check-interval property\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-modulith/compare/2.1.0...2.1.1\"\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.81 to 1.85.2\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.md\"\u003eorg.bouncycastle:bcprov-jdk18on's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eBouncy Castle Crypto Package - Release Notes\u003c/h1\u003e\n\u003ch2\u003e1.0 Introduction\u003c/h2\u003e\n\u003cp\u003eThe Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. The package is organised so that it contains a light-weight API suitable for use in any environment (including the J2ME) with the additional infrastructure to conform the algorithms to the JCE framework.\u003c/p\u003e\n\u003ch2\u003e2.0 Release History\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003e2.1.1 Version\u003c/h3\u003e\n\u003cp\u003eRelease: 1.86\u003cbr /\u003e\nDate: 2026, TBD\u003c/p\u003e\n\u003ch3\u003e2.1.2 Defects Fixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe high-level OpenPGP API (org.bouncycastle.openpgp.api) let a subkey inherit the primary key's Key Flags when its own Subkey Binding signature carried no Key Flags subpacket, which made the two capability decisions taken for one subkey disagree. OpenPGPCertificate.OpenPGPComponentKey.isSigningKey() reads the effective flags, which fell back to the primary key's direct-key or primary user ID self-signature, so a subkey bound with no flags of its own counted as signing-capable; verifyEmbeddedPrimaryKeyBinding reads the binding signature's own flags, found no signing capability there, and so skipped the embedded Primary Key Binding (cross-certification) signature that RFC 9580 sec. 5.2.1.8 and sec. 10.1.3 require of a subkey that can issue signatures. A data signature made by such a subkey was therefore attributed to the certificate and reported valid by OpenPGPSignature.OpenPGPDocumentSignature.isValid() with the cross-certification requirement never applied, where GnuPG refuses the same certificate and message as not cross-certified. An attacker holding a third party's public signing subkey - which is public material - could bind it to their own primary key with a Subkey Binding signature they are able to make, carrying no Key Flags and no embedded Primary Key Binding signature, which they cannot make without the subkey's private key, and have that party's genuine signatures verify as valid under the attacker's own identity: misattribution of a real signature rather than a forgery of a new one, since the signature still has to be one the subkey actually made. Key Flags are a statement about the key the carrying signature refers to (RFC 9580 sec. 5.2.3.29), so a subkey no longer inherits them from the certificate-wide signatures of the primary key: a Subkey Binding signature that omits the subpacket now leaves the subkey with no capabilities rather than the primary's, which makes the flags the cross-certification check consults the same flags every other decision consults. Preferences and the other subpackets a direct-key signature carries are inherited as before, and the primary key itself - whose flags legitimately come from its direct-key or user ID self-signature - is unaffected. The low-level PGPSignature / PGPPublicKeyRing API performs no binding checks by design and is unchanged.\u003c/li\u003e\n\u003cli\u003eNeither the HSS nor the XMSS^MT private key decoder checked its declared index against the traversal state stored beside it, although the two are independent records of the same position in the key and so can be compared. For HSS the records are the top-level index and the component keys' one-time indices q; for XMSS^MT they are the global index and the per-layer BDS states. A stored key whose index had been rolled back while its state stayed advanced - a partial write, a restore from backup, a buggy storage layer - was therefore accepted, and it then signed a second message under a one-time key the key had already used, producing a signature that verified, so nothing anywhere surfaced the reuse. RFC 8554 sec. 1 and RFC 8391 sec. 1.1 both require each one-time key to be used exactly once, and this is the failure those requirements exist to prevent; the single-tree XMSS decoder has tied its BDS state to its index since that state was first validated, and this brings the two multi-tree schemes into line. HSS decode now requires the declared index to equal the position the component q values imply - a level above the last contributes (q - 1) leaves of the levels beneath it, since its q has already advanced past the subtree it signed - and XMSS^MT decode now requires each present layer's BDS index to equal the leaf index that layer derives from the global index, allowing the one position where a layer has moved into a new subtree and its state legitimately still carries the previous subtree's final index. A layer with no state yet is unaffected, since those are built lazily at signing time. Related, and the same shape of omission: an XMSS or XMSS^MT private key encoding carries the tree root twice - the key's own root field and the root node of the BDS state stored beside it, which for XMSS^MT is the top layer's - and the two were never compared either. A corrupted root was accepted and then poisoned every signature the key made, because the root is hashed into the message digest: the signature did not verify and nothing indicated why. Decode now requires the two copies to agree. The BDS node values themselves are not checkable the way the LMS tree cache above is - a BDS authentication path, stack, retain or keep node does not have its children stored alongside it, so recomputing one means building a subtree, which is the work the state exists to avoid. Both checks are integer comparisons over the levels of the key, too small to measure against the surrounding decode, and both were verified not to reject any legitimate key by walking every index a key can reach: the full key space of the two-level HSS and the h=4/d=2, h=6/d=2, h=6/d=3, h=9/d=3 and h=8/d=4 XMSS^MT parameter sets, plus a three-level HSS key across a subtree boundary and an HSS shard. Since those node values cannot be recomputed, the encoded state now carries a checksum over itself instead, with the owning key's public seed hashed in front of it. Any corruption of the stored state is refused at decode rather than being loaded and then producing signatures that silently do not verify, and because the public seed is bound in, a state transplanted between two keys of the same parameter set is refused too, even though it is internally consistent and arrives with its own matching root. The public seed is bound rather than the secret seed or the PRF key deliberately: the state's own root and index are inside the encoding and so are already covered, hashing secret material would make the stored checksum a commitment to it for no gain in detection, and the PRF key does not influence the state at all. \u003cstrong\u003eThis is an error-detecting code and not integrity protection\u003c/strong\u003e - anyone able to rewrite the stored key recomputes it, so it establishes that the state is unchanged since it was written, never that it was correct when written, and the allocation bounds on the encoding remain the guard against a crafted one. It costs one SHA-256 over the state, measured at 5 to 8 microseconds each way for the h=10 and h=16 parameter sets, and 32 bytes of encoding. The state encoding was added earlier in this same cycle and has not been released, so the checksum is simply part of it rather than a new version: a state written by a 1.86 beta is rejected, which is recovered from by re-exporting the key. The deprecated org.bouncycastle.pqc.crypto.lms copy carries the HSS check as well (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2414\"\u003e#2414\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eThe S/MIME example smoke test in the misc module (org.bouncycastle.mail.smime.examples.test.AllTests) drove SendSignedAndEncryptedMail against smtp.gmail.com, and that example finishes with Transport.send() under JavaMail's default settings, which have no connect timeout. Where outbound port 25 is refused the failure was swallowed and the test passed; where it is silently dropped, as on many home networks, the connect blocked and ./gradlew build hung in :misc:test indefinitely with \u0026quot;0 tests completed\u0026quot;. The test now delivers to an SMTP stub on a loopback port, with connect / read / write timeouts as a backstop, and asserts the message arrived (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2407\"\u003e#2407\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eComposite ML-KEM encapsulation took the traditional component public key bytes it feeds the KEM combiner from the recipient key's own encoding, while decapsulation recomputes the point from the private key and so always produced an uncompressed one. Section 4 of draft-ietf-lamps-pq-composite-kem requires an EC component to be carried as an uncompressed point, but a component key that encodes itself compressed - a BC EC key whose point format has been set through org.bouncycastle.jce.interfaces.ECPointEncoder, or a key from a provider that preserves a compressed encoding - was passed through as it came. Both sides then combined a different tradPK and derived different shared secrets, with no error reported on either: encapsulation and decapsulation both succeeded and the recipient simply could not decrypt. The EC component is now normalised to an uncompressed point wherever the engine serialises one, which covers the ephemeral key that forms the ciphertext as well. X25519 and X448 components have a single encoding and were unaffected, as were EC keys left in their default (uncompressed) format, whose shared secrets are unchanged. CompositePublicKey.getEncoded() took its component bytes the same way, so such a key also encoded to a composite key other implementations reject and whose bytes changed across an encode / decode / encode round trip - 1238 bytes rather than 1270 for MLKEM768-ECDH-P256, and for the composite ML-DSA keys sharing that method, 2006 rather than 2038 for MLDSA65-ECDSA-P256. It now normalises the component the same way. This is a write-side change only: a composite key carrying a compressed EC component is still decoded, since the component key factories accept either form, and continues to verify signatures as before - it simply re-encodes in the normalised form. The shared normalisation is org.bouncycastle.jcajce.provider.asymmetric.util.ECUtil.getUncompressedSubjectPublicKeyBytes.\u003c/li\u003e\n\u003cli\u003eComposite ML-KEM encapsulation threw a NullPointerException, wrapped in an IllegalStateException out of KeyGenerator.generateKey(), when the SecureRandom it was given was null - which javax.crypto.KEM.newEncapsulator() documents as a request for the provider's default, and which KeyGenerator.init(spec, null) passes straight through. The three RSA-OAEP composites draw the traditional shared secret from that random directly, so they were the ones affected; the ECDH and X25519 / X448 composites escaped only because their component KeyPairGenerators default a random of their own. CompositeMLKEMEngine now defaults one through CryptoServicesRegistrar.getSecureRandom() on first use, as the composite KEM Cipher's wrap path already did, and as the KEM generators corrected earlier in this cycle now do. Related, the engine now also clears the ML-KEM component's shared secret alongside the traditional one on both the encapsulate and decapsulate paths - the copy handed back by getEncoded() was left in the heap - as section 3.5 of draft-ietf-lamps-pq-composite-kem requires.\u003c/li\u003e\n\u003cli\u003eCompositePublicKey.getAlgorithm() and CompositePrivateKey.getAlgorithm() returned null for all twelve Composite ML-KEM (draft-ietf-lamps-pq-composite-kem) parameter sets. Both classes resolved the name through the composite signature index only, which holds the composite ML-DSA OIDs, so a composite KEM key pair - generated, parsed from a certificate, or read from PKCS#8 - reported no algorithm at all, and the standard JCA idiom of reconstructing a key with KeyFactory.getInstance(key.getAlgorithm()) raised a NullPointerException. The lookup now falls back to the composite KEM index, so the name returned is the one the provider registers the algorithm under (e.g. MLKEM768-X25519-SHA3-256), matching the composite ML-DSA behaviour. The same single-index assumption made the CompositePublicKey(SubjectPublicKeyInfo) and CompositePrivateKey(PrivateKeyInfo) constructors reject a composite KEM key with \u0026quot;unable to create CompositePublicKey from SubjectPublicKeyInfo\u0026quot;; they now dispatch to the composite KEM key factory for those OIDs. Keys obtained through KeyFactory or through BouncyCastleProvider.getPublicKey / getPrivateKey were unaffected and are unchanged (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2404\"\u003e#2404\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eThe org.bouncycastle.jcajce.spec.KEMKDFSpec constructor stored a null otherInfo as given, so getOtherInfo() returned null, and three of the KDF branches KdfUtil.makeKeyBytes dispatches to - KMAC-128, KMAC-256 and SHAKE-256 - read the otherInfo length without a guard and threw NullPointerException out of the KEM operation, where the KDF2, KDF3 and HKDF branches tolerate a null through KDFParameters / HKDFParameters. The Builder of every spec in the package already mapped null to empty, so no provider path reached it, but the constructor is protected on a public class and KdfUtil is documented for callers building their own KEM integration; the deprecated KEMParameterSpec passes a null itself and escaped only because it also pins the KDF to null. The constructor now stores empty for a null, so getOtherInfo() never returns null, and a null and an explicitly empty otherInfo derive the same key.\u003c/li\u003e\n\u003cli\u003eQR-UOV signature verification accepted a signature encoding that was not canonical, so the encoding of a signature was not unique even after the trailing-byte fix of github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2403\"\u003e#2403\u003c/a\u003e. Each F_q element of the signature is stored in ceil(log2 q) bits, one more bit pattern than the field has elements: q itself is representable and is arithmetically congruent to zero, so an element written as q verified exactly as the same element written as zero would, and the bits padding the last element out to the byte boundary were never read at all. Every zero element of a signature therefore carried a second encoding, and for the q = 7 parameter sets roughly one element in seven is zero - a single qruov_5_q7_L10 signature measured 256 spare bits, so on the order of 2^256 distinct byte strings verified for the one message and key. Verification now rejects any element outside [0, q) and any set padding bit; a signature produced by this or by the reference implementation is unaffected, as the KAT vectors of every parameter set confirm. (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2403\"\u003e#2403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSNOVA signature verification ignored four bits inside the signature for any parameter set whose solution is an odd number of GF(16) nibbles - the SNOVA_24_5_5, SNOVA_25_8_3, SNOVA_29_6_5 and SNOVA_66_15_3 families, sixteen of the forty-four parameter sets. The last byte of the encoded solution carries a single nibble and the signer leaves the top four bits zero, but the decoder did not read them, so sixteen distinct byte strings verified for one signature. This is the same non-unique encoding github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2403\"\u003e#2403\u003c/a\u003e closed for bytes following the signature, applied inside it; the verifier now requires those bits to be zero. (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2403\"\u003e#2403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSnovaPrivateKeyParameters did not validate the length of the private key encoding handed to it - the only one of the five schemes of github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2403\"\u003e#2403\u003c/a\u003e that did not - and SnovaParameters.getPrivateKeyLength() reported the expanded (\u0026quot;ESK\u0026quot;) length even for a parameter set whose private key is the seed pair. A private key encoding reaches this constructor straight from a PKCS#8 blob, so a wrong length went undetected: a seed-form key with extra bytes appended was accepted and signed under a different derived key, and a short expanded-form key sized the signer's decode buffer negatively, throwing NegativeArraySizeException out of generateSignature() rather than being reported at construction. Related, the signing retry loop could not terminate: the vinegar values are derived from a single-byte counter, so only 256 distinct linear systems can be tried, and an expanded-form private key that is not a real central map is singular for all of them - generateSignature() then span forever rather than failing. The length is now checked at construction, getPrivateKeyLength() reports the length that parameter set's private key actually has, and the retry loop gives up after its 256 attempts as MAYO's does.\u003c/li\u003e\n\u003cli\u003eMayoSigner and MayoKeyPairGenerator did not clear several buffers holding secret key material that the MAYO reference implementation explicitly clears. Signing left the secret oil space O, the expanded L = (P1 + P1^t) * O + P2, and the M / VPV / Ox intermediates of the central map in place, having gone to the trouble of clearing eleven other buffers; key generation left the expanded seed, whose tail is the encoded oil space, and the P1 * O + P2 half of P; and the row-echelon step left the packed echelon form of the secret linear system and its pivot rows. Separately, if all 256 attempts at solving for the signature had given a rank-deficient system, signing emitted a signature built from the failed attempt's state instead of reporting the failure the reference returns, and AIMerSigner.generateSignature returned an empty array on failure, which a caller would hand on as though it were a signature. Both now throw.\u003c/li\u003e\n\u003cli\u003eFive PQC signature schemes - MAYO, SNOVA, QR-UOV, SQIsign and AIMer - returned the NIST crypto_sign \u0026quot;sm\u0026quot; signed-message envelope from generateSignature() rather than the signature. That envelope is an artefact of the reference KAT harness, which records the message alongside the signature so a vector file can be self-contained; it is not part of any of the five specifications, and no other BC signer emits it (Falcon's KAT test rebuilds the equivalent envelope in the test, which is where it belongs). Two consequences followed, both reaching the JCA Signature services of every parameter set of the five schemes in BouncyCastlePQCProvider. First, since the message was appended to the signature, verification had to skip whatever followed the signature proper, and it did so by checking only that the buffer was long enough - so any number of trailing bytes could be added to a valid signature, or the appended message replaced with unrelated data, and it still verified. A signature encoding was therefore not unique: anyone holding one valid signature could produce unlimited distinct byte strings that all verified for the same message and key, which breaks any use that treats the signature bytes as an identifier, deduplicates on them, or records them as evidence. Second, the envelope propagated into everything built on the operator layer: because ContentSigner hands the signature straight into the structure being signed, every X.509 certificate, CRL, CMS SignedData and TLS CertificateVerify BC produced with one of these algorithms carried a verbatim copy of the signed data inside its own signature field - a self-signed MAYO-1 certificate came to 3567 bytes where the same certificate is now 2020 - which no other implementation can parse as a signature, and which in a detached CMS signature meant the \u0026quot;detached\u0026quot; signature carried the content. generateSignature() now returns the bare signature, and verifySignature() requires exactly the parameter set's signature length, so appended or truncated data is rejected rather than ignored. \u003cstrong\u003eThis is a behavioural change for signatures produced by an earlier release\u003c/strong\u003e - MAYO and SNOVA from 1.84, QR-UOV, SQIsign and AIMer from 1.85 - which are no longer accepted in the envelope form they were emitted in; the signature bytes themselves are unchanged, so a stored value can be recovered by taking the leading signature-length bytes, or for AIMer, whose envelope was message || signature rather than signature || message, the trailing ones. The KAT tests now rebuild the envelope before comparing against the vector files, which continue to record it. Note that AIMer's verification had already been made length-exact during this cycle (see the entry below relating to github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2401\"\u003e#2401\u003c/a\u003e), so of the five only its envelope remained (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2403\"\u003e#2403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eThe MLS implementation did not bind an X.509 credential to the LeafNode's signature_key. LeafNode.verify() checked a leaf's signature against the signature_key declared in the leaf itself, while the X.509 credential's certificate chain was stored but never parsed or checked, so the certificate's public key was never required to match signature_key (RFC 9420 sec. 5.3). A leaf could therefore carry one party's certificate while being signed by an unrelated key and still be accepted under that party's identity through KeyPackage.verify() and the Group leaf-validation path. LeafNode.verify() now requires the end-entity certificate's subject public key, in the cipher suite's signature encoding, to equal signature_key for an X.509 credential, and rejects the leaf otherwise - including an empty chain or a certificate whose key type does not match the cipher suite; certificate-chain and identity validation to a trust anchor remain the application's responsibility per RFC 9420 sec. 5.3.1. A public org.bouncycastle.mls.codec.Certificate(byte[]) constructor and a Credential.getCertificates() accessor are added so callers can build and inspect X.509 credentials. Basic credentials are unaffected.\u003c/li\u003e\n\u003cli\u003eThe SecureRandom supplied to org.bouncycastle.cms.jcajce.JceCMSContentEncryptorBuilder.setSecureRandom() did not drive the content IV / nonce for any algorithm other than RC2. EnvelopedDataHelper.generateParameters passed the caller's SecureRandom to the AlgorithmParameterGenerator only in the RC2_CBC branch; every other content-encryption algorithm - AES-CBC, AES-GCM, AES-CCM, Camellia, ARIA, SEED and the rest - reached pGen.generateParameters() on an uninitialised generator, so the IV / nonce was drawn from a default SecureRandom and setSecureRandom() was silently ignored (the builder's javadoc states that random is used for IV/nonce generation). The generator is now initialised with the supplied random on the general path as well, so a caller who provides a specific randomness source - for a controlled or FIPS-approved DRBG, say - has it honoured for the content IV / nonce. The session-key generation path was unaffected and already used the supplied random. Because the content IV / nonce now comes from the supplied SecureRandom, the org.bouncycastle.crypto.util JournalingSecureRandom / JournaledAlgorithm reproducible-encryption support records it in the transcript: a resumed session reproduces the IV / nonce by regenerating it from the replayed randomness - build the resuming encryptor from the content-algorithm OID - rather than by reusing the AlgorithmIdentifier captured from the first encryption, which no longer keeps the transcript aligned.\u003c/li\u003e\n\u003cli\u003eThe NTRU LPRime, NTRU+ and SMAUG-T KEM generators threw a NullPointerException when constructed with a null SecureRandom, where every other KEM generator - including NTRU LPRime's own SNTRU Prime counterpart in the same package - defaults one through CryptoServicesRegistrar.getSecureRandom(). This is reachable from the lightweight API directly, and from javax.crypto.KEM, whose newEncapsulator() documents a null random as a request for the provider's default.\u003c/li\u003e\n\u003cli\u003eFrodoKEMEngine kept a single SHAKE instance in a field, so an engine reached concurrently produced wrong results. It is reached that way through org.bouncycastle.crypto.kems.FrodoKEMExtractor, which holds one engine for its lifetime: two threads extracting through one extractor interleaved the digest's absorb and squeeze phases, yielding shared secrets that silently did not match the sender's, or an IllegalStateException of \u0026quot;attempt to absorb while squeezing\u0026quot; from inside extractSecret. The digest is now built per call, as CMCEEngine's already was, which makes an extractor safe to share. Encapsulation was unaffected, since FrodoKEMGenerator builds an engine per call. Results for any single-threaded use are unchanged - the reference KAT vectors are byte-identical.\u003c/li\u003e\n\u003cli\u003eThe BCJSSE provider carried the TLS 1.2 coupling between the supported_groups extension and ECDSA over into TLS 1.3: an ECDSA signature scheme was treated as usable - offered in the signature_algorithms and signature_algorithms_cert extensions, and eligible when selecting the local credentials - only while the corresponding curve was among the named groups enabled for key exchange, both per context (a group unavailable for key agreement disabled the scheme outright) and per connection (the curve had to be in the supported_groups list about to be sent). RFC 8446 sec. 4.2.7 scopes supported_groups to key exchange only, with signature algorithms negotiated independently (sec. 4.2.3), so this incorrect restriction in TLS 1.3 has been removed. Ed25519, Ed448 and the RSA schemes were unaffected (as well as typical deployments using a default configuration for named groups).\u003c/li\u003e\n\u003cli\u003eThe bcmail module descriptor did not declare its javax.mail/javax.activation dependences, so a modular (module-path) consumer of the jar hit IllegalAccessError/module-resolution failures when the S/MIME classes touched the mail API. The descriptor now requires them optionally (requires static) under all four module names those libraries are known by - the automatic names mail and activation carried by the javax.mail:mail / javax.activation:activation artifacts, and the explicit names java.mail and java.activation carried by the newer com.sun.mail / com.sun.activation ones - a hard requires on any one name would break users of the others (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2389\"\u003e#2389\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFour type-coercion helpers in the OER / IEEE 1609.2 (ITS) decoder tested the wrong type in the identity fast path that lets a getInstance() factory return an argument that is already of the target type. org.bouncycastle.oer.its.ieee1609dot2.basetypes.UINT32.getInstance and org.bouncycastle.oer.its.etsi102941.basetypes.Version.getInstance guarded on UINT8 - a sibling of UINT32 under UintBase, and unrelated to Version - so passing a UINT8 threw ClassCastException, while passing an actual UINT32 or Version missed the fast path and fell through to ASN1Integer.getInstance, which rejects them: neither factory accepted its own type. org.bouncycastle.oer.its.etsi103097.EtsiTs103097DataEncryptedUnicast.getInstance guarded on its sibling EtsiTs103097DataEncrypted and then cast to the unicast type, so an EtsiTs103097DataEncrypted threw ClassCastException. org.bouncycastle.oer.OEROptional.getObject(Class) called value.getClass().isInstance(type) with the arguments transposed, which is always false because the argument is a java.lang.Class, so the cast path was dead and every optional field was resolved reflectively, failing with IllegalStateException for a target type with no static getInstance. Each guard now names the type it returns, matching the sibling UINT8 / UINT16 / UINT64 and EtsiTs103097DataEncrypted factories (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2373\"\u003e#2373\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDefaultAlgorithmNameFinder and DefaultSignatureNameFinder had no entries at all for the ShangMi algorithms, so an SM2 signature AlgorithmIdentifier that DefaultSignatureAlgorithmIdentifierFinder itself produces came back named only by its OID string - getAlgorithmName(GMObjectIdentifiers.sm2sign_with_sm3) returned \u0026quot;1.2.156.10197.1.501\u0026quot; and hasAlgorithmName returned false. Both finders now name sm2sign_with_sm3 as SM3WITHSM2 and sm2sign_with_sha256 as SHA256WITHSM2, and DefaultAlgorithmNameFinder additionally names the sm3 digest. All three resolve through the BC provider, as Signature and MessageDigest respectively. The remaining GM arc - the SM4 cipher modes, the sm2encrypt variants, and the SM1 / SM6 / SSF33 ciphers BC does not implement - is still unnamed (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2377\"\u003e#2377\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eThe RFC 4998 evidence-record classes compared the digest AlgorithmIdentifier named by a time-stamp authority with the one their own DigestCalculator uses, and did so with AlgorithmIdentifier.equals(), which compares the encodings. A TSA that names SHA-256 with an explicit NULL parameters field - DigiCert among them - therefore failed against BC's own calculator, which names it with the parameters absent, and ERSArchiveTimeStampGenerator.generateArchiveTimeStamp rejected the response with \u0026quot;time stamp imprint for wrong algorithm\u0026quot;. Both spellings name the same digest and RFC 5754 sec. 2 requires a receiver to accept either, while requiring that identifiers be generated with the parameters absent, which BC already does. The three affected comparisons - the two in ERSArchiveTimeStampGenerator and the digest check in ERSEvidenceRecord.renew - now use the new AlgorithmIdentifier.areEquivalent, which matches on the algorithm and treats an absent parameters field and NULL as the same, and the consistency check across an evidence record's archive time stamp chain uses it too. An identifier carrying an actual parameter structure is never equivalent to one carrying none (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2379\"\u003e#2379\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eEDIPartyName.toASN1Primitive emitted the nameAssigner and partyName DirectoryStrings without their context tags, so an EDIPartyName built through its public constructor could not be parsed back by EDIPartyName.getInstance, which correctly requires them. RFC 5280 sec. 4.2.1.6 tags both members [0] and [1], and those tags are explicit despite the module's IMPLICIT TAGS because DirectoryString is a CHOICE, which X.680 does not allow to be tagged implicitly - the decoder already had this right. The encoder now matches it. Note the type was added during the 1.85 cycle and GeneralName validates its ediPartyName alternative through it, so a GeneralName carrying an untagged ediPartyName - including one BC itself produced - is rejected where 1.84 passed it through unexamined; the untagged form is not read leniently (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2380\"\u003e#2380\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRSASSA-PSS could not be used with a RIPEMD digest through the JCA API. Nothing registered the RIPEMD PSS signatures, so Signature.getInstance(\u0026quot;RIPEMD160WITHRSAANDMGF1\u0026quot;) raised NoSuchAlgorithmException, and the generic RSASSA-PSS route with an explicit PSSParameterSpec failed too: org.bouncycastle.jcajce.provider.util.DigestFactory.getDigest returned null for a RIPEMD name, and isSameDigest - an allow-list of the SHA families and MD5 - reported two identical RIPEMD names as different digests, so the spec was rejected with \u0026quot;digest algorithm for MGF should be the same as for PSS parameters\u0026quot;. isSameDigest now answers true for equal names whatever the digest, which also covers Whirlpool, SM3, GOST3411 and anything else outside that allow-list; DigestFactory recognises RIPEMD128, RIPEMD160 and RIPEMD256 by name and OID; the three PSS signatures are registered with MGF1 over the same digest and a salt of the digest length; and DefaultSignatureAlgorithmIdentifierFinder gains the matching RIPEMD*WITHRSAANDMGF1 entries with their RSASSA-PSS-params, so the operator/JcaContentSignerBuilder path works as well. Note BC continues to require the PSS hash and the MGF1 hash to be the same, which RFC 8017 does not itself demand (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2381\"\u003e#2381\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eThe opt-in key-size validation on CMS key-transport recipients (org.bouncycastle.cms.jcajce.JceKeyTransRecipient.setKeySizeValidation(true)) never ran for a message using RFC 9709 CEK derivation (id-alg-cek-hkdf-sha256): the branch that should have selected the actual content-encryption algorithm carried in the KDF AlgorithmIdentifier's parameters compared the encrypted-key byte array against the id-alg-cek-hkdf-sha256 object identifier - a comparison that is always false - so the check fell through to a key-size lookup on the outer KDF OID, which has no registered key size, and silently checked nothing. A key-transport EnvelopedData/AuthEnvelopedData whose transported (and HKDF-derived) content-encryption key did not match the key size of the advertised content-encryption algorithm was therefore accepted even with validation enabled. The recipient now dispatches on the content-encryption AlgorithmIdentifier's algorithm OID, so key-size validation of RFC 9709 messages checks the recovered key against the inner content-encryption algorithm. Messages with a matching key size, non-HKDF messages, and recipients that do not enable validation are unaffected.\u003c/li\u003e\n\u003cli\u003eThe OpenPGP v6 SEIPD (Symmetrically Encrypted Integrity Protected Data, version 2 / RFC 9580 sec. 5.13.2) packet parser read the AEAD chunk-size octet without bounding it. The chunk length is 2^(chunkSize + 6) bytes and the AEAD decryptor allocates a buffer of that size up front, so a crafted v6 encrypted message (reachable with only the recipient's public key) declaring chunkSize 24 forced a 1 GiB allocation on decrypt, and chunkSize 25 (where the int cast of the chunk length wraps negative) threw a NegativeArraySizeException -- a pre-authentication resource-exhaustion denial of service. This is the version 6 sibling of the version 5 AEADEncDataPacket issue fixed under CVE-2026-3505, which bounded that packet's chunk size at 16 but left the v6 SymmetricEncIntegrityPacket unbounded. SymmetricEncIntegrityPacket now rejects a chunk-size octet outside 0..16 (a 4 MiB chunk, matching the v5 ceiling) with a MalformedPacketException at parse, before any allocation.\u003c/li\u003e\n\u003cli\u003eThe Ed25519 KeyFactory in the JDK 11+ and JDK 15+ multi-release overlays (META-INF/versions/11 and /15) had drifted from the base implementation on the OpenSSH key-spec path: it used the no-passphrase OpenSSHPrivateKeyUtil.parsePrivateKeyBlob overload, so a passphrase-encrypted openssh-key-v1 Ed25519 private key that KeyFactory.getInstance(\u0026quot;Ed25519\u0026quot;, \u0026quot;BC\u0026quot;).generatePrivate(new OpenSSHPrivateKeySpec(blob, passphrase)) decoded correctly on JDK 8 failed on JDK 11 and later; it also let a raw RuntimeException escape on a malformed blob and threw IllegalStateException (JDK 11) instead of InvalidKeySpecException for a non-Ed25519 key. The overlays now match the base implementation (passphrase support, parse errors wrapped as InvalidKeySpecException). Relatedly, the OpenSSH wrong-key-type and decode-failure paths across the RSA, DSA, EC and Ed25519 KeyFactorySpi implementations now consistently raise InvalidKeySpecException (previously a mix of IllegalArgumentException / IllegalStateException) and wrap a malformed OpenSSH public key, and an incorrect \u0026quot;public key is not RSA private key\u0026quot; message on the RSA private path was corrected. The multi-release test tasks now exercise the OpenSSH key specs against the multi-release jar.\u003c/li\u003e\n\u003cli\u003eThe Ant-built utility jars (bcutil-jdk15to18, bcutil-jdk14) duplicated org.bouncycastle.asn1.iana.IANAObjectIdentifiers, which since 1.85 (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2176\"\u003e#2176\u003c/a\u003e) lives only in core and is therefore already shipped in bcprov. The shared ant/bc+-build.xml build-util target still copied org/bouncycastle/asn1/iana/** into bcutil, so a project depending on both bcprov and bcutil (for example via bcpkix) failed an Android/R8 build with \u0026quot;Duplicate class org.bouncycastle.asn1.iana.IANAObjectIdentifiers found in modules bcprov-jdk15to18-1.85.jar and bcutil-jdk15to18-1.85.jar\u0026quot;. The iana package is no longer bundled into bcutil (it remains in bcprov); the Gradle jdk18on jars were already correct (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2356\"\u003e#2356\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eorg.bouncycastle.util.BigIntegers.intValueExact (and the byte/short/long variants) delegated to BigInteger.intValueExact from 1.85, a Java 8 method Android only provides from API level 33, so on earlier Android versions any code path using them - most visibly loading a PKCS12 keystore, whose iteration-count validation calls intValueExact - crashed with NoSuchMethodError. The range checks are open-coded again, as they were in 1.84 (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2369\"\u003e#2369\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eGOST R 34.10-94 signing (org.bouncycastle.crypto.signers.GOST3410Signer) raised the domain generator to the per-signature nonce k with a bare BigInteger.modPow, whose running time varies with the exponent. Recovering k from that timing yields the private key straight out of the signature equation s = k*m + x*r, so k is now randomised with a random multiple of q before it is raised, exactly as DSASigner already does with its own k. Since the domain parameter a has order q, raising it to a multiple of q gives 1 and the signature is unchanged - the RFC-style known-answer vectors in GOST3410Test still produce the same r and s. Those vectors drive signing from a FixedSecureRandom, so they now carry one further byte for the randomiser to consume, in the same way the DSA signing vectors already do.\u003c/li\u003e\n\u003cli\u003eKCCMBlockCipher (DSTU7624-128/256/512 CCM mode) returned the input length rather than 0 from getUpdateOutputSize(int), but like CCMBlockCipher/KGCMBlockCipher it buffers all input until doFinal and produces no output on an update. Through the JCA layer this made the caller-supplied-buffer Cipher.update(input, inOff, inLen, output, outOff) reject a correctly sized output buffer with \u0026quot;javax.crypto.ShortBufferException: output buffer too short for input.\u0026quot; when decrypting. getUpdateOutputSize now returns 0, matching the sibling CCM/KGCM modes (github \u003ca href=\"https://redirect.github.com/bcgit/bc-java/issues/2354\"\u003e#2354\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eJ-PAKE raised values to exponents carrying private material with bare BigInteger.modPow calls, whose running time varies with the exponent: the private ephemerals x1 and x2 in round 1, x2*s and the negated form of it in round 2 and in the keying material - both of which carry the password - and the v behind each Schnorr zero-knowledge proof, which together with the published r would give up x. JPAKEParticipant itself notes that leaking x1 or x2 lets an attacker brute-force the password. All of these exponents are now randomised with a random multiple of q before they are raised. A multiple of q rather than of p-1 is sound here, and much cheaper since the exponents are the size of q: the generator is checked with g^q = 1 when the JPAKEPrimeOrderGroup is built, and each value received from the other participant is checked the same way by validateZeroKnowledgeProof before it is used as a base. JPAKEUtil.calculateA and JPAKEUtil.calculateKeyingMaterial gained overloads taking a SecureRandom, and there is a new JPAKEUtil.calculateGx taking q and a SecureRandom; the existing overloads still work, taking the default from CryptoServicesRegistrar. The three-argument calculateGx has no q to work with, so it blinds with a multiple of p-1 and is deprecated in favour of the new one. The three modPow calls in validateZeroKnowledgeProof are unchanged, since their exponents are all public. The elliptic-curve variant was already routing its private scalars through ECAlgorithms.multiplySecret and needed no change.\u003c/li\u003e\n\u003cli\u003eThe PKIX CertPathBuilder (\u0026quot;PKIX\u0026quot;/\u0026quot;RFC5280\u0026quot;/\u0026quot;RFC3280\u0026quot;) matched candidate issuers by subject name only during its depth-first search, so a CertStore containing many self-issued certificates that share a single subject name and never chain to a trust anchor could be explored as a large number of partial paths before the build concluded no chain exists. The builder now bounds the total number of nodes visited per build; the limit is configurable via the org.bouncycastle.x509.max_cert_path_build_nodes system property (default 262144, far above any legitimate build) and, when exceeded, the build fails with a CertPathBuilderException naming the property. This is the builder-side companion to the existing org.bouncycastle.x509.max_policy_nodes bound.\u003c/li\u003e\n\u003cli\u003eA group of parse and revocation-handling entry points let an unchecked runtime exception (NullPointerException, ArrayIndexOutOfBoundsException, IllegalStateException or ArithmeticException) escape on empty, content-less or out-of-range input instead of the checked exception each entry point declares - the malformed input was rejected either way, but the leaked type could escape a documented throws contract. Each now fails with its declared type, and well-formed input is unaffected: org.bouncycastle.tsp.cms.CMSTimeStampedData (an empty or truncated stream; the fix also covers its org.bouncycastle.asn1.cms.MetaData and TimeStampDataUtil helpers) and org.bouncycastle.cms.CMSEnvelopedData (an EnvelopedData carrying no encryptedContent) now throw IOException / CMSException rather than NullPointerException; org.bouncycastle.tsp.TimeStampToken rejects a token whose SignerInfo carries no signed attributes with TSPValidationException rather than NullPointerException; org.bouncycastle.cert.cmp.GeneralPKIMessage, org.bouncycastle.est.CSRAttributesResponse, org.bouncycastle.cmc.SimplePKIResponse, org.bouncycastle.openssl.X509TrustedCertificateBlock, org.bouncycastle.tsp.TimeStampRequest, org.bouncycastle.tsp.TimeStampResponse, org.bouncycastle.pkcs.PKCS12PfxPdu and org.bouncycastle.pkcs.PKCS8EncryptedPrivateKeyInfo reject empty / no-content / truncated input with their declared CertIOException / IOException / PKCSIOException rather than a leaked NullPointerException, and org.bouncycastle.cert.crmf.CertificateRequestMessage.hasSigningKeyProofOfPossessionWithPKMAC answers false for an absent or non-signing-key proof-of-possession rather than throwing NullPointerException; org.bouncycastle.crypto.util.OpenSSHPrivateKeyUtil.parsePrivateKeyBlob and org.bouncycastle.math.ec.ECCurve.decodePoint reject an empty (or null) blob / point encoding with IllegalArgumentException rather than ArrayIndexOutOfBoundsException, closing the point-decode path reached by every untrusted-point consumer (EC key parsing, ECDH/ECIES, TLS); and the PKIX revocation code no longer leaks a runtime exception on attacker-controlled CRL/OCSP fields - PKIXCertPathReviewer and X509RevocationChecker bound an out-of-range CRLReason code against their fixed reason table (reporting \u0026quot;unknown\u0026quot; instead of ArrayIndexOutOfBoundsException / ArithmeticException), RFC3280CertPathUtilities tolerates an absent reasons mask on a CRL distribution point, and ProvOcspRevocationChecker tolerates an OCSP response with no nonce extension.\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\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.resend:resend-java` from v4.15.0 to v4.18.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/resendlabs/resend-java/releases\"\u003ecom.resend:resend-java's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.18.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: sync prs to linear with latest workflow by \u003ca href=\"https://github.com/gabrielmfern\"\u003e\u003ccode\u003e@​gabrielmfern\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-java/pull/116\"\u003eresend/resend-java#116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update sync_prs_to_linear action hash to a54e4298f0 by \u003ca href=\"https://github.com/dielduarte\"\u003e\u003ccode\u003e@​dielduarte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-java/pull/118\"\u003eresend/resend-java#118\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add suppression module by \u003ca href=\"https://github.com/kewynakshlley\"\u003e\u003ccode\u003e@​kewynakshlley\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-java/pull/119\"\u003eresend/resend-java#119\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Bump to v4.18.0 by \u003ca href=\"https://github.com/kewynakshlley\"\u003e\u003ccode\u003e@​kewynakshlley\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-java/pull/120\"\u003eresend/resend-java#120\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/dielduarte\"\u003e\u003ccode\u003e@​dielduarte\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/resend/resend-java/pull/118\"\u003eresend/resend-java#118\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/resend/resend-java/compare/v4.17.0...v4.18.0\"\u003ehttps://github.com/resend/resend-java/compare/v4.17.0...v4.18.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.17.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add message_id to Email model by \u003ca href=\"https://github.com/cpenned\"\u003e\u003ccode\u003e@​cpenned\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-java/pull/113\"\u003eresend/resend-java#113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add oauth grants endpoints by \u003ca href=\"https://github.com/kewynakshlley\"\u003e\u003ccode\u003e@​kewynakshlley\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-java/pull/114\"\u003eresend/resend-java#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Bump to v4.17.0 by \u003ca href=\"https://github.com/kewynakshlley\"\u003e\u003ccode\u003e@​kewynakshlley\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-java/pull/115\"\u003eresend/resend-java#115\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/cpenned\"\u003e\u003ccode\u003e@​cpenned\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/resend/resend-java/pull/113\"\u003eresend/resend-java#113\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/resend/resend-java/compare/v4.16.0...v4.17.0\"\u003ehttps://github.com/resend/resend-java/compare/v4.16.0...v4.17.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.16.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add received_for to ReceivedEmail by \u003ca href=\"https://github.com/lucasfcosta\"\u003e\u003ccode\u003e@​lucasfcosta\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-java/pull/109\"\u003eresend/resend-java#109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add domain claims endpoints by \u003ca href=\"https://github.com/kewynakshlley\"\u003e\u003ccode\u003e@​kewynakshlley\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-java/pull/110\"\u003eresend/resend-java#110\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Bump to v4.16.0 by \u003ca href=\"https://github.com/kewynakshlley\"\u003e\u003ccode\u003e@​kewynakshlley\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-java/pull/111\"\u003eresend/resend-java#111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Replace tautological  tests with real IHttpClient injection by \u003ca href=\"https://github.com/kewynakshlley\"\u003e\u003ccode\u003e@​kewynakshlley\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resend/resend-java/pull/112\"\u003eresend/resend-java#112\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/lucasfcosta\"\u003e\u003ccode\u003e@​lucasfcosta\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/resend/resend-java/pull/109\"\u003eresend/resend-java#109\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/resend/resend-java/compare/v4.15.0...v4.16.0\"\u003ehttps://github.com/resend/resend-java/compare/v4.15.0...v4.16.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/resend/resend-java/commit/49edffd2f1522853fdc81364d8c04a5a2f726b22\"\u003e\u003ccode\u003e49edffd\u003c/code\u003e\u003c/a\u003e chore: Bump to v4.18.0 (\u003ca href=\"https://redirect.github.com/resendlabs/resend-java/issues/120\"\u003e#120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-java/commit/826292b8097c059d2ae30d9fe1fca29653ac0037\"\u003e\u003ccode\u003e826292b\u003c/code\u003e\u003c/a\u003e feat: Add suppression module (\u003ca href=\"https://redirect.github.com/resendlabs/resend-java/issues/119\"\u003e#119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-java/commit/ba87e3fe4399a31d5f5b7b89cd985adfc07c69cc\"\u003e\u003ccode\u003eba87e3f\u003c/code\u003e\u003c/a\u003e chore: update sync_prs_to_linear action hash to a54e4298f0 (\u003ca href=\"https://redirect.github.com/resendlabs/resend-java/issues/118\"\u003e#118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-java/commit/dae0496f3a0503735609aaac8c2fe7482686accc\"\u003e\u003ccode\u003edae0496\u003c/code\u003e\u003c/a\u003e chore: sync prs to linear with latest workflow (\u003ca href=\"https://redirect.github.com/resendlabs/resend-java/issues/116\"\u003e#116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-java/commit/57ca4b1d550a890e879d4f9040c186d7c33ca0aa\"\u003e\u003ccode\u003e57ca4b1\u003c/code\u003e\u003c/a\u003e chore: Bump to v4.17.0 (\u003ca href=\"https://redirect.github.com/resendlabs/resend-java/issues/115\"\u003e#115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-java/commit/f13adad515b8070d3440783e6727da1bbac70546\"\u003e\u003ccode\u003ef13adad\u003c/code\u003e\u003c/a\u003e feat: add oauth grants endpoints (\u003ca href=\"https://redirect.github.com/resendlabs/resend-java/issues/114\"\u003e#114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-java/commit/e2e1fd6384a0445b84ad97cfa03c69caedf4a893\"\u003e\u003ccode\u003ee2e1fd6\u003c/code\u003e\u003c/a\u003e feat: add message_id to Email model (\u003ca href=\"https://redirect.github.com/resendlabs/resend-java/issues/113\"\u003e#113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-java/commit/a482295fd744c23fb748360f8bb19634527c2f10\"\u003e\u003ccode\u003ea482295\u003c/code\u003e\u003c/a\u003e feat: Replace tautological  tests with real IHttpClient injection (\u003ca href=\"https://redirect.github.com/resendlabs/resend-java/issues/112\"\u003e#112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-java/commit/1925796d7d3dfc9c414b8b61a8fb072f6d4db1b3\"\u003e\u003ccode\u003e1925796\u003c/code\u003e\u003c/a\u003e chore: Bump to v4.16.0 (\u003ca href=\"https://redirect.github.com/resendlabs/resend-java/issues/111\"\u003e#111\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/resend-java/commit/804b3999cda1b94dda82e4c39e820d05335d4688\"\u003e\u003ccode\u003e804b399\u003c/code\u003e\u003c/a\u003e feat: Add domain claims endpoints (\u003ca href=\"https://redirect.github.com/resendlabs/resend-java/issues/110\"\u003e#110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/resendlabs/resend-java/compare/v4.15.0...v4.18.0\"\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.1.0\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,1,0 released!\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix request-specific Swagger UI index transformations by \u003ca href=\"https://github.com/limehee\"\u003e\u003ccode\u003e@​limehee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3279\"\u003espringdoc/springdoc-openapi#3279\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3282\"\u003e#3282\u003c/a\u003e: preserve nest() version predicate across all routes in nest by \u003ca href=\"https://github.com/seonwooj0810\"\u003e\u003ccode\u003e@​seonwooj0810\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3296\"\u003espringdoc/springdoc-openapi#3296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.1.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Spring AI to version \u003cstrong\u003e2.0.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.52\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.11\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3307\"\u003e#3307\u003c/a\u003e – Act upon SonarQube warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3306\"\u003e#3306\u003c/a\u003e – Act upon SonarQube warnings\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3269\"\u003e#3269\u003c/a\u003e – Add mechanism to disable \u003ccode\u003enullable\u003c/code\u003e for Kotlin properties\u003c/li\u003e\n\u003cli\u003eAllow request-specific Swagger UI index transformation\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/3304\"\u003e#3304\u003c/a\u003e – Kotlin parent class's field is not properly marked as nullable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3294\"\u003e#3294\u003c/a\u003e – Duplicated path getting \u003ccode\u003eswagger-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3293\"\u003e#3293\u003c/a\u003e – Inconsistent OpenAPI schema naming with \u003ccode\u003eSNAKE_CASE\u003c/code\u003e: some Java record fields remain camelCase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3292\"\u003e#3292\u003c/a\u003e – Make \u003ccode\u003eWebProperties\u003c/code\u003e and \u003ccode\u003eWebMvcProperties\u003c/code\u003e optional in \u003ccode\u003eSwaggerConfig\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3284\"\u003e#3284\u003c/a\u003e – Upgrade swagger-core from version 2.2.48 to 2.2.49\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3282\"\u003e#3282\u003c/a\u003e – Preserve version from \u003ccode\u003enest()\u003c/code\u003e predicate across all routes in \u003ccode\u003enest\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3281\"\u003e#3281\u003c/a\u003e – Stabilize Spring Data \u003ccode\u003ePage\u003c/code\u003e schema property order\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3274\"\u003e#3274\u003c/a\u003e – Description disappears from the generated json after upgrade to 3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3270\"\u003e#3270\u003c/a\u003e – Validation annotation of \u003ccode\u003eParameterObject\u003c/code\u003e property applied to \u003ccode\u003ePathVariable\u003c/code\u003e with the same name, even in unrelated endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3266\"\u003e#3266\u003c/a\u003e – Upgrade swagger-core from version 2.2.47 to 2.2.48\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3263\"\u003e#3263\u003c/a\u003e – Null key for a \u003ccode\u003eMap\u003c/code\u003e not allowed in JSON\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.3...v3.1.0\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.3...v3.1.0\u003c/a\u003e\u003c/p\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\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/main/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.1.0] - 2026-07-31\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/3269\"\u003e#3269\u003c/a\u003e – Add mechanism to disable \u003ccode\u003enullable\u003c/code\u003e for Kotlin properties\u003c/li\u003e\n\u003cli\u003eAllow request-specific Swagger UI index transformation\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.1.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Spring AI to version \u003cstrong\u003e2.0.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.52\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.11\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3307\"\u003e#3307\u003c/a\u003e – Act upon SonarQube warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3306\"\u003e#3306\u003c/a\u003e – Act upon SonarQube warnings\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/3304\"\u003e#3304\u003c/a\u003e – Kotlin parent class's field is not properly marked as nullable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3294\"\u003e#3294\u003c/a\u003e – Duplicated path getting \u003ccode\u003eswagger-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3293\"\u003e#3293\u003c/a\u003e – Inconsistent OpenAPI schema naming with \u003ccode\u003eSNAKE_CASE\u003c/code\u003e: some Java record fields remain camelCase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3292\"\u003e#3292\u003c/a\u003e – Make \u003ccode\u003eWebProperties\u003c/code\u003e and \u003ccode\u003eWebMvcProperties\u003c/code\u003e optional in \u003ccode\u003eSwaggerConfig\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3284\"\u003e#3284...\n\n_Description has been truncated_","html_url":"https://github.com/ckn1070/community/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ckn1070%2Fcommunity/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"}},{"old_version":"1.4.2","new_version":"1.5.0","update_type":"minor","path":null,"pr_created_at":"2026-08-30T19:17:57.000Z","version_change":"1.4.2 → 1.5.0","issue":{"uuid":"5293904671","node_id":"PR_kwDOTWAWLc8AAAABBhf8Kw","number":33,"state":"closed","title":"维护（后端依赖） Bump the backend-minor-patch group across 1 directory with 4 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-06T19:17:47.000Z","author_association":null,"state_reason":null,"created_at":"2026-08-30T19:17:57.000Z","updated_at":"2026-09-06T19:17:49.000Z","time_to_close":604790,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"维护（后端依赖） Bump","group_name":"backend-minor-patch","update_count":4,"packages":[{"name":"org.springframework.boot:spring-boot-starter-parent","old_version":"4.1.0","new_version":"4.1.1","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.modulith:spring-modulith-bom","old_version":"2.1.0","new_version":"2.1.1","repository_url":"https://github.com/spring-projects/spring-modulith"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"3.0.3","new_version":"3.1.0","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.4.2","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"}],"path":null,"ecosystem":"maven"},"body":"Bumps the backend-minor-patch group with 4 updates in the /backend directory: [org.springframework.boot:spring-boot-starter-parent](https://github.com/spring-projects/spring-boot), [org.springframework.modulith:spring-modulith-bom](https://github.com/spring-projects/spring-modulith), [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) and [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit).\n\nUpdates `org.springframework.boot:spring-boot-starter-parent` from 4.1.0 to 4.1.1\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:spring-boot-starter-parent's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch2\u003e:warning: Attention Required\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpring Boot's Gradle plugin no longer automatically configures gRPC when the Protobuf plugin is applied. This behavior caused problems for those using Protobuf without gRPC. To opt in to the configuration of gRPC, configure the \u003ccode\u003eprotobuf\u003c/code\u003e extension with the \u003ccode\u003egrpc\u003c/code\u003e plugin using an empty block. The Spring Boot Gradle plugin will then automatically configure the use of \u003ccode\u003eprotoc-gen-grpc-java\u003c/code\u003e as before. \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50822\"\u003e#50822\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKafka consumer-specific security protocol is not taken into account \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51369\"\u003e#51369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStructured logging: a failed JSON encode corrupts the next log event written on the same thread \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51156\"\u003e#51156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMicrometer registries pin the application context \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51135\"\u003e#51135\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTemporary file is not deleted when ExportedImageTar construction fails \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51132\"\u003e#51132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMetadata annotation processor ignores getter-level \u003ccode\u003e@NestedConfigurationProperty\u003c/code\u003e for records \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51098\"\u003e#51098\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-h2-console pulls servlet-api as transitive dependency \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51095\"\u003e#51095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropertiesLauncher does not log nested archive paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51089\"\u003e#51089\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMethods that return the result of Map#remove are not declared with a \u003ccode\u003e@Nullable\u003c/code\u003e return type \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51087\"\u003e#51087\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNativeImageResourceProvider flattens Flyway migration paths in subdirectories \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50964\"\u003e#50964\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ordering of Kotlinx Serialization CodecCustomizer \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50961\"\u003e#50961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJarFile is not closed when finding main class from archive \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50959\"\u003e#50959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplication-managed JUL bridge handler should only be removed if installed \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50950\"\u003e#50950\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCloudFoundry reactive auto-configuration should not require a WebClient.Builder bean to be defined \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50944\"\u003e#50944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails on reactive Cloud Foundry when using Actuator without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50942\"\u003e#50942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResources are not cleaned up when resolving an image that is not yet present in the builder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50941\"\u003e#50941\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGraphQlWebMvcAutoConfiguration should apply customizers in order \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50914\"\u003e#50914\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configured RedisMessageListenerContainer does not use virtual threads when spring.threads.virtual.enabled is true \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50884\"\u003e#50884\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails when using Actuator on Jersey without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50872\"\u003e#50872\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails on Cloud Foundry when using Actuator without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50871\"\u003e#50871\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIllegalStateException when binding properties to a \u003ccode\u003e@Validated\u003c/code\u003e class that contains a map whose value type is a wildcard \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50856\"\u003e#50856\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHigh number of connections due to Mongo health indicator \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50852\"\u003e#50852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInconsistent handling of empty string values of spring.security.oauth2.resourceserver.jwt issuer-uri and jwk-set-uri \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50849\"\u003e#50849\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn type nullability of ApplicationContextAssert's getBean methods does not indicate that bean may be null \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50845\"\u003e#50845\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropertiesWebClientHttpServiceGroupConfigurer has highest precedence, preventing other configurers from being ordered ahead of it \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50843\"\u003e#50843\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExposing gRPC test server port should backoff if gRPC is not present \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50825\"\u003e#50825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJpaBaseConfiguration#entityManagerConfiguration can cause a dependency loop on beans declaring AsyncTaskExecutor \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50801\"\u003e#50801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.grpc.server.health.include-overall-health is not taken into account \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50799\"\u003e#50799\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSetting 'server.servlet.session.cookie.partitioned' to false still emits the 'Partitioned' cookie attribute \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50790\"\u003e#50790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eManaged version of Prometheus Client is not aligned with Micrometer's micrometer-registry-prometheus \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50780\"\u003e#50780\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMap properties bound from empty strings fail with ConverterNotFoundException \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50773\"\u003e#50773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProtobuf Common Protos should not be a managed dependency \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50772\"\u003e#50772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAn application that depends on spring-boot-security-oauth2-resource-server may fail to start with a ClassNotFoundException when Reactor is on the classpath but WebFlux is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50764\"\u003e#50764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eW3CHeaderParser's decoding is not compliant with RFC 3986 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50650\"\u003e#50650\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\u003eDescription of spring.graphql.websocket.connection-init-timeout does not render correctly in the reference guide \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51348\"\u003e#51348\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.profiles.group should have a 'spring-profile-name' hint provider \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51284\"\u003e#51284\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove reference to removed InfluxDB auto-configuration \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51176\"\u003e#51176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse JacksonJsonSerde in Kafka Streams documentation \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51161\"\u003e#51161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument alternatives to HttpMessageConverters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51129\"\u003e#51129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix stale type reference for OTLP logging transport metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51119\"\u003e#51119\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMetadata for spring.test.mockmvc.htmlunit.url declares the wrong type \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51115\"\u003e#51115\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/6fdf67ea1552691e932604d4bf67a5e08ff0b0ea\"\u003e\u003ccode\u003e6fdf67e\u003c/code\u003e\u003c/a\u003e Release 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/fde599b28b40932e4ea6194399d89245923a01e7\"\u003e\u003ccode\u003efde599b\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Pulsar 2.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9daa58f7d98b82bf16febcb91943ce267c220a50\"\u003e\u003ccode\u003e9daa58f\u003c/code\u003e\u003c/a\u003e Upgrade to Spring HATEOAS 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/353993ebc1d7b1ceccbb981b0439a42ba122a816\"\u003e\u003ccode\u003e353993e\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Data Bom 2026.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/24ba596bc4fa000614834016452435c834fdeda2\"\u003e\u003ccode\u003e24ba596\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Session 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/5cb5c294d1f4780e78d010a964049e47c074e4d6\"\u003e\u003ccode\u003e5cb5c29\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Security 7.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4adc8eb130c4e0c688ed85316f385f4e04d47679\"\u003e\u003ccode\u003e4adc8eb\u003c/code\u003e\u003c/a\u003e Upgrade to Spring LDAP 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4d9c19cbc0589f57a7265052b507bf4b961082ac\"\u003e\u003ccode\u003e4d9c19c\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Kafka 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f30f6120c4f6f8f873ac56cba478ae1f011c276c\"\u003e\u003ccode\u003ef30f612\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 7.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/b930283d97e92eb24da1de3721cdd41625266dea\"\u003e\u003ccode\u003eb930283\u003c/code\u003e\u003c/a\u003e Upgrade to Spring gRPC 1.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.1.0...v4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.modulith:spring-modulith-bom` from 2.1.0 to 2.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-modulith/releases\"\u003eorg.springframework.modulith:spring-modulith-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.1.1\u003c/h2\u003e\n\u003ch2\u003e:bulb: Improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse Namastack version property in \u003ccode\u003espring-modulith-events-core\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1807\"\u003e#1807\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:beetle: Bugs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEvent externalization throws \u003ccode\u003eClassCastException\u003c/code\u003e with event listener using \u003ccode\u003eApplicationListener.forPayload(…)\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1832\"\u003e#1832\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRabbitJackson2Configuration and RabbitJacksonConfiguration conflict when Jackson 2.x is on classpath (e.g. Eureka Client) \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1830\"\u003e#1830\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAmbiguous violation message when referring to a non-exposed type in a module generally available for access \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1827\"\u003e#1827\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConcurrentModificationException in TestExecutionCondition when running tests with JUnit parallel class execution \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1824\"\u003e#1824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in \u003ccode\u003espring.modulith.events.staleness.check-interval\u003c/code\u003e configuration property \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1822\"\u003e#1822\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePotential \u003ccode\u003eNullPointerException\u003c/code\u003e in \u003ccode\u003eFormattableType.of(…)\u003c/code\u003e for wildcard types \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1806\"\u003e#1806\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Testcontainers setup to ensure fresh containers for SQL databases \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1802\"\u003e#1802\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMongoDB event publication tests use default localhost connection instead of Testcontainers \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1755\"\u003e#1755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnbounded wildcard / type-variable generic parameters break \u003ccode\u003eFormattableType\u003c/code\u003e (NPE in \u003ccode\u003eDefaultObservedModule.render\u003c/code\u003e) \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1754\"\u003e#1754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRoot module Flyway migrations are not executed during a test \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1753\"\u003e#1753\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 Spring Boot 4.1.1 \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1820\"\u003e#1820\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Namastack Outbox 1.7.3 \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1796\"\u003e#1796\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1814\"\u003e#1814\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Spring Framework 7.0.9 \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1813\"\u003e#1813\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Micrometer Tracing 1.7.1 \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1812\"\u003e#1812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to jGit 7.7.1.202607240634-r \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1797\"\u003e#1797\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/arendomoda\"\u003e\u003ccode\u003e@​arendomoda\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/arimu1\"\u003e\u003ccode\u003e@​arimu1\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/char-yb\"\u003e\u003ccode\u003e@​char-yb\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/DragonFSKY\"\u003e\u003ccode\u003e@​DragonFSKY\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Hashim1999164\"\u003e\u003ccode\u003e@​Hashim1999164\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/kalayciburak\"\u003e\u003ccode\u003e@​kalayciburak\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/seonwooj0810\"\u003e\u003ccode\u003e@​seonwooj0810\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/spring-projects/spring-modulith/commit/83ce54cfc5229f9fe748afc332d8c728ecd0b81c\"\u003e\u003ccode\u003e83ce54c\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1833\"\u003eGH-1833\u003c/a\u003e - Release version 2.1.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/ef8d256c7970b50e98438f6016b573433958eba9\"\u003e\u003ccode\u003eef8d256\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1832\"\u003eGH-1832\u003c/a\u003e - Polishing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/51e2cc4b00e2a369a6b7f882f1764b3a2cb14d19\"\u003e\u003ccode\u003e51e2cc4\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1832\"\u003eGH-1832\u003c/a\u003e - Invoke listeners through SimpleApplicationEventMulticaster.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/3066000f64b78485569103826fe73a92175958e5\"\u003e\u003ccode\u003e3066000\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1830\"\u003eGH-1830\u003c/a\u003e - Polishing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/8127446a79ae94ceed65e0cf89cad499aca874fd\"\u003e\u003ccode\u003e8127446\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1830\"\u003eGH-1830\u003c/a\u003e - Resolve Rabbit Jackson configuration conflict.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/2bdcdc312c5d45e1b18a3778eec7698e653eb06c\"\u003e\u003ccode\u003e2bdcdc3\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1827\"\u003eGH-1827\u003c/a\u003e - Polishing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/f93a92832d589b2c6c59e0f9d0540bbb67f6c3d0\"\u003e\u003ccode\u003ef93a928\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1827\"\u003eGH-1827\u003c/a\u003e - Clarify violation for non-exposed types in allowed modules.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/dacf640cc72de00f5ef72e70dd9fd0738cea8a70\"\u003e\u003ccode\u003edacf640\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1824\"\u003eGH-1824\u003c/a\u003e - Use ConcurrentHashMap for the module dependency cache.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/6827fd5563f65964dbd3b0f6cfd033ae50aba432\"\u003e\u003ccode\u003e6827fd5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1822\"\u003eGH-1822\u003c/a\u003e - Polishing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-modulith/commit/ccd78daa4606f50ed724ce76fbba6592941a1f06\"\u003e\u003ccode\u003eccd78da\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-modulith/issues/1822\"\u003eGH-1822\u003c/a\u003e - Fix typo in staleness check-interval property\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-modulith/compare/2.1.0...2.1.1\"\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.3 to 3.1.0\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,1,0 released!\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix request-specific Swagger UI index transformations by \u003ca href=\"https://github.com/limehee\"\u003e\u003ccode\u003e@​limehee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3279\"\u003espringdoc/springdoc-openapi#3279\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3282\"\u003e#3282\u003c/a\u003e: preserve nest() version predicate across all routes in nest by \u003ca href=\"https://github.com/seonwooj0810\"\u003e\u003ccode\u003e@​seonwooj0810\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3296\"\u003espringdoc/springdoc-openapi#3296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.1.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Spring AI to version \u003cstrong\u003e2.0.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.52\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.11\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3307\"\u003e#3307\u003c/a\u003e – Act upon SonarQube warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3306\"\u003e#3306\u003c/a\u003e – Act upon SonarQube warnings\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3269\"\u003e#3269\u003c/a\u003e – Add mechanism to disable \u003ccode\u003enullable\u003c/code\u003e for Kotlin properties\u003c/li\u003e\n\u003cli\u003eAllow request-specific Swagger UI index transformation\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/3304\"\u003e#3304\u003c/a\u003e – Kotlin parent class's field is not properly marked as nullable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3294\"\u003e#3294\u003c/a\u003e – Duplicated path getting \u003ccode\u003eswagger-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3293\"\u003e#3293\u003c/a\u003e – Inconsistent OpenAPI schema naming with \u003ccode\u003eSNAKE_CASE\u003c/code\u003e: some Java record fields remain camelCase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3292\"\u003e#3292\u003c/a\u003e – Make \u003ccode\u003eWebProperties\u003c/code\u003e and \u003ccode\u003eWebMvcProperties\u003c/code\u003e optional in \u003ccode\u003eSwaggerConfig\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3284\"\u003e#3284\u003c/a\u003e – Upgrade swagger-core from version 2.2.48 to 2.2.49\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3282\"\u003e#3282\u003c/a\u003e – Preserve version from \u003ccode\u003enest()\u003c/code\u003e predicate across all routes in \u003ccode\u003enest\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3281\"\u003e#3281\u003c/a\u003e – Stabilize Spring Data \u003ccode\u003ePage\u003c/code\u003e schema property order\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3274\"\u003e#3274\u003c/a\u003e – Description disappears from the generated json after upgrade to 3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3270\"\u003e#3270\u003c/a\u003e – Validation annotation of \u003ccode\u003eParameterObject\u003c/code\u003e property applied to \u003ccode\u003ePathVariable\u003c/code\u003e with the same name, even in unrelated endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3266\"\u003e#3266\u003c/a\u003e – Upgrade swagger-core from version 2.2.47 to 2.2.48\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3263\"\u003e#3263\u003c/a\u003e – Null key for a \u003ccode\u003eMap\u003c/code\u003e not allowed in JSON\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.3...v3.1.0\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.3...v3.1.0\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/main/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.1.0] - 2026-07-31\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/3269\"\u003e#3269\u003c/a\u003e – Add mechanism to disable \u003ccode\u003enullable\u003c/code\u003e for Kotlin properties\u003c/li\u003e\n\u003cli\u003eAllow request-specific Swagger UI index transformation\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.1.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Spring AI to version \u003cstrong\u003e2.0.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.52\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.11\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3307\"\u003e#3307\u003c/a\u003e – Act upon SonarQube warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3306\"\u003e#3306\u003c/a\u003e – Act upon SonarQube warnings\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/3304\"\u003e#3304\u003c/a\u003e – Kotlin parent class's field is not properly marked as nullable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3294\"\u003e#3294\u003c/a\u003e – Duplicated path getting \u003ccode\u003eswagger-config\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3293\"\u003e#3293\u003c/a\u003e – Inconsistent OpenAPI schema naming with \u003ccode\u003eSNAKE_CASE\u003c/code\u003e: some Java record fields remain camelCase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3292\"\u003e#3292\u003c/a\u003e – Make \u003ccode\u003eWebProperties\u003c/code\u003e and \u003ccode\u003eWebMvcProperties\u003c/code\u003e optional in \u003ccode\u003eSwaggerConfig\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3284\"\u003e#3284\u003c/a\u003e – Upgrade swagger-core from version 2.2.48 to 2.2.49\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3282\"\u003e#3282\u003c/a\u003e – Preserve version from \u003ccode\u003enest()\u003c/code\u003e predicate across all routes in \u003ccode\u003enest\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3281\"\u003e#3281\u003c/a\u003e – Stabilize Spring Data \u003ccode\u003ePage\u003c/code\u003e schema property order\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3274\"\u003e#3274\u003c/a\u003e – Description disappears from the generated json after upgrade to 3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3270\"\u003e#3270\u003c/a\u003e – Validation annotation of \u003ccode\u003eParameterObject\u003c/code\u003e property applied to \u003ccode\u003ePathVariable\u003c/code\u003e with the same name, even in unrelated endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3266\"\u003e#3266\u003c/a\u003e – Upgrade swagger-core from version 2.2.47 to 2.2.48\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3263\"\u003e#3263\u003c/a\u003e – Null key for a \u003ccode\u003eMap\u003c/code\u003e not allowed in JSON\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/e04f91f10267bc7f31e9031886dd3a46bb77c938\"\u003e\u003ccode\u003ee04f91f\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/83551ce77894346de853f5755879ff8acb698e49\"\u003e\u003ccode\u003e83551ce\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4a2b5bd5c53afd98cc29f0e72bfdbf048e02ff17\"\u003e\u003ccode\u003e4a2b5bd\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/ad0a5a51caa709ec5bbaf549c404863eda619d90\"\u003e\u003ccode\u003ead0a5a5\u003c/code\u003e\u003c/a\u003e swagger-ui upgrade to version 5.32.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6e14cb4a0ead3306ded7dfd9a64d51132bb6761f\"\u003e\u003ccode\u003e6e14cb4\u003c/code\u003e\u003c/a\u003e Fix sonarqube errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/eae20564510fc1640e5098774dc96d6b976b3e46\"\u003e\u003ccode\u003eeae2056\u003c/code\u003e\u003c/a\u003e Fix sonarqube errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/b09a77bb6e4357498eec1743021a22c865374f1c\"\u003e\u003ccode\u003eb09a77b\u003c/code\u003e\u003c/a\u003e chore: act upon SonarQube warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/cc3d86d6f83f64e1fd76b14ec6de5c84d32227cc\"\u003e\u003ccode\u003ecc3d86d\u003c/code\u003e\u003c/a\u003e upgrade spring-ai to version 2.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df1c2ba12f9ef979c0afd1fd05f35d0901937bc5\"\u003e\u003ccode\u003edf1c2ba\u003c/code\u003e\u003c/a\u003e spring-boot upgrade to 4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/b6e5212d8b7afea30f6fa9b95561633411d2148d\"\u003e\u003ccode\u003eb6e5212\u003c/code\u003e\u003c/a\u003e Kotlin parent class's field is not properly marked as nullable. Fixes \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3304\"\u003e#3304\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.3...v3.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.tngtech.archunit:archunit-junit5` from 1.4.2 to 1.5.0\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.5.0\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 27 / class file major version 71 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1618\"\u003e#1618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove descriptions of \u003ccode\u003eJavaAccess.Predicates.originOwner\u003c/code\u003e and \u003ccode\u003eJavaAccess.Predicates.targetOwner\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1603\"\u003e#1603\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eExpose information on sealed classes via \u003ccode\u003eJavaClass\u003c/code\u003e: \u003ccode\u003eisSealed()\u003c/code\u003e and \u003ccode\u003egetPermittedSubclasses()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/bannmann\"\u003e\u003ccode\u003e@​bannmann\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eImportOption.DoNotIncludeTests\u003c/code\u003e and \u003ccode\u003eOnlyIncludeTests\u003c/code\u003e consider tests in custom Gradle source sets (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/Develop-KIM\"\u003e\u003ccode\u003e@​Develop-KIM\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLang\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchConditions\u003c/code\u003e offers new \u003ccode\u003eArchCondition\u0026lt;JavaClass\u0026gt; haveAnyDependenciesThat(DescribedPredicate\u0026lt;Dependency\u0026gt;)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1580\"\u003e#1580\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/wakingrufus\"\u003e\u003ccode\u003e@​wakingrufus\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchitectureMetrics.lakosMetrics\u003c/code\u003e is computed much more performantly (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1629\"\u003e#1629\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/ThanosTsiamis\"\u003e\u003ccode\u003e@​ThanosTsiamis\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTextFileBasedViolationStore\u003c/code\u003e is now thread-safe under parallel test execution (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1656\"\u003e#1656\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/kelunik\"\u003e\u003ccode\u003e@​kelunik\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eModuleDependency\u003c/code\u003e now provides stable descriptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1648\"\u003e#1648\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/DragonFSKY\"\u003e\u003ccode\u003e@​DragonFSKY\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eJUnit\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003earchunit-junit6\u003c/code\u003e supports ArchUnit with JUnit 6 (\u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1556\"\u003e#1556\u003c/a\u003e\u003c/del\u003e, \u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1658\"\u003e#1658\u003c/a\u003e\u003c/del\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1659\"\u003e#1659\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnalyzeClasses\u003c/code\u003e supports individual classes (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1569\"\u003e#1569\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003ePreparation:\u003c/em\u003e \u003ccode\u003earchunit-junit:0.9.0\u003c/code\u003e (which was renamed with \u003ca href=\"https://github.com/TNG/ArchUnit/releases/tag/v0.9.0\"\u003eArchUnit 0.9.0\u003c/a\u003e) now relocates to \u003ccode\u003earchunit-junit4:0.9.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1673\"\u003e#1673\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋) – will be published after \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1684\"\u003e#1684\u003c/a\u003e 🙈\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocument \u003ccode\u003ePriority\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1671\"\u003e#1671\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eDocument Package Identifiers in User Guide (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1672\"\u003e#1672\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eInternal Improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eText files now use UNIX line breaks (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1602\"\u003e#1602\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1611\"\u003e#1611\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eUpdate Gradle from 8 to 9; build \u0026amp; test with JDK 25 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1550\"\u003e#1550\u003c/a\u003e, and also \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1612\"\u003e#1612\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1619\"\u003e#1619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSeparate integration tests by JUnit version (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1636\"\u003e#1636\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003ejunit-dataprovider\u003c/code\u003e with \u003ccode\u003ejunit-jupiter-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1655\"\u003e#1655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eArchUnit releases now update Maven examples (and Gradle wrapper) of \u003ca href=\"https://github.com/TNG/ArchUnit-Examples\"\u003eArchUnit-Examples\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid managing hamcrest dependency (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1467\"\u003e#1467\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\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/TNG/ArchUnit/commit/502d782bfbf2632a2c9f943a502ddd8cc3e3c46d\"\u003e\u003ccode\u003e502d782\u003c/code\u003e\u003c/a\u003e prepare release 1.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/4f26fccd784d37f469e743950f8e0a3ff686d64b\"\u003e\u003ccode\u003e4f26fcc\u003c/code\u003e\u003c/a\u003e fix testRelease exec() and task registration for Gradle 9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/96af98457c924289ecff834737eebd8a55bddda6\"\u003e\u003ccode\u003e96af984\u003c/code\u003e\u003c/a\u003e add new developers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/e427828fcb9b09117cd0e59a471314218f8331d5\"\u003e\u003ccode\u003ee427828\u003c/code\u003e\u003c/a\u003e consolidate POM checks during CI and release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a30f6e3465ed3cb0868607debf80bf83e741b5f0\"\u003e\u003ccode\u003ea30f6e3\u003c/code\u003e\u003c/a\u003e Bump gradle/actions from 6 to 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a036c08707c50e6f7091754e63389f5bd2aaec64\"\u003e\u003ccode\u003ea036c08\u003c/code\u003e\u003c/a\u003e Bump com.github.ben-manes.versions from 0.57.0 to 0.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/24a9d9e10d4bb5ba5c5678d36810ef2397470163\"\u003e\u003ccode\u003e24a9d9e\u003c/code\u003e\u003c/a\u003e Bump actions/setup-java from 5.6.0 to 5.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/9944244c116f2724ac5bc1d02c73ca10af1c92e4\"\u003e\u003ccode\u003e9944244\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/51fd6c9e90c681a3d644f8a1e86a428f64fe3418\"\u003e\u003ccode\u003e51fd6c9\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/65f4cd3a60c48b0654daa4662b563e6b8545e221\"\u003e\u003ccode\u003e65f4cd3\u003c/code\u003e\u003c/a\u003e add support for dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TNG/ArchUnit/compare/v1.4.2...v1.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/wswhhhc/jingxuan/pull/33","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/wswhhhc%2Fjingxuan/issues/33","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/33/packages"}},{"old_version":"1.4.2","new_version":"1.5.0","update_type":"minor","path":null,"pr_created_at":"2026-08-29T19:33:11.000Z","version_change":"1.4.2 → 1.5.0","issue":{"uuid":"5288456081","node_id":"PR_kwDOS_XlLM8AAAABBdhAuw","number":23,"state":"closed","title":"chore(deps): bump the mainline-minor-patch group across 1 directory with 7 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-05T19:33:04.000Z","author_association":null,"state_reason":null,"created_at":"2026-08-29T19:33:11.000Z","updated_at":"2026-09-05T19:33:05.000Z","time_to_close":604793,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"mainline-minor-patch","update_count":7,"packages":[{"name":"org.springframework.boot:spring-boot-dependencies","old_version":"4.1.0","new_version":"4.1.1","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-maven-plugin","old_version":"4.1.0","new_version":"4.1.1","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.ai:spring-ai-bom","old_version":"2.0.0","new_version":"2.0.1","repository_url":"https://github.com/spring-projects/spring-ai"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.4.2","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"io.swagger.parser.v3:swagger-parser-v3","old_version":"2.1.45","new_version":"2.1.47"},{"name":"com.networknt:json-schema-validator","old_version":"3.0.6","new_version":"3.0.7","repository_url":"https://github.com/networknt/json-schema-validator"},{"name":"com.h2database:h2","old_version":"2.3.232","new_version":"2.4.240","repository_url":"https://github.com/h2database/h2database"}],"path":null,"ecosystem":"maven"},"body":"Bumps the mainline-minor-patch group with 7 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.springframework.boot:spring-boot-dependencies](https://github.com/spring-projects/spring-boot) | `4.1.0` | `4.1.1` |\n| [org.springframework.boot:spring-boot-maven-plugin](https://github.com/spring-projects/spring-boot) | `4.1.0` | `4.1.1` |\n| [org.springframework.ai:spring-ai-bom](https://github.com/spring-projects/spring-ai) | `2.0.0` | `2.0.1` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.4.2` | `1.5.0` |\n| io.swagger.parser.v3:swagger-parser-v3 | `2.1.45` | `2.1.47` |\n| [com.networknt:json-schema-validator](https://github.com/networknt/json-schema-validator) | `3.0.6` | `3.0.7` |\n| [com.h2database:h2](https://github.com/h2database/h2database) | `2.3.232` | `2.4.240` |\n\n\nUpdates `org.springframework.boot:spring-boot-dependencies` from 4.1.0 to 4.1.1\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:spring-boot-dependencies's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch2\u003e:warning: Attention Required\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpring Boot's Gradle plugin no longer automatically configures gRPC when the Protobuf plugin is applied. This behavior caused problems for those using Protobuf without gRPC. To opt in to the configuration of gRPC, configure the \u003ccode\u003eprotobuf\u003c/code\u003e extension with the \u003ccode\u003egrpc\u003c/code\u003e plugin using an empty block. The Spring Boot Gradle plugin will then automatically configure the use of \u003ccode\u003eprotoc-gen-grpc-java\u003c/code\u003e as before. \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50822\"\u003e#50822\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKafka consumer-specific security protocol is not taken into account \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51369\"\u003e#51369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStructured logging: a failed JSON encode corrupts the next log event written on the same thread \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51156\"\u003e#51156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMicrometer registries pin the application context \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51135\"\u003e#51135\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTemporary file is not deleted when ExportedImageTar construction fails \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51132\"\u003e#51132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMetadata annotation processor ignores getter-level \u003ccode\u003e@NestedConfigurationProperty\u003c/code\u003e for records \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51098\"\u003e#51098\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-h2-console pulls servlet-api as transitive dependency \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51095\"\u003e#51095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropertiesLauncher does not log nested archive paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51089\"\u003e#51089\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMethods that return the result of Map#remove are not declared with a \u003ccode\u003e@Nullable\u003c/code\u003e return type \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51087\"\u003e#51087\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNativeImageResourceProvider flattens Flyway migration paths in subdirectories \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50964\"\u003e#50964\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ordering of Kotlinx Serialization CodecCustomizer \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50961\"\u003e#50961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJarFile is not closed when finding main class from archive \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50959\"\u003e#50959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplication-managed JUL bridge handler should only be removed if installed \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50950\"\u003e#50950\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCloudFoundry reactive auto-configuration should not require a WebClient.Builder bean to be defined \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50944\"\u003e#50944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails on reactive Cloud Foundry when using Actuator without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50942\"\u003e#50942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResources are not cleaned up when resolving an image that is not yet present in the builder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50941\"\u003e#50941\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGraphQlWebMvcAutoConfiguration should apply customizers in order \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50914\"\u003e#50914\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configured RedisMessageListenerContainer does not use virtual threads when spring.threads.virtual.enabled is true \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50884\"\u003e#50884\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails when using Actuator on Jersey without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50872\"\u003e#50872\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails on Cloud Foundry when using Actuator without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50871\"\u003e#50871\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIllegalStateException when binding properties to a \u003ccode\u003e@Validated\u003c/code\u003e class that contains a map whose value type is a wildcard \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50856\"\u003e#50856\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHigh number of connections due to Mongo health indicator \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50852\"\u003e#50852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInconsistent handling of empty string values of spring.security.oauth2.resourceserver.jwt issuer-uri and jwk-set-uri \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50849\"\u003e#50849\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn type nullability of ApplicationContextAssert's getBean methods does not indicate that bean may be null \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50845\"\u003e#50845\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropertiesWebClientHttpServiceGroupConfigurer has highest precedence, preventing other configurers from being ordered ahead of it \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50843\"\u003e#50843\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExposing gRPC test server port should backoff if gRPC is not present \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50825\"\u003e#50825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJpaBaseConfiguration#entityManagerConfiguration can cause a dependency loop on beans declaring AsyncTaskExecutor \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50801\"\u003e#50801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.grpc.server.health.include-overall-health is not taken into account \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50799\"\u003e#50799\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSetting 'server.servlet.session.cookie.partitioned' to false still emits the 'Partitioned' cookie attribute \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50790\"\u003e#50790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eManaged version of Prometheus Client is not aligned with Micrometer's micrometer-registry-prometheus \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50780\"\u003e#50780\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMap properties bound from empty strings fail with ConverterNotFoundException \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50773\"\u003e#50773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProtobuf Common Protos should not be a managed dependency \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50772\"\u003e#50772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAn application that depends on spring-boot-security-oauth2-resource-server may fail to start with a ClassNotFoundException when Reactor is on the classpath but WebFlux is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50764\"\u003e#50764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eW3CHeaderParser's decoding is not compliant with RFC 3986 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50650\"\u003e#50650\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\u003eDescription of spring.graphql.websocket.connection-init-timeout does not render correctly in the reference guide \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51348\"\u003e#51348\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.profiles.group should have a 'spring-profile-name' hint provider \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51284\"\u003e#51284\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove reference to removed InfluxDB auto-configuration \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51176\"\u003e#51176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse JacksonJsonSerde in Kafka Streams documentation \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51161\"\u003e#51161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument alternatives to HttpMessageConverters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51129\"\u003e#51129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix stale type reference for OTLP logging transport metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51119\"\u003e#51119\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMetadata for spring.test.mockmvc.htmlunit.url declares the wrong type \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51115\"\u003e#51115\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/6fdf67ea1552691e932604d4bf67a5e08ff0b0ea\"\u003e\u003ccode\u003e6fdf67e\u003c/code\u003e\u003c/a\u003e Release 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/fde599b28b40932e4ea6194399d89245923a01e7\"\u003e\u003ccode\u003efde599b\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Pulsar 2.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9daa58f7d98b82bf16febcb91943ce267c220a50\"\u003e\u003ccode\u003e9daa58f\u003c/code\u003e\u003c/a\u003e Upgrade to Spring HATEOAS 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/353993ebc1d7b1ceccbb981b0439a42ba122a816\"\u003e\u003ccode\u003e353993e\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Data Bom 2026.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/24ba596bc4fa000614834016452435c834fdeda2\"\u003e\u003ccode\u003e24ba596\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Session 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/5cb5c294d1f4780e78d010a964049e47c074e4d6\"\u003e\u003ccode\u003e5cb5c29\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Security 7.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4adc8eb130c4e0c688ed85316f385f4e04d47679\"\u003e\u003ccode\u003e4adc8eb\u003c/code\u003e\u003c/a\u003e Upgrade to Spring LDAP 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4d9c19cbc0589f57a7265052b507bf4b961082ac\"\u003e\u003ccode\u003e4d9c19c\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Kafka 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f30f6120c4f6f8f873ac56cba478ae1f011c276c\"\u003e\u003ccode\u003ef30f612\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 7.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/b930283d97e92eb24da1de3721cdd41625266dea\"\u003e\u003ccode\u003eb930283\u003c/code\u003e\u003c/a\u003e Upgrade to Spring gRPC 1.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.1.0...v4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot:spring-boot-maven-plugin` from 4.1.0 to 4.1.1\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:spring-boot-maven-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch2\u003e:warning: Attention Required\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpring Boot's Gradle plugin no longer automatically configures gRPC when the Protobuf plugin is applied. This behavior caused problems for those using Protobuf without gRPC. To opt in to the configuration of gRPC, configure the \u003ccode\u003eprotobuf\u003c/code\u003e extension with the \u003ccode\u003egrpc\u003c/code\u003e plugin using an empty block. The Spring Boot Gradle plugin will then automatically configure the use of \u003ccode\u003eprotoc-gen-grpc-java\u003c/code\u003e as before. \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50822\"\u003e#50822\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKafka consumer-specific security protocol is not taken into account \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51369\"\u003e#51369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStructured logging: a failed JSON encode corrupts the next log event written on the same thread \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51156\"\u003e#51156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMicrometer registries pin the application context \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51135\"\u003e#51135\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTemporary file is not deleted when ExportedImageTar construction fails \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51132\"\u003e#51132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMetadata annotation processor ignores getter-level \u003ccode\u003e@NestedConfigurationProperty\u003c/code\u003e for records \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51098\"\u003e#51098\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-h2-console pulls servlet-api as transitive dependency \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51095\"\u003e#51095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropertiesLauncher does not log nested archive paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51089\"\u003e#51089\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMethods that return the result of Map#remove are not declared with a \u003ccode\u003e@Nullable\u003c/code\u003e return type \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51087\"\u003e#51087\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNativeImageResourceProvider flattens Flyway migration paths in subdirectories \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50964\"\u003e#50964\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ordering of Kotlinx Serialization CodecCustomizer \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50961\"\u003e#50961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJarFile is not closed when finding main class from archive \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50959\"\u003e#50959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplication-managed JUL bridge handler should only be removed if installed \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50950\"\u003e#50950\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCloudFoundry reactive auto-configuration should not require a WebClient.Builder bean to be defined \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50944\"\u003e#50944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails on reactive Cloud Foundry when using Actuator without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50942\"\u003e#50942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResources are not cleaned up when resolving an image that is not yet present in the builder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50941\"\u003e#50941\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGraphQlWebMvcAutoConfiguration should apply customizers in order \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50914\"\u003e#50914\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configured RedisMessageListenerContainer does not use virtual threads when spring.threads.virtual.enabled is true \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50884\"\u003e#50884\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails when using Actuator on Jersey without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50872\"\u003e#50872\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails on Cloud Foundry when using Actuator without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50871\"\u003e#50871\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIllegalStateException when binding properties to a \u003ccode\u003e@Validated\u003c/code\u003e class that contains a map whose value type is a wildcard \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50856\"\u003e#50856\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHigh number of connections due to Mongo health indicator \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50852\"\u003e#50852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInconsistent handling of empty string values of spring.security.oauth2.resourceserver.jwt issuer-uri and jwk-set-uri \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50849\"\u003e#50849\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn type nullability of ApplicationContextAssert's getBean methods does not indicate that bean may be null \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50845\"\u003e#50845\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropertiesWebClientHttpServiceGroupConfigurer has highest precedence, preventing other configurers from being ordered ahead of it \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50843\"\u003e#50843\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExposing gRPC test server port should backoff if gRPC is not present \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50825\"\u003e#50825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJpaBaseConfiguration#entityManagerConfiguration can cause a dependency loop on beans declaring AsyncTaskExecutor \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50801\"\u003e#50801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.grpc.server.health.include-overall-health is not taken into account \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50799\"\u003e#50799\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSetting 'server.servlet.session.cookie.partitioned' to false still emits the 'Partitioned' cookie attribute \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50790\"\u003e#50790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eManaged version of Prometheus Client is not aligned with Micrometer's micrometer-registry-prometheus \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50780\"\u003e#50780\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMap properties bound from empty strings fail with ConverterNotFoundException \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50773\"\u003e#50773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProtobuf Common Protos should not be a managed dependency \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50772\"\u003e#50772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAn application that depends on spring-boot-security-oauth2-resource-server may fail to start with a ClassNotFoundException when Reactor is on the classpath but WebFlux is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50764\"\u003e#50764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eW3CHeaderParser's decoding is not compliant with RFC 3986 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50650\"\u003e#50650\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\u003eDescription of spring.graphql.websocket.connection-init-timeout does not render correctly in the reference guide \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51348\"\u003e#51348\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.profiles.group should have a 'spring-profile-name' hint provider \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51284\"\u003e#51284\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove reference to removed InfluxDB auto-configuration \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51176\"\u003e#51176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse JacksonJsonSerde in Kafka Streams documentation \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51161\"\u003e#51161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument alternatives to HttpMessageConverters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51129\"\u003e#51129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix stale type reference for OTLP logging transport metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51119\"\u003e#51119\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMetadata for spring.test.mockmvc.htmlunit.url declares the wrong type \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51115\"\u003e#51115\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/6fdf67ea1552691e932604d4bf67a5e08ff0b0ea\"\u003e\u003ccode\u003e6fdf67e\u003c/code\u003e\u003c/a\u003e Release 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/fde599b28b40932e4ea6194399d89245923a01e7\"\u003e\u003ccode\u003efde599b\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Pulsar 2.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9daa58f7d98b82bf16febcb91943ce267c220a50\"\u003e\u003ccode\u003e9daa58f\u003c/code\u003e\u003c/a\u003e Upgrade to Spring HATEOAS 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/353993ebc1d7b1ceccbb981b0439a42ba122a816\"\u003e\u003ccode\u003e353993e\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Data Bom 2026.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/24ba596bc4fa000614834016452435c834fdeda2\"\u003e\u003ccode\u003e24ba596\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Session 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/5cb5c294d1f4780e78d010a964049e47c074e4d6\"\u003e\u003ccode\u003e5cb5c29\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Security 7.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4adc8eb130c4e0c688ed85316f385f4e04d47679\"\u003e\u003ccode\u003e4adc8eb\u003c/code\u003e\u003c/a\u003e Upgrade to Spring LDAP 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4d9c19cbc0589f57a7265052b507bf4b961082ac\"\u003e\u003ccode\u003e4d9c19c\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Kafka 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f30f6120c4f6f8f873ac56cba478ae1f011c276c\"\u003e\u003ccode\u003ef30f612\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 7.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/b930283d97e92eb24da1de3721cdd41625266dea\"\u003e\u003ccode\u003eb930283\u003c/code\u003e\u003c/a\u003e Upgrade to Spring gRPC 1.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.1.0...v4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.ai:spring-ai-bom` 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/spring-projects/spring-ai/releases\"\u003eorg.springframework.ai:spring-ai-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eSpring AI 2.0.1\u003c/h2\u003e\n\u003cp\u003eFor upgrading from 2.0.0 to 2.0.1, please refer to the upgrade notes \u003ca href=\"https://docs.spring.io/spring-ai/reference/upgrade-notes.html#upgrading-to-2-0-1\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eFor the detailed reference documentation on 2.0.1, please refer \u003ca href=\"https://docs.spring.io/spring-ai/reference/index.html\"\u003ehere\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHarden Ollama integration tests against flakiness \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6776\"\u003e#6776\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRetire deprecated Mistral AI chat models \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6772\"\u003e#6772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument additional 2.0.1 breaking changes \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6771\"\u003e#6771\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport audio streaming in OpenAiAudioSpeechModel \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6733\"\u003e#6733\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd configurable tool call limits \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6726\"\u003e#6726\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnrich OpenAI transcription options and responses \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6697\"\u003e#6697\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Couchbase vector store to use Spring Boot-managed client \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/issues/6583\"\u003e#6583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove explicit \u003ccode\u003eprotobuf-java\u003c/code\u003e version properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/issues/6552\"\u003e#6552\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd ToolChoice support for Google GenAI chat model \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6531\"\u003e#6531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove fastjson2 dependency from \u003ccode\u003espring-ai-azure-store\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6508\"\u003e#6508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor \u003ccode\u003eMedia\u003c/code\u003e builder to use typed \u003ccode\u003edata\u003c/code\u003e overloads \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6481\"\u003e#6481\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eValidate \u003ccode\u003eTokenTextSplitter\u003c/code\u003e builder arguments \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6452\"\u003e#6452\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport page ranges in \u003ccode\u003ePagePdfDocumentReader\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6445\"\u003e#6445\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevise DeepSeekApi \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6428\"\u003e#6428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGraalVM for mcp annotations doesn't work in Spring AI 2.0.0 \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/issues/6427\"\u003e#6427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003espring-ai-autoconfigure-model-chat-memory-redis\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6416\"\u003e#6416\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore PDF media mapping in \u003ccode\u003eOpenAiChatModel\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6410\"\u003e#6410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGoogle Image generation support \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6408\"\u003e#6408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove unused field \u003ccode\u003emaxResults\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6344\"\u003e#6344\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConfusing WARN log while AWS region resolving \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/issues/5108\"\u003e#5108\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpringAI does not follow the AWS SDK's default region resolution rules \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/issues/823\"\u003e#823\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReserve Redis chat memory timestamps atomically \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6784\"\u003e#6784\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix RedisChatMemoryRepository clear() \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6783\"\u003e#6783\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEscape metadata values in Redis chat memory queries \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/issues/6765\"\u003e#6765\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eValidate resolved resource path \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/issues/6764\"\u003e#6764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce maxSessions and sessionIdleTimeout \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/issues/6760\"\u003e#6760\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eOpenAiAudioTranscriptionModel\u003c/code\u003e leaking the stream on cancellation \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6759\"\u003e#6759\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMerge java-compile compilerArgs instead of overriding \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6756\"\u003e#6756\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDefault OpenAI tool-calling strict mode to false \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6755\"\u003e#6755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse temporary directory for cache \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/issues/6754\"\u003e#6754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle malformed pdf in PdfDocumentReader \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/issues/6753\"\u003e#6753\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake tool resolution fallback configurable \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/issues/6751\"\u003e#6751\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse full length hash \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/issues/6746\"\u003e#6746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect \u003ccode\u003eToolContext\u003c/code\u003e parameter detection \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6744\"\u003e#6744\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn a single Generation on ToolCallLimitExceededException \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6742\"\u003e#6742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ToolCallingAdvisor streaming loop dropping doBeforeStream mutations \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6737\"\u003e#6737\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd instructions option to OpenAiAudioSpeechModel \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6731\"\u003e#6731\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply MCP HTTP client request customizer beans \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6716\"\u003e#6716\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClose OpenAI stream response on cancellation \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6656\"\u003e#6656\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eValidate text length to prevent \u003ccode\u003eStringIndexOutOfBoundsException\u003c/code\u003e for \u003ccode\u003eMarkdownCodeBlockCleaner\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-ai/pull/6645\"\u003e#6645\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-ai/commit/c9107fdac0a6c88489c08bb88abcee74c146981d\"\u003e\u003ccode\u003ec9107fd\u003c/code\u003e\u003c/a\u003e Release 2.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-ai/commit/92a211954343cc46355abb723cd9f40cf581c1de\"\u003e\u003ccode\u003e92a2119\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Boot 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-ai/commit/0e7b5f62c3882202e76e7653990e57f56080bad7\"\u003e\u003ccode\u003e0e7b5f6\u003c/code\u003e\u003c/a\u003e Escape metadata values in Redis chat memory queries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-ai/commit/2d2b45503618c17df52aac339d4511fb717e7af7\"\u003e\u003ccode\u003e2d2b455\u003c/code\u003e\u003c/a\u003e Validate resolved resource path stays within the cache directory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-ai/commit/023867c80be379f53296fbb0002ac522d0d44449\"\u003e\u003ccode\u003e023867c\u003c/code\u003e\u003c/a\u003e Introduce maxSessions and sessionIdleTimeout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-ai/commit/8a1fd8ed79011f63c1d9c02fec52778416a3d2d2\"\u003e\u003ccode\u003e8a1fd8e\u003c/code\u003e\u003c/a\u003e Handle malformed pdf in PdfDocumentReader\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-ai/commit/369a92670e7de1074a6f35b7a68071a789697932\"\u003e\u003ccode\u003e369a926\u003c/code\u003e\u003c/a\u003e Use a new temporary directory for cache\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-ai/commit/096f140bfee26e3fe7867f14f96d95a86fcb2b34\"\u003e\u003ccode\u003e096f140\u003c/code\u003e\u003c/a\u003e Make tool resolution fallback configurable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-ai/commit/d89e4a4b4afc22ea8183ad1912fe0e98833f4a4b\"\u003e\u003ccode\u003ed89e4a4\u003c/code\u003e\u003c/a\u003e Use full length SHA256 hash for contextHash\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-ai/commit/3fc390f38a26f725e215c6ea3535b4082fbd6d65\"\u003e\u003ccode\u003e3fc390f\u003c/code\u003e\u003c/a\u003e Prepare 2.0.x-internal branch\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-ai/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.tngtech.archunit:archunit-junit5` from 1.4.2 to 1.5.0\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.5.0\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 27 / class file major version 71 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1618\"\u003e#1618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove descriptions of \u003ccode\u003eJavaAccess.Predicates.originOwner\u003c/code\u003e and \u003ccode\u003eJavaAccess.Predicates.targetOwner\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1603\"\u003e#1603\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eExpose information on sealed classes via \u003ccode\u003eJavaClass\u003c/code\u003e: \u003ccode\u003eisSealed()\u003c/code\u003e and \u003ccode\u003egetPermittedSubclasses()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/bannmann\"\u003e\u003ccode\u003e@​bannmann\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eImportOption.DoNotIncludeTests\u003c/code\u003e and \u003ccode\u003eOnlyIncludeTests\u003c/code\u003e consider tests in custom Gradle source sets (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/Develop-KIM\"\u003e\u003ccode\u003e@​Develop-KIM\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLang\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchConditions\u003c/code\u003e offers new \u003ccode\u003eArchCondition\u0026lt;JavaClass\u0026gt; haveAnyDependenciesThat(DescribedPredicate\u0026lt;Dependency\u0026gt;)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1580\"\u003e#1580\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/wakingrufus\"\u003e\u003ccode\u003e@​wakingrufus\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchitectureMetrics.lakosMetrics\u003c/code\u003e is computed much more performantly (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1629\"\u003e#1629\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/ThanosTsiamis\"\u003e\u003ccode\u003e@​ThanosTsiamis\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTextFileBasedViolationStore\u003c/code\u003e is now thread-safe under parallel test execution (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1656\"\u003e#1656\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/kelunik\"\u003e\u003ccode\u003e@​kelunik\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eModuleDependency\u003c/code\u003e now provides stable descriptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1648\"\u003e#1648\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/DragonFSKY\"\u003e\u003ccode\u003e@​DragonFSKY\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eJUnit\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003earchunit-junit6\u003c/code\u003e supports ArchUnit with JUnit 6 (\u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1556\"\u003e#1556\u003c/a\u003e\u003c/del\u003e, \u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1658\"\u003e#1658\u003c/a\u003e\u003c/del\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1659\"\u003e#1659\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnalyzeClasses\u003c/code\u003e supports individual classes (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1569\"\u003e#1569\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003ePreparation:\u003c/em\u003e \u003ccode\u003earchunit-junit:0.9.0\u003c/code\u003e (which was renamed with \u003ca href=\"https://github.com/TNG/ArchUnit/releases/tag/v0.9.0\"\u003eArchUnit 0.9.0\u003c/a\u003e) now relocates to \u003ccode\u003earchunit-junit4:0.9.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1673\"\u003e#1673\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋) – will be published after \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1684\"\u003e#1684\u003c/a\u003e 🙈\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocument \u003ccode\u003ePriority\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1671\"\u003e#1671\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eDocument Package Identifiers in User Guide (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1672\"\u003e#1672\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eInternal Improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eText files now use UNIX line breaks (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1602\"\u003e#1602\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1611\"\u003e#1611\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eUpdate Gradle from 8 to 9; build \u0026amp; test with JDK 25 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1550\"\u003e#1550\u003c/a\u003e, and also \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1612\"\u003e#1612\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1619\"\u003e#1619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSeparate integration tests by JUnit version (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1636\"\u003e#1636\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003ejunit-dataprovider\u003c/code\u003e with \u003ccode\u003ejunit-jupiter-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1655\"\u003e#1655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eArchUnit releases now update Maven examples (and Gradle wrapper) of \u003ca href=\"https://github.com/TNG/ArchUnit-Examples\"\u003eArchUnit-Examples\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid managing hamcrest dependency (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1467\"\u003e#1467\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\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/TNG/ArchUnit/commit/502d782bfbf2632a2c9f943a502ddd8cc3e3c46d\"\u003e\u003ccode\u003e502d782\u003c/code\u003e\u003c/a\u003e prepare release 1.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/4f26fccd784d37f469e743950f8e0a3ff686d64b\"\u003e\u003ccode\u003e4f26fcc\u003c/code\u003e\u003c/a\u003e fix testRelease exec() and task registration for Gradle 9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/96af98457c924289ecff834737eebd8a55bddda6\"\u003e\u003ccode\u003e96af984\u003c/code\u003e\u003c/a\u003e add new developers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/e427828fcb9b09117cd0e59a471314218f8331d5\"\u003e\u003ccode\u003ee427828\u003c/code\u003e\u003c/a\u003e consolidate POM checks during CI and release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a30f6e3465ed3cb0868607debf80bf83e741b5f0\"\u003e\u003ccode\u003ea30f6e3\u003c/code\u003e\u003c/a\u003e Bump gradle/actions from 6 to 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a036c08707c50e6f7091754e63389f5bd2aaec64\"\u003e\u003ccode\u003ea036c08\u003c/code\u003e\u003c/a\u003e Bump com.github.ben-manes.versions from 0.57.0 to 0.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/24a9d9e10d4bb5ba5c5678d36810ef2397470163\"\u003e\u003ccode\u003e24a9d9e\u003c/code\u003e\u003c/a\u003e Bump actions/setup-java from 5.6.0 to 5.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/9944244c116f2724ac5bc1d02c73ca10af1c92e4\"\u003e\u003ccode\u003e9944244\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/51fd6c9e90c681a3d644f8a1e86a428f64fe3418\"\u003e\u003ccode\u003e51fd6c9\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/65f4cd3a60c48b0654daa4662b563e6b8545e221\"\u003e\u003ccode\u003e65f4cd3\u003c/code\u003e\u003c/a\u003e add support for dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TNG/ArchUnit/compare/v1.4.2...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.swagger.parser.v3:swagger-parser-v3` from 2.1.45 to 2.1.47\n\nUpdates `com.networknt:json-schema-validator` from 3.0.6 to 3.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/networknt/json-schema-validator/releases\"\u003ecom.networknt:json-schema-validator's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.0.7- 2026-08-20\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efixes \u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1277\"\u003e#1277\u003c/a\u003e upgrade jackson to 3.2.1 to resolve a security vulnerability\u003c/li\u003e\n\u003cli\u003eix: uniqueItems compares numbers by value, not by node type (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1273\"\u003e#1273\u003c/a\u003e) Thanks \u003ca href=\"https://github.com/dngr2\"\u003e\u003ccode\u003e@​dngr2\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor PathType when formatting SchemaException locations (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1272\"\u003e#1272\u003c/a\u003e) Thanks \u003ca href=\"https://github.com/kalayciburak\"\u003e\u003ccode\u003e@​kalayciburak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject non-ASCII whitespace in idn-email and format tests (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1268\"\u003e#1268\u003c/a\u003e) Thanks \u003ca href=\"https://github.com/el-psy-kongroo-d\"\u003e\u003ccode\u003e@​el-psy-kongroo-d\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject non-ASCII whitespace in email format (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1267\"\u003e#1267\u003c/a\u003e) Thanks \u003ca href=\"https://github.com/el-psy-kongroo-d\"\u003e\u003ccode\u003e@​el-psy-kongroo-d\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/networknt/json-schema-validator/blob/master/CHANGELOG.md\"\u003ecom.networknt:json-schema-validator's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChange Log\u003c/h1\u003e\n\u003cp\u003eAll notable changes to this project will be documented in this file.\u003c/p\u003e\n\u003cp\u003eThis format is based on \u003ca href=\"http://keepachangelog.com/\"\u003eKeep a Changelog\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis project does not adhere to \u003ca href=\"https://semver.org/\"\u003eSemantic Versioning\u003c/a\u003e and minor version changes can have incompatible API changes. These incompatible API changes will largely affect those who have custom validator or walker implementations. Those who just use the library to validate using the standard JSON Schema Draft specifications may not need changes.\u003c/p\u003e\n\u003ch2\u003e[Unreleased]\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003ch2\u003e3.0.7- 2026-08-20\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efixes \u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1277\"\u003e#1277\u003c/a\u003e upgrade jackson to 3.2.1 to resolve a security vulnerability\u003c/li\u003e\n\u003cli\u003eix: uniqueItems compares numbers by value, not by node type (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1273\"\u003e#1273\u003c/a\u003e) Thanks \u003ca href=\"https://github.com/dngr2\"\u003e\u003ccode\u003e@​dngr2\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor PathType when formatting SchemaException locations (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1272\"\u003e#1272\u003c/a\u003e) Thanks \u003ca href=\"https://github.com/kalayciburak\"\u003e\u003ccode\u003e@​kalayciburak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject non-ASCII whitespace in idn-email and format tests (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1268\"\u003e#1268\u003c/a\u003e) Thanks \u003ca href=\"https://github.com/el-psy-kongroo-d\"\u003e\u003ccode\u003e@​el-psy-kongroo-d\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReject non-ASCII whitespace in email format (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1267\"\u003e#1267\u003c/a\u003e) Thanks \u003ca href=\"https://github.com/el-psy-kongroo-d\"\u003e\u003ccode\u003e@​el-psy-kongroo-d\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.6- 2026-07-07\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFall back to the library class loader for classpath resources (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1265\"\u003e#1265\u003c/a\u003e) Thanks \u003ca href=\"https://github.com/joaodinissf\"\u003e\u003ccode\u003e@​joaodinissf\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd schema tests (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1260\"\u003e#1260\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1261\"\u003e#1261\u003c/a\u003e) Thanks \u003ca href=\"https://github.com/gjvoosten\"\u003e\u003ccode\u003e@​gjvoosten\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump jackson to 3.1.4 to fix CVE-2026-54512 and CVE-2026-54513 (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1263\"\u003e#1263\u003c/a\u003e) Thanks \u003ca href=\"https://github.com/olinoskar\"\u003e\u003ccode\u003e@​olinoskar\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReduce per-validation allocation in ExecutionContext (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1259\"\u003e#1259\u003c/a\u003e) Thanks \u003ca href=\"https://github.com/nishantmehta\"\u003e\u003ccode\u003e@​nishantmehta\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: re-enable and strengthen recursive $ref SelfRefTest (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1258\"\u003e#1258\u003c/a\u003e) Thanks \u003ca href=\"https://github.com/koteshyelamati\"\u003e\u003ccode\u003e@​koteshyelamati\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esimplify additionalItems validation flow (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1256\"\u003e#1256\u003c/a\u003e) Thanks \u003ca href=\"https://github.com/Oz-er\"\u003e\u003ccode\u003e@​Oz-er\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.5- 2026-06-21\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efixes \u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1252\"\u003e#1252\u003c/a\u003e problem with additionalProperties schema in jsconfig schema (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1253\"\u003e#1253\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efixes \u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1174\"\u003e#1174\u003c/a\u003e TextNodes as schema seem to validate any value (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1250\"\u003e#1250\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.4- 2026-06-10\u003c/h2\u003e\n\u003ch3\u003eAdded\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/networknt/json-schema-validator/commit/18539a8265f79a9ceda45be6e42b36eba5f377e5\"\u003e\u003ccode\u003e18539a8\u003c/code\u003e\u003c/a\u003e upgrade to 3.0.7 and update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networknt/json-schema-validator/commit/f92d938ae4fe0b4b42fbf20c6966e9514b26cfb9\"\u003e\u003ccode\u003ef92d938\u003c/code\u003e\u003c/a\u003e fixes \u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1277\"\u003e#1277\u003c/a\u003e upgrade jackson to 3.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networknt/json-schema-validator/commit/285170f885ea78c81a81659c1ecb7292c710aaa0\"\u003e\u003ccode\u003e285170f\u003c/code\u003e\u003c/a\u003e fix: uniqueItems compares numbers by value, not by node type (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1273\"\u003e#1273\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networknt/json-schema-validator/commit/e877866f973fc94b2a7ab2e500b6de6ba5bee4c9\"\u003e\u003ccode\u003ee877866\u003c/code\u003e\u003c/a\u003e Honor PathType when formatting SchemaException locations (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1272\"\u003e#1272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networknt/json-schema-validator/commit/73eb8f2a0553c7c5ba4269940dbf311e1b82e90d\"\u003e\u003ccode\u003e73eb8f2\u003c/code\u003e\u003c/a\u003e Reject non-ASCII whitespace in idn-email and strengthen email format tests (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/networknt/json-schema-validator/commit/d97a3680b2863874241c4a569fe9e4bfad4d7935\"\u003e\u003ccode\u003ed97a368\u003c/code\u003e\u003c/a\u003e Reject non-ASCII whitespace in email format (\u003ca href=\"https://redirect.github.com/networknt/json-schema-validator/issues/1267\"\u003e#1267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/networknt/json-schema-validator/compare/3.0.6...3.0.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:spring-boot-maven-plugin` from 4.1.0 to 4.1.1\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:spring-boot-maven-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch2\u003e:warning: Attention Required\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpring Boot's Gradle plugin no longer automatically configures gRPC when the Protobuf plugin is applied. This behavior caused problems for those using Protobuf without gRPC. To opt in to the configuration of gRPC, configure the \u003ccode\u003eprotobuf\u003c/code\u003e extension with the \u003ccode\u003egrpc\u003c/code\u003e plugin using an empty block. The Spring Boot Gradle plugin will then automatically configure the use of \u003ccode\u003eprotoc-gen-grpc-java\u003c/code\u003e as before. \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50822\"\u003e#50822\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKafka consumer-specific security protocol is not taken into account \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51369\"\u003e#51369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStructured logging: a failed JSON encode corrupts the next log event written on the same thread \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51156\"\u003e#51156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMicrometer registries pin the application context \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51135\"\u003e#51135\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTemporary file is not deleted when ExportedImageTar construction fails \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51132\"\u003e#51132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMetadata annotation processor ignores getter-level \u003ccode\u003e@NestedConfigurationProperty\u003c/code\u003e for records \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51098\"\u003e#51098\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-h2-console pulls servlet-api as transitive dependency \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51095\"\u003e#51095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropertiesLauncher does not log nested archive paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51089\"\u003e#51089\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMethods that return the result of Map#remove are not declared with a \u003ccode\u003e@Nullable\u003c/code\u003e return type \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51087\"\u003e#51087\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNativeImageResourceProvider flattens Flyway migration paths in subdirectories \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50964\"\u003e#50964\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ordering of Kotlinx Serialization CodecCustomizer \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50961\"\u003e#50961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJarFile is not closed when finding main class from archive \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50959\"\u003e#50959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplication-managed JUL bridge handler should only be removed if installed \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50950\"\u003e#50950\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCloudFoundry reactive auto-configuration should not require a WebClient.Builder bean to be defined \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50944\"\u003e#50944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails on reactive Cloud Foundry when using Actuator without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50942\"\u003e#50942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResources are not cleaned up when resolving an image that is not yet present in the builder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50941\"\u003e#50941\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGraphQlWebMvcAutoConfiguration should apply customizers in order \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50914\"\u003e#50914\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configured RedisMessageListenerContainer does not use virtual threads when spring.threads.virtual.enabled is true \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50884\"\u003e#50884\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails when using Actuator on Jersey without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50872\"\u003e#50872\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails on Cloud Foundry when using Actuator without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50871\"\u003e#50871\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIllegalStateException when binding properties to a \u003ccode\u003e@Validated\u003c/code\u003e class that contains a map whose value type is a wildcard \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50856\"\u003e#50856\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHigh number of connections due to Mongo health indicator \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50852\"\u003e#50852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInconsistent handling of empty string values of spring.security.oauth2.resourceserver.jwt issuer-uri and jwk-set-uri \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50849\"\u003e#50849\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn type nullability of ApplicationContextAssert's getBean methods does not indicate that bean may be null \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50845\"\u003e#50845\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropertiesWebClientHttpServiceGroupConfigurer has highest precedence, preventing other configurers from being ordered ahead of it \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50843\"\u003e#50843\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExposing gRPC test server port should backoff if gRPC is not present \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50825\"\u003e#50825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJpaBaseConfiguration#entityManagerConfiguration can cause a dependency loop on beans declaring AsyncTaskExecutor \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50801\"\u003e#50801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.grpc.server.health.include-overall-health is not taken into account \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50799\"\u003e#50799\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSetting 'server.servlet.session.cookie.partitioned' to false still emits the 'Partitioned' cookie attribute \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50790\"\u003e#50790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eManaged version of Prometheus Client is not aligned with Micrometer's micrometer-registry-prometheus \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50780\"\u003e#50780\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMap properties bound from empty strings fail with ConverterNotFoundException \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50773\"\u003e#50773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProtobuf Common Protos should not be a managed dependency \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50772\"\u003e#50772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAn application that depends on spring-boot-security-oauth2-resource-server may fail to start with a ClassNotFoundException when Reactor is on the classpath but WebFlux is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50764\"\u003e#50764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eW3CHeaderParser's decoding is not compliant with RFC 3986 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50650\"\u003e#50650\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\u003eDescription of spring.graphql.websocket.connection-init-timeout does not render correctly in the reference guide \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51348\"\u003e#51348\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.profiles.group should have a 'spring-profile-name' hint provider \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51284\"\u003e#51284\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove reference to removed InfluxDB auto-configuration \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51176\"\u003e#51176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse JacksonJsonSerde in Kafka Streams documentation \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51161\"\u003e#51161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument alternatives to HttpMessageConverters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51129\"\u003e#51129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix stale type reference for OTLP logging transport metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51119\"\u003e#51119\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMetadata for spring.test.mockmvc.htmlunit.url declares the wrong type \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51115\"\u003e#51115\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/6fdf67ea1552691e932604d4bf67a5e08ff0b0ea\"\u003e\u003ccode\u003e6fdf67e\u003c/code\u003e\u003c/a\u003e Release 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/fde599b28b40932e4ea6194399d89245923a01e7\"\u003e\u003ccode\u003efde599b\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Pulsar 2.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9daa58f7d98b82bf16febcb91943ce267c220a50\"\u003e\u003ccode\u003e9daa58f\u003c/code\u003e\u003c/a\u003e Upgrade to Spring HATEOAS 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/353993ebc1d7b1ceccbb981b0439a42ba122a816\"\u003e\u003ccode\u003e353993e\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Data Bom 2026.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/24ba596bc4fa000614834016452435c834fdeda2\"\u003e\u003ccode\u003e24ba596\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Session 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/5cb5c294d1f4780e78d010a964049e47c074e4d6\"\u003e\u003ccode\u003e5cb5c29\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Security 7.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4adc8eb130c4e0c688ed85316f385f4e04d47679\"\u003e\u003ccode\u003e4adc8eb\u003c/code\u003e\u003c/a\u003e Upgrade to Spring LDAP 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4d9c19cbc0589f57a7265052b507bf4b961082ac\"\u003e\u003ccode\u003e4d9c19c\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Kafka 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f30f6120c4f6f8f873ac56cba478ae1f011c276c\"\u003e\u003ccode\u003ef30f612\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 7.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/b930283d97e92eb24da1de3721cdd41625266dea\"\u003e\u003ccode\u003eb930283\u003c/code\u003e\u003c/a\u003e Upgrade to Spring gRPC 1.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.1.0...v4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.h2database:h2` from 2.3.232 to 2.4.240\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/h2database/h2database/releases\"\u003ecom.h2database:h2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.4.240\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/h2database/h2database/commit/c8eb81be7a30786b7534377a7e475bdaa08aeeb8\"\u003e\u003ccode\u003ec8eb81b\u003c/code\u003e\u003c/a\u003e in preparation for a release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h2database/h2database/commit/7ff5ee5cf0fa7d75ad341ebf53ff9301e390b537\"\u003e\u003ccode\u003e7ff5ee5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h2database/h2database/issues/4260\"\u003e#4260\u003c/a\u003e from JackPGreen/update-maven-central-url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h2database/h2database/commit/da4c337f0251d51b2aaeeb28133fb87c8da4907c\"\u003e\u003ccode\u003eda4c337\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h2database/h2database/issues/4271\"\u003e#4271\u003c/a\u003e from IrisesD/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h2database/h2database/commit/d053544f6baa9d91339b51a1b30572d1fabfe705\"\u003e\u003ccode\u003ed053544\u003c/code\u003e\u003c/a\u003e feat: allow \u003ccode\u003eCATALOG\u003c/code\u003e in \u003ccode\u003eCREATE SCHEMA\u003c/code\u003e and \u003ccode\u003eDROP SCHEMA\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/h2database/h2database/issues/4277\"\u003e#4277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h2database/h2database/commit/a448d91e083eceec493be60d398656f27a0ed4c7\"\u003e\u003ccode\u003ea448d91\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h2database/h2database/issues/4273\"\u003e#4273\u003c/a\u003e from naive924/feat/compactThreads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h2database/h2database/commit/6672123e6a404d6fde309bc9871538ddf838b0b6\"\u003e\u003ccode\u003e6672123\u003c/code\u003e\u003c/a\u003e fix: change log\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h2database/h2database/commit/858e74abc3676686c547f0182a73519e9962044c\"\u003e\u003ccode\u003e858e74a\u003c/code\u003e\u003c/a\u003e fix: MVStore.compact: run map copy in parallel by default (¼ cores, override ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h2database/h2database/commit/bce0ec1f9e116dae837d756af14281d3d566905d\"\u003e\u003ccode\u003ebce0ec1\u003c/code\u003e\u003c/a\u003e feat: parallel map copy option for MVStore.compact()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h2database/h2database/commit/d8a6cc3e20e028ac854c08764b9c3e41e360b72e\"\u003e\u003ccode\u003ed8a6cc3\u003c/code\u003e\u003c/a\u003e Fix command syntax in help.csv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/h2database/h2database/commit/c45413cdc3f0c0bf77a62817c14cdaec65c87096\"\u003e\u003ccode\u003ec45413c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/h2database/h2database/issues/4266\"\u003e#4266\u003c/a\u003e from andreitokar/issue-4208-2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/h2database/h2database/compare/version-2.3.232...version-2.4.240\"\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/DavidDingXu/java-ai-engineering-practice/pull/23","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavidDingXu%2Fjava-ai-engineering-practice/issues/23","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/23/packages"}},{"old_version":"1.2.0","new_version":"1.5.0","update_type":"minor","path":"/services","pr_created_at":"2026-08-29T08:04:13.000Z","version_change":"1.2.0 → 1.5.0","issue":{"uuid":"5285414376","node_id":"PR_kwDORHwl-s8AAAABBbQrCA","number":134,"state":"closed","title":"chore(deps): bump the all-maven group in /services with 16 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-09-05T08:03:41.000Z","author_association":null,"state_reason":null,"created_at":"2026-08-29T08:04:13.000Z","updated_at":"2026-09-05T08:03:43.000Z","time_to_close":604768,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"all-maven","update_count":16,"packages":[{"name":"org.springframework.boot:spring-boot-starter-parent","old_version":"3.2.5","new_version":"4.1.1","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.testcontainers:testcontainers-bom","old_version":"1.21.4","new_version":"2.0.5","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.codehaus.mojo:flatten-maven-plugin","old_version":"1.6.0","new_version":"1.8.0","repository_url":"https://github.com/mojohaus/flatten-maven-plugin"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.2.0","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"com.baomidou:mybatis-plus-spring-boot3-starter","old_version":"3.5.16","new_version":"3.5.17","repository_url":"https://github.com/baomidou/mybatis-plus"},{"name":"com.baomidou:mybatis-plus-jsqlparser","old_version":"3.5.16","new_version":"3.5.17","repository_url":"https://github.com/baomidou/mybatis-plus"},{"name":"com.baomidou:mybatis-plus-annotation","old_version":"3.5.16","new_version":"3.5.17","repository_url":"https://github.com/baomidou/mybatis-plus"},{"name":"com.baomidou:mybatis-plus-extension","old_version":"3.5.16","new_version":"3.5.17","repository_url":"https://github.com/baomidou/mybatis-plus"},{"name":"io.swagger.core.v3:swagger-annotations-jakarta","old_version":"2.2.22","new_version":"2.2.54"},{"name":"org.redisson:redisson-spring-boot-starter","old_version":"4.3.1","new_version":"4.7.0"},{"name":"cn.hutool:hutool-all","old_version":"5.8.44","new_version":"5.8.47","repository_url":"https://github.com/looly/hutool"},{"name":"org.jacoco:jacoco-maven-plugin","old_version":"0.8.14","new_version":"0.8.15","repository_url":"https://github.com/jacoco/jacoco"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"2.6.0","new_version":"3.1.0","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"com.meilisearch.sdk:meilisearch-java","old_version":"0.20.1","new_version":"0.21.0","repository_url":"https://github.com/meilisearch/meilisearch-java"},{"name":"org.flywaydb:flyway-core","old_version":"10.10.0","new_version":"13.3.0"},{"name":"org.flywaydb:flyway-mysql","old_version":"10.10.0","new_version":"13.3.0"}],"path":"/services","ecosystem":"maven"},"body":"Bumps the all-maven group in /services with 16 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.springframework.boot:spring-boot-starter-parent](https://github.com/spring-projects/spring-boot) | `3.2.5` | `4.1.1` |\n| [org.testcontainers:testcontainers-bom](https://github.com/testcontainers/testcontainers-java) | `1.21.4` | `2.0.5` |\n| [org.codehaus.mojo:flatten-maven-plugin](https://github.com/mojohaus/flatten-maven-plugin) | `1.6.0` | `1.8.0` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.2.0` | `1.5.0` |\n| [com.baomidou:mybatis-plus-spring-boot3-starter](https://github.com/baomidou/mybatis-plus) | `3.5.16` | `3.5.17` |\n| [com.baomidou:mybatis-plus-jsqlparser](https://github.com/baomidou/mybatis-plus) | `3.5.16` | `3.5.17` |\n| [com.baomidou:mybatis-plus-annotation](https://github.com/baomidou/mybatis-plus) | `3.5.16` | `3.5.17` |\n| [com.baomidou:mybatis-plus-extension](https://github.com/baomidou/mybatis-plus) | `3.5.16` | `3.5.17` |\n| io.swagger.core.v3:swagger-annotations-jakarta | `2.2.22` | `2.2.54` |\n| org.redisson:redisson-spring-boot-starter | `4.3.1` | `4.7.0` |\n| [cn.hutool:hutool-all](https://github.com/looly/hutool) | `5.8.44` | `5.8.47` |\n| [org.jacoco:jacoco-maven-plugin](https://github.com/jacoco/jacoco) | `0.8.14` | `0.8.15` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `2.6.0` | `3.1.0` |\n| [com.meilisearch.sdk:meilisearch-java](https://github.com/meilisearch/meilisearch-java) | `0.20.1` | `0.21.0` |\n| org.flywaydb:flyway-core | `10.10.0` | `13.3.0` |\n| org.flywaydb:flyway-mysql | `10.10.0` | `13.3.0` |\n\nUpdates `org.springframework.boot:spring-boot-starter-parent` from 3.2.5 to 4.1.1\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:spring-boot-starter-parent's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch2\u003e:warning: Attention Required\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpring Boot's Gradle plugin no longer automatically configures gRPC when the Protobuf plugin is applied. This behavior caused problems for those using Protobuf without gRPC. To opt in to the configuration of gRPC, configure the \u003ccode\u003eprotobuf\u003c/code\u003e extension with the \u003ccode\u003egrpc\u003c/code\u003e plugin using an empty block. The Spring Boot Gradle plugin will then automatically configure the use of \u003ccode\u003eprotoc-gen-grpc-java\u003c/code\u003e as before. \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50822\"\u003e#50822\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKafka consumer-specific security protocol is not taken into account \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51369\"\u003e#51369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStructured logging: a failed JSON encode corrupts the next log event written on the same thread \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51156\"\u003e#51156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMicrometer registries pin the application context \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51135\"\u003e#51135\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTemporary file is not deleted when ExportedImageTar construction fails \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51132\"\u003e#51132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMetadata annotation processor ignores getter-level \u003ccode\u003e@NestedConfigurationProperty\u003c/code\u003e for records \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51098\"\u003e#51098\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-h2-console pulls servlet-api as transitive dependency \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51095\"\u003e#51095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropertiesLauncher does not log nested archive paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51089\"\u003e#51089\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMethods that return the result of Map#remove are not declared with a \u003ccode\u003e@Nullable\u003c/code\u003e return type \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51087\"\u003e#51087\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNativeImageResourceProvider flattens Flyway migration paths in subdirectories \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50964\"\u003e#50964\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ordering of Kotlinx Serialization CodecCustomizer \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50961\"\u003e#50961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJarFile is not closed when finding main class from archive \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50959\"\u003e#50959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplication-managed JUL bridge handler should only be removed if installed \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50950\"\u003e#50950\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCloudFoundry reactive auto-configuration should not require a WebClient.Builder bean to be defined \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50944\"\u003e#50944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails on reactive Cloud Foundry when using Actuator without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50942\"\u003e#50942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResources are not cleaned up when resolving an image that is not yet present in the builder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50941\"\u003e#50941\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGraphQlWebMvcAutoConfiguration should apply customizers in order \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50914\"\u003e#50914\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configured RedisMessageListenerContainer does not use virtual threads when spring.threads.virtual.enabled is true \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50884\"\u003e#50884\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails when using Actuator on Jersey without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50872\"\u003e#50872\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eContext refresh fails on Cloud Foundry when using Actuator without spring-boot-health \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50871\"\u003e#50871\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIllegalStateException when binding properties to a \u003ccode\u003e@Validated\u003c/code\u003e class that contains a map whose value type is a wildcard \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50856\"\u003e#50856\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHigh number of connections due to Mongo health indicator \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50852\"\u003e#50852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInconsistent handling of empty string values of spring.security.oauth2.resourceserver.jwt issuer-uri and jwk-set-uri \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50849\"\u003e#50849\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn type nullability of ApplicationContextAssert's getBean methods does not indicate that bean may be null \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50845\"\u003e#50845\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePropertiesWebClientHttpServiceGroupConfigurer has highest precedence, preventing other configurers from being ordered ahead of it \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50843\"\u003e#50843\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExposing gRPC test server port should backoff if gRPC is not present \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50825\"\u003e#50825\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJpaBaseConfiguration#entityManagerConfiguration can cause a dependency loop on beans declaring AsyncTaskExecutor \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50801\"\u003e#50801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.grpc.server.health.include-overall-health is not taken into account \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50799\"\u003e#50799\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSetting 'server.servlet.session.cookie.partitioned' to false still emits the 'Partitioned' cookie attribute \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50790\"\u003e#50790\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eManaged version of Prometheus Client is not aligned with Micrometer's micrometer-registry-prometheus \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50780\"\u003e#50780\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMap properties bound from empty strings fail with ConverterNotFoundException \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50773\"\u003e#50773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProtobuf Common Protos should not be a managed dependency \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50772\"\u003e#50772\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAn application that depends on spring-boot-security-oauth2-resource-server may fail to start with a ClassNotFoundException when Reactor is on the classpath but WebFlux is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50764\"\u003e#50764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eW3CHeaderParser's decoding is not compliant with RFC 3986 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50650\"\u003e#50650\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\u003eDescription of spring.graphql.websocket.connection-init-timeout does not render correctly in the reference guide \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51348\"\u003e#51348\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.profiles.group should have a 'spring-profile-name' hint provider \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51284\"\u003e#51284\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove reference to removed InfluxDB auto-configuration \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51176\"\u003e#51176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse JacksonJsonSerde in Kafka Streams documentation \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51161\"\u003e#51161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument alternatives to HttpMessageConverters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51129\"\u003e#51129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix stale type reference for OTLP logging transport metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/51119\"\u003e#51119\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMetadata for spring.test.mockmvc.htmlunit.url declares the wrong type \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/51115\"\u003e#51115\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/6fdf67ea1552691e932604d4bf67a5e08ff0b0ea\"\u003e\u003ccode\u003e6fdf67e\u003c/code\u003e\u003c/a\u003e Release 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/fde599b28b40932e4ea6194399d89245923a01e7\"\u003e\u003ccode\u003efde599b\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Pulsar 2.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9daa58f7d98b82bf16febcb91943ce267c220a50\"\u003e\u003ccode\u003e9daa58f\u003c/code\u003e\u003c/a\u003e Upgrade to Spring HATEOAS 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/353993ebc1d7b1ceccbb981b0439a42ba122a816\"\u003e\u003ccode\u003e353993e\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Data Bom 2026.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/24ba596bc4fa000614834016452435c834fdeda2\"\u003e\u003ccode\u003e24ba596\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Session 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/5cb5c294d1f4780e78d010a964049e47c074e4d6\"\u003e\u003ccode\u003e5cb5c29\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Security 7.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4adc8eb130c4e0c688ed85316f385f4e04d47679\"\u003e\u003ccode\u003e4adc8eb\u003c/code\u003e\u003c/a\u003e Upgrade to Spring LDAP 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4d9c19cbc0589f57a7265052b507bf4b961082ac\"\u003e\u003ccode\u003e4d9c19c\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Kafka 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f30f6120c4f6f8f873ac56cba478ae1f011c276c\"\u003e\u003ccode\u003ef30f612\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 7.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/b930283d97e92eb24da1de3721cdd41625266dea\"\u003e\u003ccode\u003eb930283\u003c/code\u003e\u003c/a\u003e Upgrade to Spring gRPC 1.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v3.2.5...v4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.testcontainers:testcontainers-bom` from 1.21.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-bom'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\u003ch2\u003e2.0.4\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/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/1.21.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.codehaus.mojo:flatten-maven-plugin` from 1.6.0 to 1.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/releases\"\u003eorg.codehaus.mojo:flatten-maven-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.8.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e🚀 New features and improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eConfigurable name for the revision variable (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/487\"\u003e#487\u003c/a\u003e) \u003ca href=\"https://github.com/senivam\"\u003e\u003ccode\u003e@​senivam\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 for \u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/issues/408\"\u003e#408\u003c/a\u003e, ensure nested dependency exclusions aren't overrided (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/485\"\u003e#485\u003c/a\u003e) \u003ca href=\"https://github.com/treilhes\"\u003e\u003ccode\u003e@​treilhes\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for Maven 3.10.x (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/517\"\u003e#517\u003c/a\u003e) \u003ca href=\"https://github.com/slawekjaranowski\"\u003e\u003ccode\u003e@​slawekjaranowski\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🔧 Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd PR automation workflow to GitHub Actions (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/522\"\u003e#522\u003c/a\u003e) \u003ca href=\"https://github.com/slawekjaranowski\"\u003e\u003ccode\u003e@​slawekjaranowski\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump mavenVersion from 3.9.15 to 3.9.16 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/511\"\u003e#511\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump apache/maven-gh-actions-shared/.github/workflows/release-drafter.yml from 4 to 5 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/514\"\u003e#514\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml from 4 to 5 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/516\"\u003e#516\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump apache/maven-gh-actions-shared/.github/workflows/stale.yml from 4 to 5 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/515\"\u003e#515\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.mojo:mojo-parent from 96 to 97 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/519\"\u003e#519\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mavenVersion from 3.9.14 to 3.9.15 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/509\"\u003e#509\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/510\"\u003e#510\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.plexus:plexus-utils from 4.0.2 to 4.0.3 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/508\"\u003e#508\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.6 to 3.27.7 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/502\"\u003e#502\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven.plugin-testing:maven-plugin-testing-harness from 3.5.0 to 3.5.1 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/503\"\u003e#503\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.fasterxml.jackson.core:jackson-core from 2.15.0 to 2.18.6 in /src/it/projects/bom-pomElements/bom (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/504\"\u003e#504\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mavenVersion from 3.9.12 to 3.9.14 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/506\"\u003e#506\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.mojo:mojo-parent from 95 to 96 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/507\"\u003e#507\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven.plugin-testing:maven-plugin-testing-harness from 3.4.0 to 3.5.0 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/501\"\u003e#501\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mavenVersion from 3.9.11 to 3.9.12 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/498\"\u003e#498\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump parent to 95 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/500\"\u003e#500\u003c/a\u003e) \u003ca href=\"https://github.com/slachiewicz\"\u003e\u003ccode\u003e@​slachiewicz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.5 to 3.27.6 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/484\"\u003e#484\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump commons-io:commons-io from 2.20.0 to 2.21.0 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/492\"\u003e#492\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.plexus:plexus-interpolation from 1.28 to 1.29 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/493\"\u003e#493\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven.plugin-testing:maven-plugin-testing-harness from 3.3.0 to 3.4.0 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/491\"\u003e#491\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.7.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixes condition-activated profiles not considered in effective model (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/481\"\u003e#481\u003c/a\u003e) \u003ca href=\"https://github.com/oldhen\"\u003e\u003ccode\u003e@​oldhen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.4 to 3.27.5 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/482\"\u003e#482\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.mojo:mojo-parent from 92 to 93 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/480\"\u003e#480\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.3 to 3.27.4 (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/pull/479\"\u003e#479\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\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/mojohaus/flatten-maven-plugin/commit/1b211937fc61b40e1c38a59fb882c0910032b089\"\u003e\u003ccode\u003e1b21193\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release 1.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/f693210d117749539f80068a48d08bcb43a7bc6c\"\u003e\u003ccode\u003ef693210\u003c/code\u003e\u003c/a\u003e Add PR automation workflow to GitHub Actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/cff2c4f2cd38899523db4f64d84f21236211028a\"\u003e\u003ccode\u003ecff2c4f\u003c/code\u003e\u003c/a\u003e Document \u003ccode\u003erevisionVariableName\u003c/code\u003e parameter with \u003ccode\u003e@since 1.8.0\u003c/code\u003e tag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/f18a67dc288e60362c04ca51e4c43f67b5e2de94\"\u003e\u003ccode\u003ef18a67d\u003c/code\u003e\u003c/a\u003e Fix for \u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/issues/408\"\u003e#408\u003c/a\u003e, ensure nested dependency exclusions aren't overrided (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/issues/485\"\u003e#485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/35396b634a203a1a3b7f5c52e0b72202285bce01\"\u003e\u003ccode\u003e35396b6\u003c/code\u003e\u003c/a\u003e Bump mavenVersion from 3.9.15 to 3.9.16\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/f78e07e292aea3ea95d7829e4983a7018f5cc95d\"\u003e\u003ccode\u003ef78e07e\u003c/code\u003e\u003c/a\u003e Bump apache/maven-gh-actions-shared/.github/workflows/release-drafter.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/25f849ed5277a9266bf2b2618686595974c403d9\"\u003e\u003ccode\u003e25f849e\u003c/code\u003e\u003c/a\u003e Bump apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/5fcc98fc10355f9128f48a1bd1a937378e37c5a8\"\u003e\u003ccode\u003e5fcc98f\u003c/code\u003e\u003c/a\u003e Bump apache/maven-gh-actions-shared/.github/workflows/stale.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/4bd9edaa0f2873c68a671b9dcb0fa674344f1a5c\"\u003e\u003ccode\u003e4bd9eda\u003c/code\u003e\u003c/a\u003e Bump org.codehaus.mojo:mojo-parent from 96 to 97\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/commit/7bacd0e6773453b0eafc79aa20923186030d2cd4\"\u003e\u003ccode\u003e7bacd0e\u003c/code\u003e\u003c/a\u003e Fix for Maven 3.10.x (\u003ca href=\"https://redirect.github.com/mojohaus/flatten-maven-plugin/issues/517\"\u003e#517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mojohaus/flatten-maven-plugin/compare/1.6.0...1.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.tngtech.archunit:archunit-junit5` from 1.2.0 to 1.5.0\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.5.0\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 27 / class file major version 71 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1618\"\u003e#1618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove descriptions of \u003ccode\u003eJavaAccess.Predicates.originOwner\u003c/code\u003e and \u003ccode\u003eJavaAccess.Predicates.targetOwner\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1603\"\u003e#1603\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eExpose information on sealed classes via \u003ccode\u003eJavaClass\u003c/code\u003e: \u003ccode\u003eisSealed()\u003c/code\u003e and \u003ccode\u003egetPermittedSubclasses()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/bannmann\"\u003e\u003ccode\u003e@​bannmann\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eImportOption.DoNotIncludeTests\u003c/code\u003e and \u003ccode\u003eOnlyIncludeTests\u003c/code\u003e consider tests in custom Gradle source sets (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/Develop-KIM\"\u003e\u003ccode\u003e@​Develop-KIM\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLang\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchConditions\u003c/code\u003e offers new \u003ccode\u003eArchCondition\u0026lt;JavaClass\u0026gt; haveAnyDependenciesThat(DescribedPredicate\u0026lt;Dependency\u0026gt;)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1580\"\u003e#1580\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/wakingrufus\"\u003e\u003ccode\u003e@​wakingrufus\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchitectureMetrics.lakosMetrics\u003c/code\u003e is computed much more performantly (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1629\"\u003e#1629\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/ThanosTsiamis\"\u003e\u003ccode\u003e@​ThanosTsiamis\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTextFileBasedViolationStore\u003c/code\u003e is now thread-safe under parallel test execution (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1656\"\u003e#1656\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/kelunik\"\u003e\u003ccode\u003e@​kelunik\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eModuleDependency\u003c/code\u003e now provides stable descriptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1648\"\u003e#1648\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/DragonFSKY\"\u003e\u003ccode\u003e@​DragonFSKY\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eJUnit\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003earchunit-junit6\u003c/code\u003e supports ArchUnit with JUnit 6 (\u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1556\"\u003e#1556\u003c/a\u003e\u003c/del\u003e, \u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1658\"\u003e#1658\u003c/a\u003e\u003c/del\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1659\"\u003e#1659\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnalyzeClasses\u003c/code\u003e supports individual classes (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1569\"\u003e#1569\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003ePreparation:\u003c/em\u003e \u003ccode\u003earchunit-junit:0.9.0\u003c/code\u003e (which was renamed with \u003ca href=\"https://github.com/TNG/ArchUnit/releases/tag/v0.9.0\"\u003eArchUnit 0.9.0\u003c/a\u003e) now relocates to \u003ccode\u003earchunit-junit4:0.9.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1673\"\u003e#1673\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋) – will be published after \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1684\"\u003e#1684\u003c/a\u003e 🙈\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocument \u003ccode\u003ePriority\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1671\"\u003e#1671\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eDocument Package Identifiers in User Guide (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1672\"\u003e#1672\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eInternal Improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eText files now use UNIX line breaks (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1602\"\u003e#1602\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1611\"\u003e#1611\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eUpdate Gradle from 8 to 9; build \u0026amp; test with JDK 25 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1550\"\u003e#1550\u003c/a\u003e, and also \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1612\"\u003e#1612\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1619\"\u003e#1619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSeparate integration tests by JUnit version (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1636\"\u003e#1636\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003ejunit-dataprovider\u003c/code\u003e with \u003ccode\u003ejunit-jupiter-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1655\"\u003e#1655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eArchUnit releases now update Maven examples (and Gradle wrapper) of \u003ca href=\"https://github.com/TNG/ArchUnit-Examples\"\u003eArchUnit-Examples\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid managing hamcrest dependency (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1467\"\u003e#1467\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\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\u003ch2\u003eArchUnit 1.4.1\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 25 / class file major version 69 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1440\"\u003e#1440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\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/TNG/ArchUnit/commit/502d782bfbf2632a2c9f943a502ddd8cc3e3c46d\"\u003e\u003ccode\u003e502d782\u003c/code\u003e\u003c/a\u003e prepare release 1.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/4f26fccd784d37f469e743950f8e0a3ff686d64b\"\u003e\u003ccode\u003e4f26fcc\u003c/code\u003e\u003c/a\u003e fix testRelease exec() and task registration for Gradle 9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/96af98457c924289ecff834737eebd8a55bddda6\"\u003e\u003ccode\u003e96af984\u003c/code\u003e\u003c/a\u003e add new developers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/e427828fcb9b09117cd0e59a471314218f8331d5\"\u003e\u003ccode\u003ee427828\u003c/code\u003e\u003c/a\u003e consolidate POM checks during CI and release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a30f6e3465ed3cb0868607debf80bf83e741b5f0\"\u003e\u003ccode\u003ea30f6e3\u003c/code\u003e\u003c/a\u003e Bump gradle/actions from 6 to 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a036c08707c50e6f7091754e63389f5bd2aaec64\"\u003e\u003ccode\u003ea036c08\u003c/code\u003e\u003c/a\u003e Bump com.github.ben-manes.versions from 0.57.0 to 0.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/24a9d9e10d4bb5ba5c5678d36810ef2397470163\"\u003e\u003ccode\u003e24a9d9e\u003c/code\u003e\u003c/a\u003e Bump actions/setup-java from 5.6.0 to 5.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/9944244c116f2724ac5bc1d02c73ca10af1c92e4\"\u003e\u003ccode\u003e9944244\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/51fd6c9e90c681a3d644f8a1e86a428f64fe3418\"\u003e\u003ccode\u003e51fd6c9\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/65f4cd3a60c48b0654daa4662b563e6b8545e221\"\u003e\u003ccode\u003e65f4cd3\u003c/code\u003e\u003c/a\u003e add support for dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TNG/ArchUnit/compare/v1.2.0...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.baomidou:mybatis-plus-spring-boot3-starter` from 3.5.16 to 3.5.17\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/baomidou/mybatis-plus/releases\"\u003ecom.baomidou:mybatis-plus-spring-boot3-starter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.17\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6899\u003c/code\u003e 多租户插件 \u003ccode\u003e@Many\u003c/code\u003e 注解查无效问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6938\u003c/code\u003e \u003ccode\u003eHashMap\u003c/code\u003e 设置类型转换器异常\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7081\u003c/code\u003e 解决拦截全表存在 \u003ccode\u003eschema\u003c/code\u003e 校验问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6905\u003c/code\u003e 关于 \u003ccode\u003esaveOrUpdateBatch\u003c/code\u003e 导致 \u003ccode\u003eParameterHandler\u003c/code\u003e 被重复执行问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7056\u003c/code\u003e 支持 \u003ccode\u003eGraalVM Native\u003c/code\u003e 二进制编译问题，案例 \u003ca href=\"https://gitee.com/baomidou/mybatis-plus-native-image-demo\"\u003ehttps://gitee.com/baomidou/mybatis-plus-native-image-demo\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7027\u003c/code\u003e 支持 \u003ccode\u003eJDK 9+\u003c/code\u003e 模块化包重名问题，注意 \u003ccode\u003emybatis-plus-spring\u003c/code\u003e 模块下文件包名调整\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ewrapper\u003c/code\u003e 支持 \u003ccode\u003exml\u003c/code\u003e 别名配置\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003emybatis-plus-spring-boot-native-image\u003c/code\u003e 模块支持 \u003ccode\u003egraalvm\u003c/code\u003e 编译能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 支持自动识别 \u003ccode\u003etypeHandler\u003c/code\u003e 类型处理器\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 对比 \u003ccode\u003eeqOrIsNull\u003c/code\u003e 方法\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ei18n\u003c/code\u003e 逻辑删除日期格式及自动更新填充能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eGroovy\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eKotlin\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eMybatisEnumTypeHandler\u003c/code\u003e 枚举类型处理器支持缓存处理机制\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eITableFieldMetaInfoCustomizer\u003c/code\u003e 代码生成器扩展属性元数据处理能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eSequence\u003c/code\u003e 减少增加上下文切换\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eLambdaQueryWrapper.sqlSelect\u003c/code\u003e 属性修改为 \u003ccode\u003eprotected\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003esql\u003c/code\u003e 注入性能调整为函数方式拼接减少字符串\u003ccode\u003eformat\u003c/code\u003e使用\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eCursor\u003c/code\u003e 游标查询一条记录能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eformat\u003c/code\u003e 部分修改为字符串组合\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eexecuteBatch\u003c/code\u003e 根据执行影响行数返回确定结果布尔值\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eTableInfo\u003c/code\u003e 扩展允许返回新的自定义实例对象\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eIJsonTypeHandler\u003c/code\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/baomidou/mybatis-plus/blob/3.0/CHANGELOG.md\"\u003ecom.baomidou:mybatis-plus-spring-boot3-starter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v3.5.17] 2026.07.07\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6899\u003c/code\u003e 多租户插件 \u003ccode\u003e@Many\u003c/code\u003e 注解查无效问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6938\u003c/code\u003e \u003ccode\u003eHashMap\u003c/code\u003e 设置类型转换器异常\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7081\u003c/code\u003e 解决拦截全表存在 \u003ccode\u003eschema\u003c/code\u003e 校验问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6905\u003c/code\u003e 关于 \u003ccode\u003esaveOrUpdateBatch\u003c/code\u003e 导致 \u003ccode\u003eParameterHandler\u003c/code\u003e 被重复执行问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7056\u003c/code\u003e 支持 \u003ccode\u003eGraalVM Native\u003c/code\u003e 二进制编译问题，案例 \u003ca href=\"https://gitee.com/baomidou/mybatis-plus-native-image-demo\"\u003ehttps://gitee.com/baomidou/mybatis-plus-native-image-demo\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7027\u003c/code\u003e 支持 \u003ccode\u003eJDK 9+\u003c/code\u003e 模块化包重名问题，注意 \u003ccode\u003emybatis-plus-spring\u003c/code\u003e 模块下文件包名调整\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ewrapper\u003c/code\u003e 支持 \u003ccode\u003exml\u003c/code\u003e 别名配置\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003emybatis-plus-spring-boot-native-image\u003c/code\u003e 模块支持 \u003ccode\u003egraalvm\u003c/code\u003e 编译能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 支持自动识别 \u003ccode\u003etypeHandler\u003c/code\u003e 类型处理器\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 对比 \u003ccode\u003eeqOrIsNull\u003c/code\u003e 方法\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ei18n\u003c/code\u003e 逻辑删除日期格式及自动更新填充能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eGroovy\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eKotlin\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eMybatisEnumTypeHandler\u003c/code\u003e 枚举类型处理器支持缓存处理机制\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eITableFieldMetaInfoCustomizer\u003c/code\u003e 代码生成器扩展属性元数据处理能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eSequence\u003c/code\u003e 减少增加上下文切换\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eLambdaQueryWrapper.sqlSelect\u003c/code\u003e 属性修改为 \u003ccode\u003eprotected\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003esql\u003c/code\u003e 注入性能调整为函数方式拼接减少字符串\u003ccode\u003eformat\u003c/code\u003e使用\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eCursor\u003c/code\u003e 游标查询一条记录能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eformat\u003c/code\u003e 部分修改为字符串组合\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eexecuteBatch\u003c/code\u003e 根据执行影响行数返回确定结果布尔值\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eTableInfo\u003c/code\u003e 扩展允许返回新的自定义实例对象\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eIJsonTypeHandler\u003c/code\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/baomidou/mybatis-plus/commit/db0b3c4bb58a38bad9c3d78b7269d8a477cc6a63\"\u003e\u003ccode\u003edb0b3c4\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本脚本修复\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/28b9d23dfc436144922a519e2847d634d231d9fb\"\u003e\u003ccode\u003e28b9d23\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/baomidou/mybatis-plus/issues/7141\"\u003e#7141\u003c/a\u003e from smf-h/docs-idworker-sequence-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/7fbc364bcc720071082ef084850f12fe7572dad3\"\u003e\u003ccode\u003e7fbc364\u003c/code\u003e\u003c/a\u003e docs(core): clarify IdWorker sequence configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/404950bad052846233e137d1ba43cfc1fc960cd6\"\u003e\u003ccode\u003e404950b\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/070d5ea372a2d1f56a3d251d66cfc68303cb71a5\"\u003e\u003ccode\u003e070d5ea\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/0bc2e2f744409a75094a251d5b25d91f416ba23d\"\u003e\u003ccode\u003e0bc2e2f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/baomidou/mybatis-plus/issues/7134\"\u003e#7134\u003c/a\u003e from zhangyongxianggithub/3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/5461a4a79c1d79838b179a1beb3f3108deaf5505\"\u003e\u003ccode\u003e5461a4a\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/98cba6bc36758396c1dae18b11e082091a539652\"\u003e\u003ccode\u003e98cba6b\u003c/code\u003e\u003c/a\u003e feat(wrapper): 添加eqOrIsNull方法并优化参数别名设置逻辑\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/96465aa78fd89a44e6d3aa1b0cc08287d5a4cadf\"\u003e\u003ccode\u003e96465aa\u003c/code\u003e\u003c/a\u003e id auto 策略新增描述说明\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/41d78a2afd8002069390f93bab19498d134fd248\"\u003e\u003ccode\u003e41d78a2\u003c/code\u003e\u003c/a\u003e 优化 wrapper 支持 xml 别名配置\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/baomidou/mybatis-plus/compare/v3.5.16...v3.5.17\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.baomidou:mybatis-plus-jsqlparser` from 3.5.16 to 3.5.17\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/baomidou/mybatis-plus/releases\"\u003ecom.baomidou:mybatis-plus-jsqlparser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.17\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6899\u003c/code\u003e 多租户插件 \u003ccode\u003e@Many\u003c/code\u003e 注解查无效问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6938\u003c/code\u003e \u003ccode\u003eHashMap\u003c/code\u003e 设置类型转换器异常\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7081\u003c/code\u003e 解决拦截全表存在 \u003ccode\u003eschema\u003c/code\u003e 校验问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6905\u003c/code\u003e 关于 \u003ccode\u003esaveOrUpdateBatch\u003c/code\u003e 导致 \u003ccode\u003eParameterHandler\u003c/code\u003e 被重复执行问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7056\u003c/code\u003e 支持 \u003ccode\u003eGraalVM Native\u003c/code\u003e 二进制编译问题，案例 \u003ca href=\"https://gitee.com/baomidou/mybatis-plus-native-image-demo\"\u003ehttps://gitee.com/baomidou/mybatis-plus-native-image-demo\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7027\u003c/code\u003e 支持 \u003ccode\u003eJDK 9+\u003c/code\u003e 模块化包重名问题，注意 \u003ccode\u003emybatis-plus-spring\u003c/code\u003e 模块下文件包名调整\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ewrapper\u003c/code\u003e 支持 \u003ccode\u003exml\u003c/code\u003e 别名配置\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003emybatis-plus-spring-boot-native-image\u003c/code\u003e 模块支持 \u003ccode\u003egraalvm\u003c/code\u003e 编译能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 支持自动识别 \u003ccode\u003etypeHandler\u003c/code\u003e 类型处理器\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 对比 \u003ccode\u003eeqOrIsNull\u003c/code\u003e 方法\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ei18n\u003c/code\u003e 逻辑删除日期格式及自动更新填充能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eGroovy\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eKotlin\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eMybatisEnumTypeHandler\u003c/code\u003e 枚举类型处理器支持缓存处理机制\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eITableFieldMetaInfoCustomizer\u003c/code\u003e 代码生成器扩展属性元数据处理能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eSequence\u003c/code\u003e 减少增加上下文切换\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eLambdaQueryWrapper.sqlSelect\u003c/code\u003e 属性修改为 \u003ccode\u003eprotected\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003esql\u003c/code\u003e 注入性能调整为函数方式拼接减少字符串\u003ccode\u003eformat\u003c/code\u003e使用\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eCursor\u003c/code\u003e 游标查询一条记录能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eformat\u003c/code\u003e 部分修改为字符串组合\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eexecuteBatch\u003c/code\u003e 根据执行影响行数返回确定结果布尔值\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eTableInfo\u003c/code\u003e 扩展允许返回新的自定义实例对象\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eIJsonTypeHandler\u003c/code\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/baomidou/mybatis-plus/blob/3.0/CHANGELOG.md\"\u003ecom.baomidou:mybatis-plus-jsqlparser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v3.5.17] 2026.07.07\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6899\u003c/code\u003e 多租户插件 \u003ccode\u003e@Many\u003c/code\u003e 注解查无效问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6938\u003c/code\u003e \u003ccode\u003eHashMap\u003c/code\u003e 设置类型转换器异常\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7081\u003c/code\u003e 解决拦截全表存在 \u003ccode\u003eschema\u003c/code\u003e 校验问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6905\u003c/code\u003e 关于 \u003ccode\u003esaveOrUpdateBatch\u003c/code\u003e 导致 \u003ccode\u003eParameterHandler\u003c/code\u003e 被重复执行问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7056\u003c/code\u003e 支持 \u003ccode\u003eGraalVM Native\u003c/code\u003e 二进制编译问题，案例 \u003ca href=\"https://gitee.com/baomidou/mybatis-plus-native-image-demo\"\u003ehttps://gitee.com/baomidou/mybatis-plus-native-image-demo\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7027\u003c/code\u003e 支持 \u003ccode\u003eJDK 9+\u003c/code\u003e 模块化包重名问题，注意 \u003ccode\u003emybatis-plus-spring\u003c/code\u003e 模块下文件包名调整\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ewrapper\u003c/code\u003e 支持 \u003ccode\u003exml\u003c/code\u003e 别名配置\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003emybatis-plus-spring-boot-native-image\u003c/code\u003e 模块支持 \u003ccode\u003egraalvm\u003c/code\u003e 编译能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 支持自动识别 \u003ccode\u003etypeHandler\u003c/code\u003e 类型处理器\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 对比 \u003ccode\u003eeqOrIsNull\u003c/code\u003e 方法\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ei18n\u003c/code\u003e 逻辑删除日期格式及自动更新填充能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eGroovy\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eKotlin\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eMybatisEnumTypeHandler\u003c/code\u003e 枚举类型处理器支持缓存处理机制\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eITableFieldMetaInfoCustomizer\u003c/code\u003e 代码生成器扩展属性元数据处理能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eSequence\u003c/code\u003e 减少增加上下文切换\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eLambdaQueryWrapper.sqlSelect\u003c/code\u003e 属性修改为 \u003ccode\u003eprotected\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003esql\u003c/code\u003e 注入性能调整为函数方式拼接减少字符串\u003ccode\u003eformat\u003c/code\u003e使用\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eCursor\u003c/code\u003e 游标查询一条记录能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eformat\u003c/code\u003e 部分修改为字符串组合\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eexecuteBatch\u003c/code\u003e 根据执行影响行数返回确定结果布尔值\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eTableInfo\u003c/code\u003e 扩展允许返回新的自定义实例对象\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eIJsonTypeHandler\u003c/code\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/baomidou/mybatis-plus/commit/db0b3c4bb58a38bad9c3d78b7269d8a477cc6a63\"\u003e\u003ccode\u003edb0b3c4\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本脚本修复\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/28b9d23dfc436144922a519e2847d634d231d9fb\"\u003e\u003ccode\u003e28b9d23\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/baomidou/mybatis-plus/issues/7141\"\u003e#7141\u003c/a\u003e from smf-h/docs-idworker-sequence-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/7fbc364bcc720071082ef084850f12fe7572dad3\"\u003e\u003ccode\u003e7fbc364\u003c/code\u003e\u003c/a\u003e docs(core): clarify IdWorker sequence configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/404950bad052846233e137d1ba43cfc1fc960cd6\"\u003e\u003ccode\u003e404950b\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/070d5ea372a2d1f56a3d251d66cfc68303cb71a5\"\u003e\u003ccode\u003e070d5ea\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/0bc2e2f744409a75094a251d5b25d91f416ba23d\"\u003e\u003ccode\u003e0bc2e2f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/baomidou/mybatis-plus/issues/7134\"\u003e#7134\u003c/a\u003e from zhangyongxianggithub/3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/5461a4a79c1d79838b179a1beb3f3108deaf5505\"\u003e\u003ccode\u003e5461a4a\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/98cba6bc36758396c1dae18b11e082091a539652\"\u003e\u003ccode\u003e98cba6b\u003c/code\u003e\u003c/a\u003e feat(wrapper): 添加eqOrIsNull方法并优化参数别名设置逻辑\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/96465aa78fd89a44e6d3aa1b0cc08287d5a4cadf\"\u003e\u003ccode\u003e96465aa\u003c/code\u003e\u003c/a\u003e id auto 策略新增描述说明\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/41d78a2afd8002069390f93bab19498d134fd248\"\u003e\u003ccode\u003e41d78a2\u003c/code\u003e\u003c/a\u003e 优化 wrapper 支持 xml 别名配置\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/baomidou/mybatis-plus/compare/v3.5.16...v3.5.17\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.baomidou:mybatis-plus-annotation` from 3.5.16 to 3.5.17\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/baomidou/mybatis-plus/releases\"\u003ecom.baomidou:mybatis-plus-annotation's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.17\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6899\u003c/code\u003e 多租户插件 \u003ccode\u003e@Many\u003c/code\u003e 注解查无效问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6938\u003c/code\u003e \u003ccode\u003eHashMap\u003c/code\u003e 设置类型转换器异常\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7081\u003c/code\u003e 解决拦截全表存在 \u003ccode\u003eschema\u003c/code\u003e 校验问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6905\u003c/code\u003e 关于 \u003ccode\u003esaveOrUpdateBatch\u003c/code\u003e 导致 \u003ccode\u003eParameterHandler\u003c/code\u003e 被重复执行问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7056\u003c/code\u003e 支持 \u003ccode\u003eGraalVM Native\u003c/code\u003e 二进制编译问题，案例 \u003ca href=\"https://gitee.com/baomidou/mybatis-plus-native-image-demo\"\u003ehttps://gitee.com/baomidou/mybatis-plus-native-image-demo\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7027\u003c/code\u003e 支持 \u003ccode\u003eJDK 9+\u003c/code\u003e 模块化包重名问题，注意 \u003ccode\u003emybatis-plus-spring\u003c/code\u003e 模块下文件包名调整\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ewrapper\u003c/code\u003e 支持 \u003ccode\u003exml\u003c/code\u003e 别名配置\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003emybatis-plus-spring-boot-native-image\u003c/code\u003e 模块支持 \u003ccode\u003egraalvm\u003c/code\u003e 编译能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 支持自动识别 \u003ccode\u003etypeHandler\u003c/code\u003e 类型处理器\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 对比 \u003ccode\u003eeqOrIsNull\u003c/code\u003e 方法\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ei18n\u003c/code\u003e 逻辑删除日期格式及自动更新填充能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eGroovy\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eKotlin\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eMybatisEnumTypeHandler\u003c/code\u003e 枚举类型处理器支持缓存处理机制\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eITableFieldMetaInfoCustomizer\u003c/code\u003e 代码生成器扩展属性元数据处理能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eSequence\u003c/code\u003e 减少增加上下文切换\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eLambdaQueryWrapper.sqlSelect\u003c/code\u003e 属性修改为 \u003ccode\u003eprotected\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003esql\u003c/code\u003e 注入性能调整为函数方式拼接减少字符串\u003ccode\u003eformat\u003c/code\u003e使用\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eCursor\u003c/code\u003e 游标查询一条记录能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eformat\u003c/code\u003e 部分修改为字符串组合\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eexecuteBatch\u003c/code\u003e 根据执行影响行数返回确定结果布尔值\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eTableInfo\u003c/code\u003e 扩展允许返回新的自定义实例对象\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eIJsonTypeHandler\u003c/code\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/baomidou/mybatis-plus/blob/3.0/CHANGELOG.md\"\u003ecom.baomidou:mybatis-plus-annotation's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v3.5.17] 2026.07.07\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6899\u003c/code\u003e 多租户插件 \u003ccode\u003e@Many\u003c/code\u003e 注解查无效问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6938\u003c/code\u003e \u003ccode\u003eHashMap\u003c/code\u003e 设置类型转换器异常\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7081\u003c/code\u003e 解决拦截全表存在 \u003ccode\u003eschema\u003c/code\u003e 校验问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6905\u003c/code\u003e 关于 \u003ccode\u003esaveOrUpdateBatch\u003c/code\u003e 导致 \u003ccode\u003eParameterHandler\u003c/code\u003e 被重复执行问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7056\u003c/code\u003e 支持 \u003ccode\u003eGraalVM Native\u003c/code\u003e 二进制编译问题，案例 \u003ca href=\"https://gitee.com/baomidou/mybatis-plus-native-image-demo\"\u003ehttps://gitee.com/baomidou/mybatis-plus-native-image-demo\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7027\u003c/code\u003e 支持 \u003ccode\u003eJDK 9+\u003c/code\u003e 模块化包重名问题，注意 \u003ccode\u003emybatis-plus-spring\u003c/code\u003e 模块下文件包名调整\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ewrapper\u003c/code\u003e 支持 \u003ccode\u003exml\u003c/code\u003e 别名配置\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003emybatis-plus-spring-boot-native-image\u003c/code\u003e 模块支持 \u003ccode\u003egraalvm\u003c/code\u003e 编译能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 支持自动识别 \u003ccode\u003etypeHandler\u003c/code\u003e 类型处理器\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 对比 \u003ccode\u003eeqOrIsNull\u003c/code\u003e 方法\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ei18n\u003c/code\u003e 逻辑删除日期格式及自动更新填充能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eGroovy\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eKotlin\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eMybatisEnumTypeHandler\u003c/code\u003e 枚举类型处理器支持缓存处理机制\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eITableFieldMetaInfoCustomizer\u003c/code\u003e 代码生成器扩展属性元数据处理能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eSequence\u003c/code\u003e 减少增加上下文切换\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eLambdaQueryWrapper.sqlSelect\u003c/code\u003e 属性修改为 \u003ccode\u003eprotected\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003esql\u003c/code\u003e 注入性能调整为函数方式拼接减少字符串\u003ccode\u003eformat\u003c/code\u003e使用\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eCursor\u003c/code\u003e 游标查询一条记录能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eformat\u003c/code\u003e 部分修改为字符串组合\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eexecuteBatch\u003c/code\u003e 根据执行影响行数返回确定结果布尔值\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eTableInfo\u003c/code\u003e 扩展允许返回新的自定义实例对象\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eIJsonTypeHandler\u003c/code\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/baomidou/mybatis-plus/commit/db0b3c4bb58a38bad9c3d78b7269d8a477cc6a63\"\u003e\u003ccode\u003edb0b3c4\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本脚本修复\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/28b9d23dfc436144922a519e2847d634d231d9fb\"\u003e\u003ccode\u003e28b9d23\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/baomidou/mybatis-plus/issues/7141\"\u003e#7141\u003c/a\u003e from smf-h/docs-idworker-sequence-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/7fbc364bcc720071082ef084850f12fe7572dad3\"\u003e\u003ccode\u003e7fbc364\u003c/code\u003e\u003c/a\u003e docs(core): clarify IdWorker sequence configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/404950bad052846233e137d1ba43cfc1fc960cd6\"\u003e\u003ccode\u003e404950b\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/070d5ea372a2d1f56a3d251d66cfc68303cb71a5\"\u003e\u003ccode\u003e070d5ea\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/0bc2e2f744409a75094a251d5b25d91f416ba23d\"\u003e\u003ccode\u003e0bc2e2f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/baomidou/mybatis-plus/issues/7134\"\u003e#7134\u003c/a\u003e from zhangyongxianggithub/3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/5461a4a79c1d79838b179a1beb3f3108deaf5505\"\u003e\u003ccode\u003e5461a4a\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/98cba6bc36758396c1dae18b11e082091a539652\"\u003e\u003ccode\u003e98cba6b\u003c/code\u003e\u003c/a\u003e feat(wrapper): 添加eqOrIsNull方法并优化参数别名设置逻辑\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/96465aa78fd89a44e6d3aa1b0cc08287d5a4cadf\"\u003e\u003ccode\u003e96465aa\u003c/code\u003e\u003c/a\u003e id auto 策略新增描述说明\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/41d78a2afd8002069390f93bab19498d134fd248\"\u003e\u003ccode\u003e41d78a2\u003c/code\u003e\u003c/a\u003e 优化 wrapper 支持 xml 别名配置\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/baomidou/mybatis-plus/compare/v3.5.16...v3.5.17\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.baomidou:mybatis-plus-extension` from 3.5.16 to 3.5.17\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/baomidou/mybatis-plus/releases\"\u003ecom.baomidou:mybatis-plus-extension's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.17\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6899\u003c/code\u003e 多租户插件 \u003ccode\u003e@Many\u003c/code\u003e 注解查无效问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6938\u003c/code\u003e \u003ccode\u003eHashMap\u003c/code\u003e 设置类型转换器异常\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7081\u003c/code\u003e 解决拦截全表存在 \u003ccode\u003eschema\u003c/code\u003e 校验问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6905\u003c/code\u003e 关于 \u003ccode\u003esaveOrUpdateBatch\u003c/code\u003e 导致 \u003ccode\u003eParameterHandler\u003c/code\u003e 被重复执行问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7056\u003c/code\u003e 支持 \u003ccode\u003eGraalVM Native\u003c/code\u003e 二进制编译问题，案例 \u003ca href=\"https://gitee.com/baomidou/mybatis-plus-native-image-demo\"\u003ehttps://gitee.com/baomidou/mybatis-plus-native-image-demo\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7027\u003c/code\u003e 支持 \u003ccode\u003eJDK 9+\u003c/code\u003e 模块化包重名问题，注意 \u003ccode\u003emybatis-plus-spring\u003c/code\u003e 模块下文件包名调整\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ewrapper\u003c/code\u003e 支持 \u003ccode\u003exml\u003c/code\u003e 别名配置\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003emybatis-plus-spring-boot-native-image\u003c/code\u003e 模块支持 \u003ccode\u003egraalvm\u003c/code\u003e 编译能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 支持自动识别 \u003ccode\u003etypeHandler\u003c/code\u003e 类型处理器\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 对比 \u003ccode\u003eeqOrIsNull\u003c/code\u003e 方法\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ei18n\u003c/code\u003e 逻辑删除日期格式及自动更新填充能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eGroovy\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eKotlin\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eMybatisEnumTypeHandler\u003c/code\u003e 枚举类型处理器支持缓存处理机制\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eITableFieldMetaInfoCustomizer\u003c/code\u003e 代码生成器扩展属性元数据处理能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eSequence\u003c/code\u003e 减少增加上下文切换\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eLambdaQueryWrapper.sqlSelect\u003c/code\u003e 属性修改为 \u003ccode\u003eprotected\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003esql\u003c/code\u003e 注入性能调整为函数方式拼接减少字符串\u003ccode\u003eformat\u003c/code\u003e使用\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eCursor\u003c/code\u003e 游标查询一条记录能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eformat\u003c/code\u003e 部分修改为字符串组合\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eexecuteBatch\u003c/code\u003e 根据执行影响行数返回确定结果布尔值\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eTableInfo\u003c/code\u003e 扩展允许返回新的自定义实例对象\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eIJsonTypeHandler\u003c/code\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/baomidou/mybatis-plus/blob/3.0/CHANGELOG.md\"\u003ecom.baomidou:mybatis-plus-extension's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[v3.5.17] 2026.07.07\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6899\u003c/code\u003e 多租户插件 \u003ccode\u003e@Many\u003c/code\u003e 注解查无效问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6938\u003c/code\u003e \u003ccode\u003eHashMap\u003c/code\u003e 设置类型转换器异常\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7081\u003c/code\u003e 解决拦截全表存在 \u003ccode\u003eschema\u003c/code\u003e 校验问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6905\u003c/code\u003e 关于 \u003ccode\u003esaveOrUpdateBatch\u003c/code\u003e 导致 \u003ccode\u003eParameterHandler\u003c/code\u003e 被重复执行问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7056\u003c/code\u003e 支持 \u003ccode\u003eGraalVM Native\u003c/code\u003e 二进制编译问题，案例 \u003ca href=\"https://gitee.com/baomidou/mybatis-plus-native-image-demo\"\u003ehttps://gitee.com/baomidou/mybatis-plus-native-image-demo\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7027\u003c/code\u003e 支持 \u003ccode\u003eJDK 9+\u003c/code\u003e 模块化包重名问题，注意 \u003ccode\u003emybatis-plus-spring\u003c/code\u003e 模块下文件包名调整\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ewrapper\u003c/code\u003e 支持 \u003ccode\u003exml\u003c/code\u003e 别名配置\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003emybatis-plus-spring-boot-native-image\u003c/code\u003e 模块支持 \u003ccode\u003egraalvm\u003c/code\u003e 编译能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 支持自动识别 \u003ccode\u003etypeHandler\u003c/code\u003e 类型处理器\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 对比 \u003ccode\u003eeqOrIsNull\u003c/code\u003e 方法\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ei18n\u003c/code\u003e 逻辑删除日期格式及自动更新填充能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eGroovy\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eKotlin\u003c/code\u003e 支持 \u003ccode\u003eLambdaQueryWrapper\u003c/code\u003e 执行能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eMybatisEnumTypeHandler\u003c/code\u003e 枚举类型处理器支持缓存处理机制\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eITableFieldMetaInfoCustomizer\u003c/code\u003e 代码生成器扩展属性元数据处理能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eSequence\u003c/code\u003e 减少增加上下文切换\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eLambdaQueryWrapper.sqlSelect\u003c/code\u003e 属性修改为 \u003ccode\u003eprotected\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003esql\u003c/code\u003e 注入性能调整为函数方式拼接减少字符串\u003ccode\u003eformat\u003c/code\u003e使用\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eCursor\u003c/code\u003e 游标查询一条记录能力\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eformat\u003c/code\u003e 部分修改为字符串组合\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eexecuteBatch\u003c/code\u003e 根据执行影响行数返回确定结果布尔值\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eTableInfo\u003c/code\u003e 扩展允许返回新的自定义实例对象\u003c/li\u003e\n\u003cli\u003eopt: 优化 \u003ccode\u003eIJsonTypeHandler\u003c/code\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/baomidou/mybatis-plus/commit/db0b3c4bb58a38bad9c3d78b7269d8a477cc6a63\"\u003e\u003ccode\u003edb0b3c4\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本脚本修复\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/28b9d23dfc436144922a519e2847d634d231d9fb\"\u003e\u003ccode\u003e28b9d23\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/baomidou/mybatis-plus/issues/7141\"\u003e#7141\u003c/a\u003e from smf-h/docs-idworker-sequence-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/7fbc364bcc720071082ef084850f12fe7572dad3\"\u003e\u003ccode\u003e7fbc364\u003c/code\u003e\u003c/a\u003e docs(core): clarify IdWorker sequence configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/404950bad052846233e137d1ba43cfc1fc960cd6\"\u003e\u003ccode\u003e404950b\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/070d5ea372a2d1f56a3d251d66cfc68303cb71a5\"\u003e\u003ccode\u003e070d5ea\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/0bc2e2f744409a75094a251d5b25d91f416ba23d\"\u003e\u003ccode\u003e0bc2e2f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/baomidou/mybatis-plus/issues/7134\"\u003e#7134\u003c/a\u003e from zhangyongxianggithub/3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/5461a4a79c1d79838b179a1beb3f3108deaf5505\"\u003e\u003ccode\u003e5461a4a\u003c/code\u003e\u003c/a\u003e 发布 3.5.17 版本\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/98cba6bc36758396c1dae18b11e082091a539652\"\u003e\u003ccode\u003e98cba6b\u003c/code\u003e\u003c/a\u003e feat(wrapper): 添加eqOrIsNull方法并优化参数别名设置逻辑\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/96465aa78fd89a44e6d3aa1b0cc08287d5a4cadf\"\u003e\u003ccode\u003e96465aa\u003c/code\u003e\u003c/a\u003e id auto 策略新增描述说明\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/baomidou/mybatis-plus/commit/41d78a2afd8002069390f93bab19498d134fd248\"\u003e\u003ccode\u003e41d78a2\u003c/code\u003e\u003c/a\u003e 优化 wrapper 支持 xml 别名配置\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/baomidou/mybatis-plus/compare/v3.5.16...v3.5.17\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.swagger.core.v3:swagger-annotations-jakarta` from 2.2.22 to 2.2.54\n\nUpdates `org.redisson:redisson-spring-boot-starter` from 4.3.1 to 4.7.0\n\nUpdates `com.baomidou:mybatis-plus-jsqlparser` from 3.5.16 to 3.5.17\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/baomidou/mybatis-plus/releases\"\u003ecom.baomidou:mybatis-plus-jsqlparser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.17\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6899\u003c/code\u003e 多租户插件 \u003ccode\u003e@Many\u003c/code\u003e 注解查无效问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6938\u003c/code\u003e \u003ccode\u003eHashMap\u003c/code\u003e 设置类型转换器异常\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7081\u003c/code\u003e 解决拦截全表存在 \u003ccode\u003eschema\u003c/code\u003e 校验问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/6905\u003c/code\u003e 关于 \u003ccode\u003esaveOrUpdateBatch\u003c/code\u003e 导致 \u003ccode\u003eParameterHandler\u003c/code\u003e 被重复执行问题\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7056\u003c/code\u003e 支持 \u003ccode\u003eGraalVM Native\u003c/code\u003e 二进制编译问题，案例 \u003ca href=\"https://gitee.com/baomidou/mybatis-plus-native-image-demo\"\u003ehttps://gitee.com/baomidou/mybatis-plus-native-image-demo\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: 修复 \u003ccode\u003eissues/7027\u003c/code\u003e 支持 \u003ccode\u003eJDK 9+\u003c/code\u003e 模块化包重名问题，注意 \u003ccode\u003emybatis-plus-spring\u003c/code\u003e 模块下文件包名调整\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003ewrapper\u003c/code\u003e 支持 \u003ccode\u003exml\u003c/code\u003e 别名配置\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003emybatis-plus-spring-boot-native-image\u003c/code\u003e 模块支持 \u003ccode\u003egraalvm\u003c/code\u003e 编译能力\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 支持自动识别 \u003ccode\u003etypeHandler\u003c/code\u003e 类型处理器\u003c/li\u003e\n\u003cli\u003efeat: 新增 \u003ccode\u003eWrapper\u003c/code\u003e 对比 \u003ccode\u003eeqOrIsNull\u003c/c...\n\n_Description has been truncated_","html_url":"https://github.com/DavidHLP/UltiCode/pull/134","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavidHLP%2FUltiCode/issues/134","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/134/packages"}},{"old_version":"1.4.1","new_version":"1.5.0","update_type":"minor","path":null,"pr_created_at":"2026-08-09T19:44:21.000Z","version_change":"1.4.1 → 1.5.0","issue":{"uuid":"5104388284","node_id":"PR_kwDOTU-bdM78uCvu","number":12,"state":"closed","title":"Bump the gradle-dependencies group across 1 directory with 8 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-09-06T19:44:37.000Z","author_association":null,"state_reason":null,"created_at":"2026-08-09T19:44:21.000Z","updated_at":"2026-09-06T19:44:39.000Z","time_to_close":2419216,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"gradle-dependencies","update_count":8,"packages":[{"name":"gradle-wrapper","old_version":"9.6.1","new_version":"9.7.0","repository_url":"https://github.com/gradle/gradle"},{"name":"org.junit.jupiter:junit-jupiter","old_version":"5.13.4","new_version":"6.1.2","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.platform:junit-platform-launcher","old_version":"1.13.4","new_version":"6.1.2","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.assertj:assertj-core","old_version":"3.27.3","new_version":"3.27.7","repository_url":"https://github.com/assertj/assertj"},{"name":"net.jqwik:jqwik","old_version":"1.9.3","new_version":"1.10.1","repository_url":"https://github.com/jqwik-team/jqwik"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.4.1","new_version":"1.5.0","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"org.slf4j:slf4j-api","old_version":"2.0.17","new_version":"2.0.18"},{"name":"ch.qos.logback:logback-classic","old_version":"1.5.18","new_version":"1.6.1","repository_url":"https://github.com/qos-ch/logback"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 8 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.6.1` | `9.7.0` |\n| [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) | `5.13.4` | `6.1.2` |\n| [org.junit.platform:junit-platform-launcher](https://github.com/junit-team/junit-framework) | `1.13.4` | `6.1.2` |\n| [org.assertj:assertj-core](https://github.com/assertj/assertj) | `3.27.3` | `3.27.7` |\n| [net.jqwik:jqwik](https://github.com/jqwik-team/jqwik) | `1.9.3` | `1.10.1` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.4.1` | `1.5.0` |\n| org.slf4j:slf4j-api | `2.0.17` | `2.0.18` |\n| [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) | `1.5.18` | `1.6.1` |\n\n\nUpdates `gradle-wrapper` from 9.6.1 to 9.7.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.7.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.7.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIsolated Projects graduates to incubating\u003c/li\u003e\n\u003cli\u003eBroader Configuration Cache compatibility\u003c/li\u003e\n\u003cli\u003eMore source locations in problem reports\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.7.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/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/Gautam-aman\"\u003eAman Gautam\u003c/a\u003e,\n\u003ca href=\"https://github.com/YukiCodepth\"\u003eAman Kumar\u003c/a\u003e,\n\u003ca href=\"https://github.com/adubrouski\"\u003eAnton Dubrouski\u003c/a\u003e,\n\u003ca href=\"https://github.com/liutikas\"\u003eAurimas\u003c/a\u003e,\n\u003ca href=\"https://github.com/gbhavya07\"\u003egbhavya07\u003c/a\u003e,\n\u003ca href=\"https://github.com/joshfriend\"\u003eJosh Friend\u003c/a\u003e,\n\u003ca href=\"https://github.com/nicklauslittle-gov\"\u003enicklauslittle-gov\u003c/a\u003e,\n\u003ca href=\"https://github.com/psoni674\"\u003ePragati\u003c/a\u003e,\n\u003ca href=\"https://github.com/Project516\"\u003eproject516\u003c/a\u003e,\n\u003ca href=\"https://github.com/Uomocapra\"\u003eQin Mi\u003c/a\u003e,\n\u003ca href=\"https://github.com/rkdfx\"\u003eRavi\u003c/a\u003e,\n\u003ca href=\"https://github.com/sk-reddy17\"\u003esk-reddy17\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/ShreckYe\"\u003eYongshun Ye\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.7.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew :wrapper --gradle-version=9.7.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.7.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.7.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.7.0 RC3\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.7.0 RC3.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIsolated Projects graduates to incubating\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/gradle/gradle/commit/3defbfc59d757b873d787b2261de5c7f8a00970a\"\u003e\u003ccode\u003e3defbfc\u003c/code\u003e\u003c/a\u003e make DistributionIntegrationSpec more permissive for releases (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38766\"\u003e#38766\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f176043d6416ca85dab736b6e7581d1f0018ee8e\"\u003e\u003ccode\u003ef176043\u003c/code\u003e\u003c/a\u003e make DistributionIntegrationSpec more permissive for releases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/b0828dad52cf99112e2071fb10547c0d2293a51b\"\u003e\u003ccode\u003eb0828da\u003c/code\u003e\u003c/a\u003e Prepare release notes for Gradle 9.7.0GA (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38756\"\u003e#38756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/064b6d6161b55f531be7710d68efe4404b48558a\"\u003e\u003ccode\u003e064b6d6\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/dfe7bdcc464152313992f49b6ea3846d7c0119ed\"\u003e\u003ccode\u003edfe7bdc\u003c/code\u003e\u003c/a\u003e add new training to release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/756196837a985dd030d596411852b99c43d6880e\"\u003e\u003ccode\u003e7561968\u003c/code\u003e\u003c/a\u003e add release notes for 37801\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/68a1f351d3ba32e09523e5d67949cea326c0d781\"\u003e\u003ccode\u003e68a1f35\u003c/code\u003e\u003c/a\u003e cherrypick 38367 to release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/a462c95ca92b7a5cc55172a42608fcab5fd43b4c\"\u003e\u003ccode\u003ea462c95\u003c/code\u003e\u003c/a\u003e Rebalance AllVersionsCrossVersion buckets for agents without TestDistribution...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/820e2b14ad6b0f64a1a042dcfb43ea7e3e8f7ada\"\u003e\u003ccode\u003e820e2b1\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.7.0-rc-3 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38743\"\u003e#38743\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/75ea3d7671b4c52daf3fd26d0824b8fa7c752181\"\u003e\u003ccode\u003e75ea3d7\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.7.0-rc-3\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.6.1...v9.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.jupiter:junit-jupiter` from 5.13.4 to 6.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.jupiter:junit-jupiter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.2 = Platform 6.1.2 + Jupiter 6.1.2 + Vintage 6.1.2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.2/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.1...r6.1.2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.1...r6.1.2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.1 = Platform 6.1.1 + Jupiter 6.1.1 + Vintage 6.1.1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.1/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.0...r6.1.1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.0...r6.1.1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0 = Platform 6.1.0 + Jupiter 6.1.0 + Vintage 6.1.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JarvisCraft\"\u003e\u003ccode\u003e@​JarvisCraft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5633\"\u003ejunit-team/junit-framework#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Maran23\"\u003e\u003ccode\u003e@​Maran23\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5644\"\u003ejunit-team/junit-framework#5644\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-RC1 = Platform 6.1.0-RC1 + Jupiter 6.1.0-RC1 + Vintage 6.1.0-RC1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-RC1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariokhoury4\"\u003e\u003ccode\u003e@​mariokhoury4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4574\"\u003ejunit-team/junit-framework#4574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ogu1208\"\u003e\u003ccode\u003e@​Ogu1208\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5145\"\u003ejunit-team/junit-framework#5145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HyungGeun94\"\u003e\u003ccode\u003e@​HyungGeun94\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5271\"\u003ejunit-team/junit-framework#5271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yalishevant\"\u003e\u003ccode\u003e@​yalishevant\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5316\"\u003ejunit-team/junit-framework#5316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JINU-CHANG\"\u003e\u003ccode\u003e@​JINU-CHANG\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5290\"\u003ejunit-team/junit-framework#5290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaschdoc\"\u003e\u003ccode\u003e@​jaschdoc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5427\"\u003ejunit-team/junit-framework#5427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kawshikbuet17\"\u003e\u003ccode\u003e@​kawshikbuet17\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5561\"\u003ejunit-team/junit-framework#5561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/msridhar\"\u003e\u003ccode\u003e@​msridhar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5602\"\u003ejunit-team/junit-framework#5602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-M1 = Platform 6.1.0-M1 + Jupiter 6.1.0-M1 + Vintage 6.1.0-M1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-M1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vy\"\u003e\u003ccode\u003e@​vy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5041\"\u003ejunit-team/junit-framework#5041\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Pankraz76\"\u003e\u003ccode\u003e@​Pankraz76\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5006\"\u003ejunit-team/junit-framework#5006\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5066\"\u003ejunit-team/junit-framework#5066\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/laeubi\"\u003e\u003ccode\u003e@​laeubi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5092\"\u003ejunit-team/junit-framework#5092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jihun4452\"\u003e\u003ccode\u003e@​jihun4452\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5088\"\u003ejunit-team/junit-framework#5088\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TWiStErRob\"\u003e\u003ccode\u003e@​TWiStErRob\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5133\"\u003ejunit-team/junit-framework#5133\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/junit-team/junit-framework/commit/b6854269eef188e6354dd6a7091fe7fde1e0f195\"\u003e\u003ccode\u003eb685426\u003c/code\u003e\u003c/a\u003e Release 6.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/ae244a6936b750865b6e98299f4d6791bea44f97\"\u003e\u003ccode\u003eae244a6\u003c/code\u003e\u003c/a\u003e Remove blanket outputDirectoryCreator from SuiteEngineTests (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5793\"\u003e#5793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/43bd154163ef3dfcc553103d5d8e63c4ccbe8cee\"\u003e\u003ccode\u003e43bd154\u003c/code\u003e\u003c/a\u003e Finalize 6.1.2 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0cd9510637ee792a3578dacddc04a7c9f2cad90e\"\u003e\u003ccode\u003e0cd9510\u003c/code\u003e\u003c/a\u003e Fix order of release note sections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/a1507cbaf409424898c6b7767a0fcfc5c08ecdef\"\u003e\u003ccode\u003ea1507cb\u003c/code\u003e\u003c/a\u003e Add initial 6.1.2 release notes to release notes index\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/932664186b9c1b587c954d14c134fb05fec75538\"\u003e\u003ccode\u003e9326641\u003c/code\u003e\u003c/a\u003e Fix NoTestsDiscoveredException for suites containing only dynamic tests (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5839\"\u003e#5839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/2ef11234dc42ec8fcd744f03d8cbdce315c2a9b1\"\u003e\u003ccode\u003e2ef1123\u003c/code\u003e\u003c/a\u003e Create initial 6.1.2 release notes from template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/83fa9ab372a1b8894070a2e85f05820b773005c6\"\u003e\u003ccode\u003e83fa9ab\u003c/code\u003e\u003c/a\u003e Back to snapshots for further development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0d85889d9846c14378b732a8da860bfef6ddf7ca\"\u003e\u003ccode\u003e0d85889\u003c/code\u003e\u003c/a\u003e Release 6.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0363eee5be323b0a0ef05a0578ed03815d1ca258\"\u003e\u003ccode\u003e0363eee\u003c/code\u003e\u003c/a\u003e Finalize 6.1.1 release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r5.13.4...r6.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.platform:junit-platform-launcher` from 1.13.4 to 6.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.platform:junit-platform-launcher's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.2 = Platform 6.1.2 + Jupiter 6.1.2 + Vintage 6.1.2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.2/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.1...r6.1.2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.1...r6.1.2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.1 = Platform 6.1.1 + Jupiter 6.1.1 + Vintage 6.1.1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.1/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.0...r6.1.1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.0...r6.1.1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0 = Platform 6.1.0 + Jupiter 6.1.0 + Vintage 6.1.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JarvisCraft\"\u003e\u003ccode\u003e@​JarvisCraft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5633\"\u003ejunit-team/junit-framework#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Maran23\"\u003e\u003ccode\u003e@​Maran23\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5644\"\u003ejunit-team/junit-framework#5644\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-RC1 = Platform 6.1.0-RC1 + Jupiter 6.1.0-RC1 + Vintage 6.1.0-RC1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-RC1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariokhoury4\"\u003e\u003ccode\u003e@​mariokhoury4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4574\"\u003ejunit-team/junit-framework#4574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ogu1208\"\u003e\u003ccode\u003e@​Ogu1208\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5145\"\u003ejunit-team/junit-framework#5145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HyungGeun94\"\u003e\u003ccode\u003e@​HyungGeun94\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5271\"\u003ejunit-team/junit-framework#5271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yalishevant\"\u003e\u003ccode\u003e@​yalishevant\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5316\"\u003ejunit-team/junit-framework#5316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JINU-CHANG\"\u003e\u003ccode\u003e@​JINU-CHANG\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5290\"\u003ejunit-team/junit-framework#5290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaschdoc\"\u003e\u003ccode\u003e@​jaschdoc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5427\"\u003ejunit-team/junit-framework#5427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kawshikbuet17\"\u003e\u003ccode\u003e@​kawshikbuet17\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5561\"\u003ejunit-team/junit-framework#5561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/msridhar\"\u003e\u003ccode\u003e@​msridhar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5602\"\u003ejunit-team/junit-framework#5602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-M1 = Platform 6.1.0-M1 + Jupiter 6.1.0-M1 + Vintage 6.1.0-M1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-M1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vy\"\u003e\u003ccode\u003e@​vy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5041\"\u003ejunit-team/junit-framework#5041\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Pankraz76\"\u003e\u003ccode\u003e@​Pankraz76\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5006\"\u003ejunit-team/junit-framework#5006\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5066\"\u003ejunit-team/junit-framework#5066\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/laeubi\"\u003e\u003ccode\u003e@​laeubi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5092\"\u003ejunit-team/junit-framework#5092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jihun4452\"\u003e\u003ccode\u003e@​jihun4452\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5088\"\u003ejunit-team/junit-framework#5088\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TWiStErRob\"\u003e\u003ccode\u003e@​TWiStErRob\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5133\"\u003ejunit-team/junit-framework#5133\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\u003eSee full diff in \u003ca href=\"https://github.com/junit-team/junit-framework/commits/r6.1.2\"\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.3 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\u003ch2\u003ev3.27.6\u003c/h2\u003e\n\u003ch2\u003e:bug: Bug Fixes\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing export for \u003ccode\u003eorg.assertj.core.annotation\u003c/code\u003e \u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3951\"\u003e#3951\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:heart: Contributors\u003c/h2\u003e\n\u003cp\u003eThanks to all the contributors who worked on this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/duponter\"\u003e\u003ccode\u003e@​duponter\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.27.5\u003c/h2\u003e\n\u003ch2\u003e:zap: Improvements\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eByteBuddy in AssertJ 3.27.4 not compatible with Java 25 \u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3946\"\u003e#3946\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/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.3...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 `net.jqwik:jqwik` from 1.9.3 to 1.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jqwik-team/jqwik/releases\"\u003enet.jqwik:jqwik's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAnti-AI Release\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eWarning:\u003c/strong\u003e Starting with version 1.10 jqwik comes with an \u003ca href=\"https://jqwik.net/docs/1.10.1/user-guide.html#anti-ai-usage-clause\"\u003e\u003cstrong\u003eAnti-AI Usage Clause\u003c/strong\u003e\u003c/a\u003e!\nUsage with any \u0026quot;AI\u0026quot; agent is strongly discouraged. Jqwik's log output may confuse the agent.\u003c/p\u003e\n\u003cp\u003eThis will probably be the last release of Jqwik using JUnit Platform version 1.x.\nUpcoming releases, if ever realised, will be built on JUnit Platform 6 and thus Java \u0026gt;= 21.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch4\u003eNew and Enhanced Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ca href=\"https://jqwik.net/docs/1.10.1/user-guide.html#anti-ai-usage-clause\"\u003eparagraph about intended AI usage\u003c/a\u003e to user guide:\n\u003cstrong\u003eThis project is not meant to be used by any “AI” coding agents at all.\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMade \u003ccode\u003e@NotBlank\u003c/code\u003e configurator compatible with UTF-8 whitespace.\nSee \u003ca href=\"https://redirect.github.com/jqwik-team/jqwik/issues/663\"\u003eissue 663\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eBreaking Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eUse of jqwik \u0026gt;= 1.10 with coding agents is strongly discouraged.\nJqwik's output to stdout may confuse AI-based agents.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eDependency Upgrades and Bug Fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eUpgraded to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003eUpgraded to JUnit Platform 1.14.4\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/jqwik-team/jqwik/commit/dc3da975e8bb68f706858fd1c762ebddb42e9833\"\u003e\u003ccode\u003edc3da97\u003c/code\u003e\u003c/a\u003e Set version to release 1.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/c4205510c3d8360c57d54c1df59593f5045b6798\"\u003e\u003ccode\u003ec420551\u003c/code\u003e\u003c/a\u003e Made hiding of anti AI clause configurable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/0249c03fcc576fc943651691e24a55cb7f4b56ab\"\u003e\u003ccode\u003e0249c03\u003c/code\u003e\u003c/a\u003e Expanded paragraph on AI agent usage in user guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/7c212b6e3a93e31152af5e6606ee88075460d5dd\"\u003e\u003ccode\u003e7c212b6\u003c/code\u003e\u003c/a\u003e Updated TODOs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/4aac8af2fd4e87e29073962ff9680f177a6273e4\"\u003e\u003ccode\u003e4aac8af\u003c/code\u003e\u003c/a\u003e Advance version to 1.10.1-SNAPSHOT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/7d7e9baaa5f46ed4122a5ff22edfbca81a955778\"\u003e\u003ccode\u003e7d7e9ba\u003c/code\u003e\u003c/a\u003e Set release version 1.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/37178a1b3068a4ef250a975245a1c5498b802f21\"\u003e\u003ccode\u003e37178a1\u003c/code\u003e\u003c/a\u003e Made NotBlank UTF-8 whitespace compatible\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/b9a8d81d07242f81bf669129bf2c462751375842\"\u003e\u003ccode\u003eb9a8d81\u003c/code\u003e\u003c/a\u003e Minor formatting tweak in user guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/2aaae09f6c4146a73b12001cab6d4c582097610d\"\u003e\u003ccode\u003e2aaae09\u003c/code\u003e\u003c/a\u003e Updated TODOs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/6fe00a2c473469186ba29dcf0986600db9b8dc22\"\u003e\u003ccode\u003e6fe00a2\u003c/code\u003e\u003c/a\u003e Fixed dokka generation\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jqwik-team/jqwik/compare/1.9.3...1.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.tngtech.archunit:archunit-junit5` from 1.4.1 to 1.5.0\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.5.0\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 27 / class file major version 71 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1618\"\u003e#1618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove descriptions of \u003ccode\u003eJavaAccess.Predicates.originOwner\u003c/code\u003e and \u003ccode\u003eJavaAccess.Predicates.targetOwner\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1603\"\u003e#1603\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eExpose information on sealed classes via \u003ccode\u003eJavaClass\u003c/code\u003e: \u003ccode\u003eisSealed()\u003c/code\u003e and \u003ccode\u003egetPermittedSubclasses()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/bannmann\"\u003e\u003ccode\u003e@​bannmann\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eImportOption.DoNotIncludeTests\u003c/code\u003e and \u003ccode\u003eOnlyIncludeTests\u003c/code\u003e consider tests in custom Gradle source sets (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/Develop-KIM\"\u003e\u003ccode\u003e@​Develop-KIM\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLang\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchConditions\u003c/code\u003e offers new \u003ccode\u003eArchCondition\u0026lt;JavaClass\u0026gt; haveAnyDependenciesThat(DescribedPredicate\u0026lt;Dependency\u0026gt;)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1580\"\u003e#1580\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/wakingrufus\"\u003e\u003ccode\u003e@​wakingrufus\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eArchitectureMetrics.lakosMetrics\u003c/code\u003e is computed much more performantly (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1629\"\u003e#1629\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/ThanosTsiamis\"\u003e\u003ccode\u003e@​ThanosTsiamis\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTextFileBasedViolationStore\u003c/code\u003e is now thread-safe under parallel test execution (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1656\"\u003e#1656\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/kelunik\"\u003e\u003ccode\u003e@​kelunik\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eModuleDependency\u003c/code\u003e now provides stable descriptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1648\"\u003e#1648\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/DragonFSKY\"\u003e\u003ccode\u003e@​DragonFSKY\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eJUnit\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003earchunit-junit6\u003c/code\u003e supports ArchUnit with JUnit 6 (\u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1556\"\u003e#1556\u003c/a\u003e\u003c/del\u003e, \u003cdel\u003e\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1658\"\u003e#1658\u003c/a\u003e\u003c/del\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1659\"\u003e#1659\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnalyzeClasses\u003c/code\u003e supports individual classes (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1569\"\u003e#1569\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003ePreparation:\u003c/em\u003e \u003ccode\u003earchunit-junit:0.9.0\u003c/code\u003e (which was renamed with \u003ca href=\"https://github.com/TNG/ArchUnit/releases/tag/v0.9.0\"\u003eArchUnit 0.9.0\u003c/a\u003e) now relocates to \u003ccode\u003earchunit-junit4:0.9.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1673\"\u003e#1673\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋) – will be published after \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1684\"\u003e#1684\u003c/a\u003e 🙈\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocument \u003ccode\u003ePriority\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1671\"\u003e#1671\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eDocument Package Identifiers in User Guide (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1672\"\u003e#1672\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eInternal Improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eText files now use UNIX line breaks (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1602\"\u003e#1602\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1611\"\u003e#1611\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/StefanGraeber\"\u003e\u003ccode\u003e@​StefanGraeber\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eUpdate Gradle from 8 to 9; build \u0026amp; test with JDK 25 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1550\"\u003e#1550\u003c/a\u003e, and also \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1612\"\u003e#1612\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1619\"\u003e#1619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSeparate integration tests by JUnit version (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1636\"\u003e#1636\u003c/a\u003e; many thanks to \u003ca href=\"https://github.com/schulzjo-tng\"\u003e\u003ccode\u003e@​schulzjo-tng\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003ejunit-dataprovider\u003c/code\u003e with \u003ccode\u003ejunit-jupiter-params\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1655\"\u003e#1655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eArchUnit releases now update Maven examples (and Gradle wrapper) of \u003ca href=\"https://github.com/TNG/ArchUnit-Examples\"\u003eArchUnit-Examples\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid managing hamcrest dependency (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1467\"\u003e#1467\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/TheManWhoStaresAtCode\"\u003e\u003ccode\u003e@​TheManWhoStaresAtCode\u003c/code\u003e\u003c/a\u003e 👋)\u003c/li\u003e\n\u003c/ul\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/502d782bfbf2632a2c9f943a502ddd8cc3e3c46d\"\u003e\u003ccode\u003e502d782\u003c/code\u003e\u003c/a\u003e prepare release 1.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/4f26fccd784d37f469e743950f8e0a3ff686d64b\"\u003e\u003ccode\u003e4f26fcc\u003c/code\u003e\u003c/a\u003e fix testRelease exec() and task registration for Gradle 9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/96af98457c924289ecff834737eebd8a55bddda6\"\u003e\u003ccode\u003e96af984\u003c/code\u003e\u003c/a\u003e add new developers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/e427828fcb9b09117cd0e59a471314218f8331d5\"\u003e\u003ccode\u003ee427828\u003c/code\u003e\u003c/a\u003e consolidate POM checks during CI and release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a30f6e3465ed3cb0868607debf80bf83e741b5f0\"\u003e\u003ccode\u003ea30f6e3\u003c/code\u003e\u003c/a\u003e Bump gradle/actions from 6 to 6.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/a036c08707c50e6f7091754e63389f5bd2aaec64\"\u003e\u003ccode\u003ea036c08\u003c/code\u003e\u003c/a\u003e Bump com.github.ben-manes.versions from 0.57.0 to 0.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/24a9d9e10d4bb5ba5c5678d36810ef2397470163\"\u003e\u003ccode\u003e24a9d9e\u003c/code\u003e\u003c/a\u003e Bump actions/setup-java from 5.6.0 to 5.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/9944244c116f2724ac5bc1d02c73ca10af1c92e4\"\u003e\u003ccode\u003e9944244\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1660\"\u003e#1660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/51fd6c9e90c681a3d644f8a1e86a428f64fe3418\"\u003e\u003ccode\u003e51fd6c9\u003c/code\u003e\u003c/a\u003e detect custom Gradle test source sets in test import options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TNG/ArchUnit/commit/65f4cd3a60c48b0654daa4662b563e6b8545e221\"\u003e\u003ccode\u003e65f4cd3\u003c/code\u003e\u003c/a\u003e add support for dependencies from caught exceptions (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1555\"\u003e#1555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TNG/ArchUnit/compare/v1.4.1...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.slf4j:slf4j-api` from 2.0.17 to 2.0.18\n\nUpdates `ch.qos.logback:logback-classic` from 1.5.18 to 1.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/qos-ch/logback/releases\"\u003ech.qos.logback:logback-classic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eLogback 1.6.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e2026-07-28 Release of logback version 1.6.1\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e• In TimeBasedRollingPolicy, when the file option is set, the intermediate file renamed before asynchronous compression now receives the target archive name without the compression suffix (e.g. \u003ccode\u003e.gz\u003c/code\u003e, \u003ccode\u003e.zip\u003c/code\u003e, \u003ccode\u003e.xz\u003c/code\u003e). Previously it used a nanotime-based \u003ccode\u003e.tmp\u003c/code\u003e suffix. This makes the file easier to identify if compression fails during rollover. (See also the following paragraph.)\u003c/p\u003e\n\u003cp\u003e• On GZ, ZIP, or XZ compression failure, the original (uncompressed) log file is no longer deleted. Compression strategies now delete the source file only after successful compression and emit a warning that the original was left intact.\u003c/p\u003e\n\u003cp\u003e• ConsoleAppender with \u003c!-- raw HTML omitted --\u003e now probes JLine's org.jline.jansi.AnsiConsole first and falls back to the legacy FuseSource org.fusesource.jansi.AnsiConsole class. This keeps ANSI coloring working after Jansi moved under the JLine project. The optional org.jline:jansi-core artifact is declared as a dependency alongside the existing FuseSource jansi dependency. A preferredJansiClassName property was added for tests. This issue was reported in \u003ca href=\"https://redirect.github.com/qos-ch/logback/issues/1043\"\u003eissues/1043\u003c/a\u003e by \u003ca href=\"https://github.com/seonwooj0810\"\u003eseonwoo_jung\u003c/a\u003e who also provided the relevant PR.\u003c/p\u003e\n\u003cp\u003e• LayoutWrappingEncoder now reports an error at start() when no layout is set and guards encode() against a null layout. Previously, a missing layout (for example after an ignored \u003c!-- raw HTML omitted --\u003e/\u003c!-- raw HTML omitted --\u003e/\u003c!-- raw HTML omitted --\u003e branch) allowed the encoder to start and then fail with a NullPointerException on every event, resulting in silent log loss. This issue was reported in \u003ca href=\"https://redirect.github.com/qos-ch/logback/issues/1046\"\u003eissues/1046\u003c/a\u003e by \u003ca href=\"https://github.com/seonwooj0810\"\u003eseonwoo_jung\u003c/a\u003e who also provided the relevant PR.\u003c/p\u003e\n\u003cp\u003e• FileCollisionAnalyser now detects file collisions involving nested appenders of SiftingAppender. When the nested file or fileNamePattern does not textually reference the discriminator key (e.g. ${userId}), a warning is issued at configuration time naming the appender, the key, and the shared target. This closes a gap where statically declared file appenders were checked but sifted nested appenders were not. This enhancement was contributed in [PR \u003ca href=\"https://redirect.github.com/qos-ch/logback/issues/1041\"\u003e#1041\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/qos-ch/logback/issues/1041\"\u003eqos-ch/logback#1041\u003c/a\u003e) by \u003ca href=\"https://github.com/seonwooj0810\"\u003eseonwoo_jung\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e• More defensive handling in SyslogOutputStream and SyslogAppenderBase: the close() method now ensures that resources are closed, writes and flushes check that the underlying resources are in a valid state and fallback to no-op otherwise.\u003c/p\u003e\n\u003cp\u003e• A bit-wise identical binary of this version can be reproduced by building from source code at commit 57759f433000a133088ef0441038963134437fbd associated with the tag v_1.6.1. The release was built using Java \u0026quot;21\u0026quot; 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.\u003c/p\u003e\n\u003cp\u003e• See \u003ca href=\"https://logback.qos.ch/news.html#1.6.1\"\u003ehttps://logback.qos.ch/news.html#1.6.1\u003c/a\u003e for the original text.\u003c/p\u003e\n\u003ch2\u003eLogback 1.6.0\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e2026-07-23 Release of logback version 1.6.0\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e• Removed certain deprecated variables, methods, and classes. For the list of removed members see \u003ca href=\"https://logback.qos.ch/notes/release_1.6.0.txt\"\u003erelease_1.6.0.txt.\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e• In \u003ccode\u003eAsyncAppenderBase\u003c/code\u003e, the \u003ccode\u003eput(ILoggingEvent)\u003c/code\u003e method now has the protected modifier to allow access from derived classes. This change was requested by Thomas Skjølberg in \u003ca href=\"https://redirect.github.com/qos-ch/logback/pull/1053\"\u003epr#1053\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e• Bump SLF4J dependency to version 2.0.18.\u003c/p\u003e\n\u003cp\u003e• \u003cstrong\u003eSee also the overview of the \u003ca href=\"https://logback.qos.ch/news.html#latest_stable\"\u003e1.6.x series\u003c/a\u003e.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e• A bit-wise identical binary of this version can be reproduced by building from source code at commit b07adf36019b51a10f824fdd94009985c587b1d3 associated with the tag v_1.6.0. The release was built using Java \u0026quot;21\u0026quot; 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.\u003c/p\u003e\n\u003ch2\u003eLogback 1.5.38\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e2026-07-09 Release of logback version 1.5.38\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e• In \u003ccode\u003eHardenedObjectInputStream\u003c/code\u003e, fixed a typo preventing \u003ccode\u003eThrowable\u003c/code\u003e objects from being white-filtered. This issue was reported in [PR \u003ca href=\"https://redirect.github.com/qos-ch/logback/issues/1045\"\u003e#1045\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/qos-ch/logback/pull/1045\"\u003eqos-ch/logback#1045\u003c/a\u003e) by \u003ca href=\"https://github.com/t0rchwo0d\"\u003et0rchwo0d\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e• A bitwise identical binary of this version can be reproduced by building from source code at commit d04984a41fce42977466f45a2f076f0ee5cc4207 associated with the tag v_1.5.38. Release built using Java \u0026quot;21\u0026quot; 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.\u003c/p\u003e\n\u003ch2\u003eLogback 1.5.37\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e2026-06-26 Release of logback version 1.5.37\u003c/strong\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e• Given the numerous vulnerabilities related to conditional configuration processing based on the evaluation of Java expressions using the Janino library, support for such expressions has been removed. Users are offered the an \u003ca href=\"https://logback.qos.ch/translator/services/conditionalConfigMigrator.html\"\u003eonline migration service\u003c/a\u003e or the \u003ccode\u003e\u0026lt;condition\u0026gt;\u003c/code\u003e element introduced in version 1.5.20. See the \u003ca href=\"https://logback.qos.ch/manual/configuration.html#conditional\"\u003erelevant documentation\u003c/a\u003e for more details.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e• A bitwise identical binary of this version can be reproduced by building from source code at commit c1df7f522e648eec7b4ef6a12c8758fec0f00048 associated with the tag v_1.5.37. Release built using Java \u0026quot;21\u0026quot; 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.\u003c/p\u003e\n\u003ch2\u003eLogback 1.5.36\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e2026-06-25 Release of logback version 1.5.36\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e• The 'condition' attribute in \u003ccode\u003e\u0026lt;if\u0026gt;\u003c/code\u003e elements now reject certain references that are associated with ACE attacks. This issue was reported by \u0026quot;yulate\u0026quot; (\u003ca href=\"mailto:yulate531@gmail.com.com\"\u003eyulate531@gmail.com.com\u003c/a\u003e) and registered as \u003ca href=\"https://www.cve.org/cverecord?id=CVE-2026-13006\"\u003eCVE-2026-13006\u003c/a\u003e. \u003cstrong\u003ePlease note that version 1.5.37 provides the full fix to this vulnerability.\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/qos-ch/logback/commit/57759f433000a133088ef0441038963134437fbd\"\u003e\u003ccode\u003e57759f4\u003c/code\u003e\u003c/a\u003e prepare release 1.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/175f99f2093ae07f4c8d44f93b800f65b03a6e19\"\u003e\u003ccode\u003e175f99f\u003c/code\u003e\u003c/a\u003e fix imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/4b8773ed127fdc62b85a7c7ddaef10f25830788c\"\u003e\u003ccode\u003e4b8773e\u003c/code\u003e\u003c/a\u003e add compressionFailureLeavesOriginalFileIntact test for XZ compression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/cafaf1115fd20be19b2f7a4a09184446e8bbc04d\"\u003e\u003ccode\u003ecafaf11\u003c/code\u003e\u003c/a\u003e do not delete original file if compression fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/ee50125b293f5a731543de9f9f5fb72756a43464\"\u003e\u003ccode\u003eee50125\u003c/code\u003e\u003c/a\u003e let the temporary file before compression be target file without the .gz or ....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/5626acc301f4039537a6c668f0f2d51989472785\"\u003e\u003ccode\u003e5626acc\u003c/code\u003e\u003c/a\u003e minor refactoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/d97da4fbc0de00ca901ef78d91b9fc1850ae803f\"\u003e\u003ccode\u003ed97da4f\u003c/code\u003e\u003c/a\u003e minor refactoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/159c045d8f045ccf8b382775d81d83919c228cca\"\u003e\u003ccode\u003e159c045\u003c/code\u003e\u003c/a\u003e more defensive coding in SyslogOutputStream and in SyslogAppenderBase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/9427d6b23d5a692c8a76a994c076ef68ded7835c\"\u003e\u003ccode\u003e9427d6b\u003c/code\u003e\u003c/a\u003e slight refactoring for clarity\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/79c4179c0b440a9dcf35bc9bda1ead2b2f90966c\"\u003e\u003ccode\u003e79c4179\u003c/code\u003e\u003c/a\u003e slight refactoring\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/qos-ch/logback/compare/v_1.5.18...v_1.6.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/tuanworlddev/jdesk/pull/12","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tuanworlddev%2Fjdesk/issues/12","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/12/packages"}},{"old_version":"1.3.0","new_version":"1.4.2","update_type":"minor","path":null,"pr_created_at":"2026-07-13T21:43:49.000Z","version_change":"1.3.0 → 1.4.2","issue":{"uuid":"4877851030","node_id":"PR_kwDOQEfaqc7xR3-I","number":282,"state":"open","title":"deps(deps): bump the gradle-dependencies group across 1 directory with 30 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-07-13T21:43:49.000Z","updated_at":"2026-07-24T17:00:34.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"gradle-dependencies","update_count":30,"packages":[{"name":"org.yaml:snakeyaml","old_version":"2.3","new_version":"2.6"},{"name":"org.springframework.boot:spring-boot-dependencies","old_version":"3.4.4","new_version":"4.1.0","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot","old_version":"3.4.4","new_version":"4.1.0","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"gradle-wrapper","old_version":"8.12","new_version":"9.6.1","repository_url":"https://github.com/gradle/gradle"},{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-test","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-allopen","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-noarg","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.jvm","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.spring","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.jpa","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.fasterxml.jackson.module:jackson-module-kotlin","old_version":"2.18.2","new_version":"2.22.1","repository_url":"https://github.com/FasterXML/jackson-module-kotlin"},{"name":"com.fasterxml.jackson.dataformat:jackson-dataformat-xml","old_version":"2.18.2","new_version":"2.22.1","repository_url":"https://github.com/FasterXML/jackson-dataformat-xml"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"2.8.6","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"com.giffing.bucket4j.spring.boot.starter:bucket4j-spring-boot-starter","old_version":"0.12.10","new_version":"0.14.0","repository_url":"https://github.com/MarcGiffing/bucket4j-spring-boot-starter"},{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.1.8","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"com.github.ben-manes.caffeine:jcache","old_version":"3.1.8","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"org.flywaydb:flyway-core","old_version":"11.3.1","new_version":"13.0.0"},{"name":"org.flywaydb:flyway-database-postgresql","old_version":"11.3.1","new_version":"13.0.0"},{"name":"org.postgresql:postgresql","old_version":"42.7.4","new_version":"42.7.13","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"io.kotest:kotest-runner-junit5","old_version":"5.9.1","new_version":"6.2.3","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-assertions-core","old_version":"5.9.1","new_version":"6.2.3","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-property","old_version":"5.9.1","new_version":"6.2.3","repository_url":"https://github.com/kotest/kotest"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.3.0","new_version":"1.4.2","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"net.jqwik:jqwik","old_version":"1.9.2","new_version":"1.10.1","repository_url":"https://github.com/jqwik-team/jqwik"},{"name":"org.testcontainers:testcontainers-bom","old_version":"1.20.4","new_version":"1.21.4","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.testcontainers:junit-jupiter","old_version":"1.20.4","new_version":"1.21.4","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.testcontainers:postgresql","old_version":"1.20.4","new_version":"1.21.4","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"com.diffplug.spotless","old_version":"7.0.4","new_version":"8.8.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 30 updates in the /yay-tsa-v2 directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.yaml:snakeyaml](https://bitbucket.org/snakeyaml/snakeyaml) | `2.3` | `2.6` |\n| [org.springframework.boot:spring-boot-dependencies](https://github.com/spring-projects/spring-boot) | `3.4.4` | `4.1.0` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `3.4.4` | `4.1.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.12` | `9.6.1` |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [org.jetbrains.kotlin:kotlin-test](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [org.jetbrains.kotlin:kotlin-allopen](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [org.jetbrains.kotlin:kotlin-noarg](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [org.jetbrains.kotlin.plugin.spring](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [org.jetbrains.kotlin.plugin.jpa](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [com.fasterxml.jackson.module:jackson-module-kotlin](https://github.com/FasterXML/jackson-module-kotlin) | `2.18.2` | `2.22.1` |\n| [com.fasterxml.jackson.dataformat:jackson-dataformat-xml](https://github.com/FasterXML/jackson-dataformat-xml) | `2.18.2` | `2.22.1` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `2.8.6` | `3.0.3` |\n| [com.giffing.bucket4j.spring.boot.starter:bucket4j-spring-boot-starter](https://github.com/MarcGiffing/bucket4j-spring-boot-starter) | `0.12.10` | `0.14.0` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.1.8` | `3.2.4` |\n| [com.github.ben-manes.caffeine:jcache](https://github.com/ben-manes/caffeine) | `3.1.8` | `3.2.4` |\n| org.flywaydb:flyway-core | `11.3.1` | `13.0.0` |\n| org.flywaydb:flyway-database-postgresql | `11.3.1` | `13.0.0` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.4` | `42.7.13` |\n| [io.kotest:kotest-runner-junit5](https://github.com/kotest/kotest) | `5.9.1` | `6.2.3` |\n| [io.kotest:kotest-assertions-core](https://github.com/kotest/kotest) | `5.9.1` | `6.2.3` |\n| [io.kotest:kotest-property](https://github.com/kotest/kotest) | `5.9.1` | `6.2.3` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.3.0` | `1.4.2` |\n| [net.jqwik:jqwik](https://github.com/jqwik-team/jqwik) | `1.9.2` | `1.10.1` |\n| [org.testcontainers:testcontainers-bom](https://github.com/testcontainers/testcontainers-java) | `1.20.4` | `1.21.4` |\n| [org.testcontainers:junit-jupiter](https://github.com/testcontainers/testcontainers-java) | `1.20.4` | `1.21.4` |\n| [org.testcontainers:postgresql](https://github.com/testcontainers/testcontainers-java) | `1.20.4` | `1.21.4` |\n| com.diffplug.spotless | `7.0.4` | `8.8.0` |\n\n\nUpdates `org.yaml:snakeyaml` from 2.3 to 2.6\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/015ab57b3a789f85cf8967f6f3431035d928d9bc\"\u003e\u003ccode\u003e015ab57\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/4795519ef773da23c8816a4e932f9aaffd630f8c\"\u003e\u003ccode\u003e4795519\u003c/code\u003e\u003c/a\u003e Update info\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/9c36c69034617a1c2e06b5b9b6da4073416279b8\"\u003e\u003ccode\u003e9c36c69\u003c/code\u003e\u003c/a\u003e Introduce devcontainer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/0c5b3e513a8a3971f7c97404f73fadebb63b73c0\"\u003e\u003ccode\u003e0c5b3e5\u003c/code\u003e\u003c/a\u003e fix: add debug level to internal logger\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/a65b13170d1b221af062d6aa90fd7741ed7ea7cd\"\u003e\u003ccode\u003ea65b131\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into devcontainers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/788a98b92bfd1696e95a0a48eb1d652d80660149\"\u003e\u003ccode\u003e788a98b\u003c/code\u003e\u003c/a\u003e Update changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/556b4bfec56355987f292f0ee515798b3a2eb3e0\"\u003e\u003ccode\u003e556b4bf\u003c/code\u003e\u003c/a\u003e Add info for devcontainer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/0828c39da732f89844c0c66d7f55169417f8cd16\"\u003e\u003ccode\u003e0828c39\u003c/code\u003e\u003c/a\u003e ops: migrate deployment from OSSRH to Central Portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/30d6a3a64809f0f6d3d9fd901a85b7c3cda94930\"\u003e\u003ccode\u003e30d6a3a\u003c/code\u003e\u003c/a\u003e Add a test for issue 1108\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/2da4c6d8bfe0590dab56a5319366dc3b6558b9b5\"\u003e\u003ccode\u003e2da4c6d\u003c/code\u003e\u003c/a\u003e Remove unrelated code\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/branches/compare/snakeyaml-2.6..snakeyaml-2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot:spring-boot-dependencies` from 3.4.4 to 4.1.0\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:spring-boot-dependencies's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003cp\u003eFull \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.1-Release-Notes\"\u003erelease notes for Spring Boot 4.1\u003c/a\u003e are available on the wiki.\u003c/p\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd public constructor to InvalidConfigurationPropertyValueException that accepts a cause \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50211\"\u003e#50211\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReduce memory consumption when repeatedly calling WritableJson.toByteArray \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49428\"\u003e#49428\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMailSender auto-configuration does not enable hostname verification \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50747\"\u003e#50747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eArtemis auto-configuration uses a predictable default location for the embedded broker's data \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50745\"\u003e#50745\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEmbedded LDAP SSL should not be enabled when its bundle is empty \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50700\"\u003e#50700\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInetAddressFilter.externalAddresses does not exclude special purpose addresses from RFC 6890 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50668\"\u003e#50668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNullPointerException in reactor-netty SniProvider and unmapped SSL bundle with RSocket \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50645\"\u003e#50645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSSL should not be enabled when a SSL bundle is overridden to an empty string \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50635\"\u003e#50635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest auto-configuration no longer integrates Spring Security with HtmlUnitDriver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50633\"\u003e#50633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConfiguration property metadata includes incorrect class references \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50632\"\u003e#50632\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support does not restore thread interrupt flag when catching InterruptedException \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50618\"\u003e#50618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRabbitProperties enables SSL even when spring.rabbitmq.ssl.bundle is overridden to an empty string \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50612\"\u003e#50612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNullPointerException in reactor-netty SniProvider when SSL bundle uses client-auth or server truststore without server-name-bundles \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50610\"\u003e#50610\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpringJtaPlatform should have been deprecated since 4.1.0-M3 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50592\"\u003e#50592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLayer written outside the output location of '//' exception is thrown when using extract layers in root directory \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50510\"\u003e#50510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConfigurationPropertiesReportEndpoint exposes AOP proxy internals \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50417\"\u003e#50417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreated StackTracePrinter instances have no access to the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50414\"\u003e#50414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMappingsEndpoint reports the context's own ID as parentId when a parent exists \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50412\"\u003e#50412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuildpack module does not validate long-to-int casts \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50410\"\u003e#50410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGradle gRPC support fails if protobuf-java dependency is used instead of protobuf-java-util \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50405\"\u003e#50405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGraphQL WebSocket support does not configure allowed origins \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50394\"\u003e#50394\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Boot Loader Does Not Support RSA and EC Signed Jars \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50298\"\u003e#50298\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMeter registries are not removed from the global registry when the context is closed \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50287\"\u003e#50287\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDataSourceBuilder cannot derive a DataSource from a lazy connection proxy \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50271\"\u003e#50271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNullable annotations from AbstractErrorController.getErrorAttributes are not aligned with implementation \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50266\"\u003e#50266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBean definitions can be added with an initializer before setAllowBeanDefinitionOverriding is called \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50264\"\u003e#50264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEndpointRequest links matcher unnecessarily matches HTTP methods other than GET  \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50261\"\u003e#50261\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eActuator's '/cloudfoundryapplication' endpoint does not work if restrictive CORS configuration is provided using a bean named corsConfigurationSource \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50258\"\u003e#50258\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThreadPoolTaskScheduleBuilder unnecessarily loses precision when configuring await termination time \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50234\"\u003e#50234\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNimbusJwtDecoder silently accepts unknown values for spring.security.oauth2.resourceserver.jwt.jws-algorithms \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50228\"\u003e#50228\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMissing dependency management for spring-boot-web-server-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50224\"\u003e#50224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Batch support for MongoDB modules are not included in dependency management \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50223\"\u003e#50223\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply HTML escaping to timestamp attribute in Whitelabel error page \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50216\"\u003e#50216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGrpcServerHealthScheduler is not started in servlet environments \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50209\"\u003e#50209\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSetting server.servlet.session.cookie.partitioned=true has no effect when using Tomcat \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50204\"\u003e#50204\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\u003eFix reference to Gradle documentation for module replacement \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50647\"\u003e#50647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument SSL reloading with Let's Encrypt \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50630\"\u003e#50630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove the use of Optional from Data Neo4j repository examples \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50622\"\u003e#50622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos in documentation \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50620\"\u003e#50620\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/ac2cfe03538b87a0dc9d2619ed52a4c901eaea54\"\u003e\u003ccode\u003eac2cfe0\u003c/code\u003e\u003c/a\u003e Release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/1a5815cf3183a0c9493cece8ba550a6e8b125d67\"\u003e\u003ccode\u003e1a5815c\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Batch 6.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/a8364ff9c2a0ca88541cc153f032089e063b797c\"\u003e\u003ccode\u003ea8364ff\u003c/code\u003e\u003c/a\u003e Merge branch '4.0.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9755ff29e7ce3a8ac4574e5b452bdfe1053718b1\"\u003e\u003ccode\u003e9755ff2\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Batch 6.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/6a6dedc4354cbafadaf8aab2803fc3acd7e6b8de\"\u003e\u003ccode\u003e6a6dedc\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 7.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/db7b2b9fb0b3c623d707f2627f832b4dd5f2eb8c\"\u003e\u003ccode\u003edb7b2b9\u003c/code\u003e\u003c/a\u003e Merge branch '4.0.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/d549d077c03add0421464fcd0248bd8b76b41973\"\u003e\u003ccode\u003ed549d07\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 7.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4d9e463dc3fefea2b73dcfbb15b4ced6b69dbaf9\"\u003e\u003ccode\u003e4d9e463\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/b0686478a71cceb977dc1ff5b4e69ef5eb052fcf\"\u003e\u003ccode\u003eb068647\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 6.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/198af995dc03a09583c61bcd0b8ffda341055feb\"\u003e\u003ccode\u003e198af99\u003c/code\u003e\u003c/a\u003e Merge branch '4.0.x'\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v3.4.4...v4.1.0\"\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.4.4 to 4.1.0\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.1.0\u003c/h2\u003e\n\u003cp\u003eFull \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.1-Release-Notes\"\u003erelease notes for Spring Boot 4.1\u003c/a\u003e are available on the wiki.\u003c/p\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd public constructor to InvalidConfigurationPropertyValueException that accepts a cause \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50211\"\u003e#50211\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReduce memory consumption when repeatedly calling WritableJson.toByteArray \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49428\"\u003e#49428\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMailSender auto-configuration does not enable hostname verification \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50747\"\u003e#50747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eArtemis auto-configuration uses a predictable default location for the embedded broker's data \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50745\"\u003e#50745\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEmbedded LDAP SSL should not be enabled when its bundle is empty \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50700\"\u003e#50700\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInetAddressFilter.externalAddresses does not exclude special purpose addresses from RFC 6890 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50668\"\u003e#50668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNullPointerException in reactor-netty SniProvider and unmapped SSL bundle with RSocket \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50645\"\u003e#50645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSSL should not be enabled when a SSL bundle is overridden to an empty string \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50635\"\u003e#50635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest auto-configuration no longer integrates Spring Security with HtmlUnitDriver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50633\"\u003e#50633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConfiguration property metadata includes incorrect class references \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50632\"\u003e#50632\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support does not restore thread interrupt flag when catching InterruptedException \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50618\"\u003e#50618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRabbitProperties enables SSL even when spring.rabbitmq.ssl.bundle is overridden to an empty string \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50612\"\u003e#50612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNullPointerException in reactor-netty SniProvider when SSL bundle uses client-auth or server truststore without server-name-bundles \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50610\"\u003e#50610\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpringJtaPlatform should have been deprecated since 4.1.0-M3 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50592\"\u003e#50592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLayer written outside the output location of '//' exception is thrown when using extract layers in root directory \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50510\"\u003e#50510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConfigurationPropertiesReportEndpoint exposes AOP proxy internals \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50417\"\u003e#50417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreated StackTracePrinter instances have no access to the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50414\"\u003e#50414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMappingsEndpoint reports the context's own ID as parentId when a parent exists \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50412\"\u003e#50412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuildpack module does not validate long-to-int casts \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50410\"\u003e#50410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGradle gRPC support fails if protobuf-java dependency is used instead of protobuf-java-util \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50405\"\u003e#50405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGraphQL WebSocket support does not configure allowed origins \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50394\"\u003e#50394\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Boot Loader Does Not Support RSA and EC Signed Jars \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50298\"\u003e#50298\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMeter registries are not removed from the global registry when the context is closed \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50287\"\u003e#50287\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDataSourceBuilder cannot derive a DataSource from a lazy connection proxy \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50271\"\u003e#50271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNullable annotations from AbstractErrorController.getErrorAttributes are not aligned with implementation \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50266\"\u003e#50266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBean definitions can be added with an initializer before setAllowBeanDefinitionOverriding is called \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50264\"\u003e#50264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEndpointRequest links matcher unnecessarily matches HTTP methods other than GET  \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50261\"\u003e#50261\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eActuator's '/cloudfoundryapplication' endpoint does not work if restrictive CORS configuration is provided using a bean named corsConfigurationSource \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50258\"\u003e#50258\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThreadPoolTaskScheduleBuilder unnecessarily loses precision when configuring await termination time \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50234\"\u003e#50234\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNimbusJwtDecoder silently accepts unknown values for spring.security.oauth2.resourceserver.jwt.jws-algorithms \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50228\"\u003e#50228\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMissing dependency management for spring-boot-web-server-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50224\"\u003e#50224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Batch support for MongoDB modules are not included in dependency management \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50223\"\u003e#50223\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply HTML escaping to timestamp attribute in Whitelabel error page \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50216\"\u003e#50216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGrpcServerHealthScheduler is not started in servlet environments \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50209\"\u003e#50209\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSetting server.servlet.session.cookie.partitioned=true has no effect when using Tomcat \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50204\"\u003e#50204\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\u003eFix reference to Gradle documentation for module replacement \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50647\"\u003e#50647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument SSL reloading with Let's Encrypt \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50630\"\u003e#50630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove the use of Optional from Data Neo4j repository examples \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50622\"\u003e#50622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos in documentation \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50620\"\u003e#50620\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/ac2cfe03538b87a0dc9d2619ed52a4c901eaea54\"\u003e\u003ccode\u003eac2cfe0\u003c/code\u003e\u003c/a\u003e Release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/1a5815cf3183a0c9493cece8ba550a6e8b125d67\"\u003e\u003ccode\u003e1a5815c\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Batch 6.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/a8364ff9c2a0ca88541cc153f032089e063b797c\"\u003e\u003ccode\u003ea8364ff\u003c/code\u003e\u003c/a\u003e Merge branch '4.0.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9755ff29e7ce3a8ac4574e5b452bdfe1053718b1\"\u003e\u003ccode\u003e9755ff2\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Batch 6.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/6a6dedc4354cbafadaf8aab2803fc3acd7e6b8de\"\u003e\u003ccode\u003e6a6dedc\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 7.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/db7b2b9fb0b3c623d707f2627f832b4dd5f2eb8c\"\u003e\u003ccode\u003edb7b2b9\u003c/code\u003e\u003c/a\u003e Merge branch '4.0.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/d549d077c03add0421464fcd0248bd8b76b41973\"\u003e\u003ccode\u003ed549d07\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 7.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4d9e463dc3fefea2b73dcfbb15b4ced6b69dbaf9\"\u003e\u003ccode\u003e4d9e463\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/b0686478a71cceb977dc1ff5b4e69ef5eb052fcf\"\u003e\u003ccode\u003eb068647\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 6.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/198af995dc03a09583c61bcd0b8ffda341055feb\"\u003e\u003ccode\u003e198af99\u003c/code\u003e\u003c/a\u003e Merge branch '4.0.x'\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v3.4.4...v4.1.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 8.12 to 9.6.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.6.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.6.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImproved Configuration Cache hit rates\u003c/li\u003e\n\u003cli\u003eAdditional CLI rendering options\u003c/li\u003e\n\u003cli\u003eImportant project hierarchy lookup deprecations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.6.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/Ahar28\"\u003eAharnish Solanki\u003c/a\u003e,\n\u003ca href=\"https://github.com/benediktjohannes\"\u003eBenedikt Johannes\u003c/a\u003e,\n\u003ca href=\"https://github.com/devareddy05\"\u003eDevendra Reddy Pennabadi\u003c/a\u003e,\n\u003ca href=\"https://github.com/smplio\"\u003eDmytro Rodionov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Dreeam-qwq\"\u003eDreeam\u003c/a\u003e,\n\u003ca href=\"https://github.com/EliasHdzR\"\u003eElías Hernández Rodríguez\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/FinlayRJW\"\u003eFinlayRJW\u003c/a\u003e,\n\u003ca href=\"https://github.com/kamalkansal27\"\u003eKamal Kansal\u003c/a\u003e,\n\u003ca href=\"https://github.com/Marcono1234\"\u003eMarcono1234\u003c/a\u003e,\n\u003ca href=\"https://github.com/runningcode\"\u003eNelson Osacky\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/rkdfx\"\u003eRavi\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/rschmitt\"\u003eRyan Schmitt\u003c/a\u003e,\n\u003ca href=\"https://github.com/sschuberth\"\u003eSebastian Schuberth\u003c/a\u003e,\n\u003ca href=\"https://github.com/seung-hun-h\"\u003eseunghun.ham\u003c/a\u003e,\n\u003ca href=\"https://github.com/sk-reddy17\"\u003esk-reddy17\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/VedantMadane\"\u003eVedant Madane\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.6.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew :wrapper --gradle-version=9.6.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.6.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.6.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.6.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/309d128bd9fe8c0b71311878fc660b9cbaa07c51\"\u003e\u003ccode\u003e309d128\u003c/code\u003e\u003c/a\u003e Update fixed issues in release notes for 9.6.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38328\"\u003e#38328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/040a978e74ceefbd408bd832fca23e1462fb34b7\"\u003e\u003ccode\u003e040a978\u003c/code\u003e\u003c/a\u003e Update fixed issues in release notes for 9.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e0b8325523e3ae1e93fe81da595a1fb1b66a6cce\"\u003e\u003ccode\u003ee0b8325\u003c/code\u003e\u003c/a\u003e Restore --non-interactive flag instead of --interactive/--no-interactive (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38\"\u003e#38\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/946f3e637ce0d8042a22a8096b9837a69607382e\"\u003e\u003ccode\u003e946f3e6\u003c/code\u003e\u003c/a\u003e Limit explicit temp file permission setting to intended use case (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38300\"\u003e#38300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/65f82246193da1bd8c7a087712c3c376aab1dd82\"\u003e\u003ccode\u003e65f8224\u003c/code\u003e\u003c/a\u003e Restore --non-interactive flag instead of --interactive/--no-interactive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e346a5ec9d5bbdb5a2478118651d22c19b121f39\"\u003e\u003ccode\u003ee346a5e\u003c/code\u003e\u003c/a\u003e Adjust CLI flag to configure non-interactive console (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38301\"\u003e#38301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9b53be9a1271e12ac5186f7148c5a15b85f1f1d6\"\u003e\u003ccode\u003e9b53be9\u003c/code\u003e\u003c/a\u003e Adjust CLI flag to configure non-interactive console\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0dd3b53bec1c03db4bb20b7cb401c948123c5db4\"\u003e\u003ccode\u003e0dd3b53\u003c/code\u003e\u003c/a\u003e Limit explicit temp file permission setting to intended use case\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/48e5ac210190a0e3a33083404eea77e4dbdf8918\"\u003e\u003ccode\u003e48e5ac2\u003c/code\u003e\u003c/a\u003e Add reproducers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/25598fd75cffa8034af51d399e2b4bf03ba4c7ab\"\u003e\u003ccode\u003e25598fd\u003c/code\u003e\u003c/a\u003e Prepare 9.6.1 patch release (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38293\"\u003e#38293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.12.0...v9.6.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-stdlib` from 2.1.20 to 2.4.10\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-stdlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.10\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-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\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-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.4.10-RC2\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-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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-stdlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.10\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\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-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\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\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/JetBrains/kotlin/commit/5687445832cd835b4509b9fbc264cdf1a8201093\"\u003e\u003ccode\u003e5687445\u003c/code\u003e\u003c/a\u003e Add Changelog for 2.4.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ba30392c459dd7c1ae74c1501e83453144416bc9\"\u003e\u003ccode\u003eba30392\u003c/code\u003e\u003c/a\u003e [Wasm] Support regenerate unchanged modules flag on KGP\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6307e7310d14eef05f199ebccd9518379772d3a7\"\u003e\u003ccode\u003e6307e73\u003c/code\u003e\u003c/a\u003e [Wasm] Implement Xwasm-IC-generate-unchanged-modules flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/39d7aee8470b7ce61fea8f76c317456e2756f7c0\"\u003e\u003ccode\u003e39d7aee\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/a2956bed85f99752b78881075665d81a82e98ab2\"\u003e\u003ccode\u003ea2956be\u003c/code\u003e\u003c/a\u003e [Gradle] Update karma.conf.js to use 'require(...)' instead plain strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9b1361ce7a6cfd2edd6f8cdb05198573fb839b61\"\u003e\u003ccode\u003e9b1361c\u003c/code\u003e\u003c/a\u003e [Gradle] KT-87223: Updated regression test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/a4c153af52ad4694c0cca14c25812db54b19f90e\"\u003e\u003ccode\u003ea4c153a\u003c/code\u003e\u003c/a\u003e [Gradle] KT-87223: Fix toochain to 2.4.0 for abiValidation compat config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/bc04b90d245cd27d8339fe51bd43a90dd4c04e9f\"\u003e\u003ccode\u003ebc04b90\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/bbcb94baa2eed1cc5ccb39147dcf5a5a184d7a14\"\u003e\u003ccode\u003ebbcb94b\u003c/code\u003e\u003c/a\u003e [CRI] explicitly disable CRI generation for non-JVM targets to avoid false-po...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6c2c458f1d2e4b4f8638fb16f12ff1dd375c4ae2\"\u003e\u003ccode\u003e6c2c458\u003c/code\u003e\u003c/a\u003e Scripting: fix jvmTarget processing from script annotations\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.20...v2.4.10\"\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-test` from 2.1.20 to 2.4.10\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-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.10\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-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\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-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.4.10-RC2\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-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.10\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\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-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\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\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/JetBrains/kotlin/commit/5687445832cd835b4509b9fbc264cdf1a8201093\"\u003e\u003ccode\u003e5687445\u003c/code\u003e\u003c/a\u003e Add Changelog for 2.4.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ba30392c459dd7c1ae74c1501e83453144416bc9\"\u003e\u003ccode\u003eba30392\u003c/code\u003e\u003c/a\u003e [Wasm] Support regenerate unchanged modules flag on KGP\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6307e7310d14eef05f199ebccd9518379772d3a7\"\u003e\u003ccode\u003e6307e73\u003c/code\u003e\u003c/a\u003e [Wasm] Implement Xwasm-IC-generate-unchanged-modules flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/39d7aee8470b7ce61fea8f76c317456e2756f7c0\"\u003e\u003ccode\u003e39d7aee\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/a2956bed85f99752b78881075665d81a82e98ab2\"\u003e\u003ccode\u003ea2956be\u003c/code\u003e\u003c/a\u003e [Gradle] Update karma.conf.js to use 'require(...)' instead plain strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9b1361ce7a6cfd2edd6f8cdb05198573fb839b61\"\u003e\u003ccode\u003e9b1361c\u003c/code\u003e\u003c/a\u003e [Gradle] KT-87223: Updated regression test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/a4c153af52ad4694c0cca14c25812db54b19f90e\"\u003e\u003ccode\u003ea4c153a\u003c/code\u003e\u003c/a\u003e [Gradle] KT-87223: Fix toochain to 2.4.0 for abiValidation compat config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/bc04b90d245cd27d8339fe51bd43a90dd4c04e9f\"\u003e\u003ccode\u003ebc04b90\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/bbcb94baa2eed1cc5ccb39147dcf5a5a184d7a14\"\u003e\u003ccode\u003ebbcb94b\u003c/code\u003e\u003c/a\u003e [CRI] explicitly disable CRI generation for non-JVM targets to avoid false-po...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6c2c458f1d2e4b4f8638fb16f12ff1dd375c4ae2\"\u003e\u003ccode\u003e6c2c458\u003c/code\u003e\u003c/a\u003e Scripting: fix jvmTarget processing from script annotations\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.20...v2.4.10\"\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.1.20 to 2.4.10\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.10\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-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\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-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.4.10-RC2\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-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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.10\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\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-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\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\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/JetBrains/kotlin/commit/5687445832cd835b4509b9fbc264cdf1a8201093\"\u003e\u003ccode\u003e5687445\u003c/code\u003e\u003c/a\u003e Add Changelog for 2.4.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ba30392c459dd7c1ae74c1501e83453144416bc9\"\u003e\u003ccode\u003eba30392\u003c/code\u003e\u003c/a\u003e [Wasm] Support regenerate unchanged modules flag on KGP\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6307e7310d14eef05f199ebccd9518379772d3a7\"\u003e\u003ccode\u003e6307e73\u003c/code\u003e\u003c/a\u003e [Wasm] Implement Xwasm-IC-generate-unchanged-modules flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/39d7aee8470b7ce61fea8f76c317456e2756f7c0\"\u003e\u003ccode\u003e39d7aee\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/a2956bed85f99752b78881075665d81a82e98ab2\"\u003e\u003ccode\u003ea2956be\u003c/code\u003e\u003c/a\u003e [Gradle] Update karma.conf.js to use 'require(...)' instead plain strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9b1361ce7a6cfd2edd6f8cdb05198573fb839b61\"\u003e\u003ccode\u003e9b1361c\u003c/code\u003e\u003c/a\u003e [Gradle] KT-87223: Updated regression test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/a4c153af52ad4694c0cca14c25812db54b19f90e\"\u003e\u003ccode\u003ea4c153a\u003c/code\u003e\u003c/a\u003e [Gradle] KT-87223: Fix toochain to 2.4.0 for abiValidation compat config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/bc04b90d245cd27d8339fe51bd43a90dd4c04e9f\"\u003e\u003ccode\u003ebc04b90\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/bbcb94baa2eed1cc5ccb39147dcf5a5a184d7a14\"\u003e\u003ccode\u003ebbcb94b\u003c/code\u003e\u003c/a\u003e [CRI] explicitly disable CRI generation for non-JVM targets to avoid false-po...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6c2c458f1d2e4b4f8638fb16f12ff1dd375c4ae2\"\u003e\u003ccode\u003e6c2c458\u003c/code\u003e\u003c/a\u003e Scripting: fix jvmTarget processing from script annotations\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.20...v2.4.10\"\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-allopen` from 2.1.20 to 2.4.10\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-allopen's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.10\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-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\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-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.4.10-RC2\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-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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-allopen's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.10\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\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-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\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\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/JetBrains/kotlin/commit/5687445832cd835b4509b9fbc264cdf1a8201093\"\u003e\u003ccode\u003e5687445\u003c/code\u003e\u003c/a\u003e Add Changelog for 2.4.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ba30392c459dd7c1ae74c1501e83453144416bc9\"\u003e\u003ccode\u003eba30392\u003c/code\u003e\u003c/a\u003e [Wasm] Support regenerate unchanged modules flag on KGP\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6307e7310d14eef05f199ebccd9518379772d3a7\"\u003e\u003cc...\n\n_Description has been truncated_","html_url":"https://github.com/nikolay-e/yay-tsa/pull/282","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikolay-e%2Fyay-tsa/issues/282","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/282/packages"}},{"old_version":"1.3.0","new_version":"1.4.2","update_type":"minor","path":null,"pr_created_at":"2026-07-05T19:09:00.000Z","version_change":"1.3.0 → 1.4.2","issue":{"uuid":"4814090400","node_id":"PR_kwDOQtNs4s7uGAf6","number":16,"state":"open","title":"chore(deps): bump the maven-minor-patch group with 8 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-07-05T19:09:00.000Z","updated_at":"2026-07-05T19:09:00.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"maven-minor-patch","update_count":8,"packages":[{"name":"tools.jackson.core:jackson-core","old_version":"3.1.4","new_version":"3.2.0","repository_url":"https://github.com/FasterXML/jackson-core"},{"name":"tools.jackson.core:jackson-databind","old_version":"3.1.4","new_version":"3.2.0","repository_url":"https://github.com/FasterXML/jackson"},{"name":"io.sentry:sentry-spring-boot-starter-jakarta","old_version":"8.46.0","new_version":"8.47.0","repository_url":"https://github.com/getsentry/sentry-java"},{"name":"com.squareup.okhttp3:okhttp-jvm","old_version":"5.3.2","new_version":"5.4.0","repository_url":"https://github.com/square/okhttp"},{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.2.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.apache.commons:commons-lang3","old_version":"3.18.0","new_version":"3.20.0"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.3.0","new_version":"1.4.2","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"com.diffplug.spotless:spotless-maven-plugin","old_version":"3.7.0","new_version":"3.8.0","repository_url":"https://github.com/diffplug/spotless"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven-minor-patch group with 8 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [tools.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) | `3.1.4` | `3.2.0` |\n| [tools.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) | `3.1.4` | `3.2.0` |\n| [io.sentry:sentry-spring-boot-starter-jakarta](https://github.com/getsentry/sentry-java) | `8.46.0` | `8.47.0` |\n| [com.squareup.okhttp3:okhttp-jvm](https://github.com/square/okhttp) | `5.3.2` | `5.4.0` |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.4.0` |\n| org.apache.commons:commons-lang3 | `3.18.0` | `3.20.0` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.3.0` | `1.4.2` |\n| [com.diffplug.spotless:spotless-maven-plugin](https://github.com/diffplug/spotless) | `3.7.0` | `3.8.0` |\n\nUpdates `tools.jackson.core:jackson-core` from 3.1.4 to 3.2.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/d658b023b5def16c1abdb076ba43ca02806cf430\"\u003e\u003ccode\u003ed658b02\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/82a4d3192d07b1e26a49d3eb5d072c91d89f18ec\"\u003e\u003ccode\u003e82a4d31\u003c/code\u003e\u003c/a\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/ed252b6aba6f47ac672ebf84f944d1eb7e4221e0\"\u003e\u003ccode\u003eed252b6\u003c/code\u003e\u003c/a\u003e Prep for 3.2.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/f49fad1d9315f68fb3ec38205bbc7a2a86f0936f\"\u003e\u003ccode\u003ef49fad1\u003c/code\u003e\u003c/a\u003e Merge branch '3.1' into 3.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/42c673cd7eae25ba8f8e525ae9c7fa51ef1489da\"\u003e\u003ccode\u003e42c673c\u003c/code\u003e\u003c/a\u003e Merge branch '2.x' into 3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/76695905ee426fb5e126a321a807809dbb8916ce\"\u003e\u003ccode\u003e7669590\u003c/code\u003e\u003c/a\u003e Merge branch '2.22' into 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/492000443fcfc30bd97ae6a46d924120f39ce21c\"\u003e\u003ccode\u003e4920004\u003c/code\u003e\u003c/a\u003e Post-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/2bb55e8634c7fa1c197f995cdd4566ae7b7f4e0f\"\u003e\u003ccode\u003e2bb55e8\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-core/commit/d763562443cc9d6e224a6265ca3710195c813cf5\"\u003e\u003ccode\u003ed763562\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/e5c69fe5f7be957490d52dae70787e7a8138ddda\"\u003e\u003ccode\u003ee5c69fe\u003c/code\u003e\u003c/a\u003e Re-do 2.22.0 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-core/compare/jackson-core-3.1.4...jackson-core-3.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tools.jackson.core:jackson-databind` from 3.1.4 to 3.2.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/FasterXML/jackson/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tools.jackson.core:jackson-databind` from 3.1.4 to 3.2.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/FasterXML/jackson/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.sentry:sentry-spring-boot-starter-jakarta` from 8.46.0 to 8.47.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-java/releases\"\u003eio.sentry:sentry-spring-boot-starter-jakarta's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.47.0\u003c/h2\u003e\n\u003ch3\u003eBehavioral Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentryOkHttpInterceptor::intercept\u003c/code\u003e now throws \u003ccode\u003eIOException\u003c/code\u003e. This is a source-only and Java-only breaking change (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5654\"\u003e#5654\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't start a redundant UI interaction transaction when a transaction is already bound to the Scope (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5491\"\u003e#5491\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003ePreviously, \u003ccode\u003eSentryGestureListener\u003c/code\u003e always started a UI transaction and only afterwards skipped binding it to the Scope when a manually-bound transaction already existed, leaving the new transaction to be dropped as an idle transaction without children.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix potential NPE within \u003ccode\u003eScope.endSession()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5657\"\u003e#5657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix memory leak in \u003ccode\u003eReplayIntegration\u003c/code\u003e due to persisting executor not being shut down (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5627\"\u003e#5627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix AbstractMethodError when compose-ui 1.11+ is used in combination with \u003ccode\u003eModifier.sentryTag()\u003c/code\u003e or the Sentry Kotlin compiler plugin (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5672\"\u003e#5672\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up touch gesture target detection on deeply nested view hierarchies by hit-testing in local coordinates instead of calling \u003ccode\u003egetLocationOnScreen\u003c/code\u003e per view (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5595\"\u003e#5595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProbe class availability without initializing the class during SDK init (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5635\"\u003e#5635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid constructing an exception per view when resolving view ids during view-hierarchy and gesture capture (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5631\"\u003e#5631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStart the frame metrics thread lazily on first collection instead of during SDK init (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5641\"\u003e#5641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce \u003ccode\u003eSentryId\u003c/code\u003e and \u003ccode\u003eSpanId\u003c/code\u003e allocation overhead by replacing their per-instance \u003ccode\u003eLazyEvaluator\u003c/code\u003e (and its lock) with a lightweight lazily-generated \u003ccode\u003eString\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5645\"\u003e#5645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLazily allocate the \u003ccode\u003eReentrantLock\u003c/code\u003e backing \u003ccode\u003eAutoClosableReentrantLock\u003c/code\u003e to avoid eager lock allocations for SDK objects that never contend during \u003ccode\u003eSentryAndroid.init\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5643\"\u003e#5643\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/getsentry/sentry-java/blob/main/CHANGELOG.md\"\u003eio.sentry:sentry-spring-boot-starter-jakarta's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.47.0\u003c/h2\u003e\n\u003ch3\u003eBehavioral Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentryOkHttpInterceptor::intercept\u003c/code\u003e now throws \u003ccode\u003eIOException\u003c/code\u003e. This is a source-only and Java-only breaking change (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5654\"\u003e#5654\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix fragment tracing not working with detach/attach navigation (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5660\"\u003e#5660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't start a redundant UI interaction transaction when a transaction is already bound to the Scope (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5491\"\u003e#5491\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003ePreviously, \u003ccode\u003eSentryGestureListener\u003c/code\u003e always started a UI transaction and only afterwards skipped binding it to the Scope when a manually-bound transaction already existed, leaving the new transaction to be dropped as an idle transaction without children.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFix potential NPE within \u003ccode\u003eScope.endSession()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5657\"\u003e#5657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix memory leak in \u003ccode\u003eReplayIntegration\u003c/code\u003e due to persisting executor not being shut down (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5627\"\u003e#5627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix AbstractMethodError when compose-ui 1.11+ is used in combination with \u003ccode\u003eModifier.sentryTag()\u003c/code\u003e or the Sentry Kotlin compiler plugin (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5672\"\u003e#5672\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up touch gesture target detection on deeply nested view hierarchies by hit-testing in local coordinates instead of calling \u003ccode\u003egetLocationOnScreen\u003c/code\u003e per view (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5595\"\u003e#5595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProbe class availability without initializing the class during SDK init (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5635\"\u003e#5635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid constructing an exception per view when resolving view ids during view-hierarchy and gesture capture (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5631\"\u003e#5631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStart the frame metrics thread lazily on first collection instead of during SDK init (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5641\"\u003e#5641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce \u003ccode\u003eSentryId\u003c/code\u003e and \u003ccode\u003eSpanId\u003c/code\u003e allocation overhead by replacing their per-instance \u003ccode\u003eLazyEvaluator\u003c/code\u003e (and its lock) with a lightweight lazily-generated \u003ccode\u003eString\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5645\"\u003e#5645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLazily allocate the \u003ccode\u003eReentrantLock\u003c/code\u003e backing \u003ccode\u003eAutoClosableReentrantLock\u003c/code\u003e to avoid eager lock allocations for SDK objects that never contend during \u003ccode\u003eSentryAndroid.init\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5643\"\u003e#5643\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/getsentry/sentry-java/commit/ac08f86d4a15996d553eceef3d1cdfbbfe6bcc32\"\u003e\u003ccode\u003eac08f86\u003c/code\u003e\u003c/a\u003e release: 8.47.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/844c3e85ea53e298315edb075db1fd39bfdd47f0\"\u003e\u003ccode\u003e844c3e8\u003c/code\u003e\u003c/a\u003e build: Suppress obsolete Java 8 option warning under JDK 21+ (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5664\"\u003e#5664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/ea2a517b565d0dc5c37a0e2f22f68324f0fc724f\"\u003e\u003ccode\u003eea2a517\u003c/code\u003e\u003c/a\u003e perf(core): Lazily allocate AutoClosableReentrantLock (JAVA-588) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5643\"\u003e#5643\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/4414d9f4cd5601bee4c95f72a868b2c1ddff1f80\"\u003e\u003ccode\u003e4414d9f\u003c/code\u003e\u003c/a\u003e build: Remove global per-test JVM heap cap (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5671\"\u003e#5671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/30862fca3f9c52541d12e1d966e19f22ed22d402\"\u003e\u003ccode\u003e30862fc\u003c/code\u003e\u003c/a\u003e fix(compose): add isImportantForBounds() to SentryTagModifierNode for compose...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/0980ed763492be856f205dabfea93f14e8942878\"\u003e\u003ccode\u003e0980ed7\u003c/code\u003e\u003c/a\u003e perf(core): Drop per-instance lock from SentryId and SpanId (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5645\"\u003e#5645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/d06126055527212a23f245ea8640d20b61bb5cd2\"\u003e\u003ccode\u003ed061260\u003c/code\u003e\u003c/a\u003e fix: guard executor shutdown in BaseCaptureStrategy.stop() (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5627\"\u003e#5627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/58b65f0fd57114f98e9f2bd4517e8ffae1d51e05\"\u003e\u003ccode\u003e58b65f0\u003c/code\u003e\u003c/a\u003e chore: Add PR template checkbox for cross sdk review on public API changes (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/307edcd968452d07d801c46362bf98f815fea808\"\u003e\u003ccode\u003e307edcd\u003c/code\u003e\u003c/a\u003e refactor: do not start redundant UI event transaction when one is already on ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/3859a2cc37716e2c8d9f149a0d94a1552f22c248\"\u003e\u003ccode\u003e3859a2c\u003c/code\u003e\u003c/a\u003e perf(android): Defer SentryFrameMetricsCollector thread startup (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5641\"\u003e#5641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.46.0...8.47.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.squareup.okhttp3:okhttp-jvm` from 5.3.2 to 5.4.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/square/okhttp/blob/master/CHANGELOG.md\"\u003ecom.squareup.okhttp3:okhttp-jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 5.4.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2026-06-08\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNew: Add superpowers to interceptors. Interceptors can now override anything settable on\n\u003ccode\u003eOkHttpClient.Builder\u003c/code\u003e, such as the cache, connection pool, socket factory, and DNS. We expect\nthis will allow most users to use interceptors everywhere, insted of mixing and matching\ninterceptors with custom \u003ccode\u003eCall.Factory\u003c/code\u003e wrappers.\u003c/li\u003e\n\u003cli\u003eFix: Limit each HTTP/2 response to 256 KiB of total headers.\u003c/li\u003e\n\u003cli\u003eUpgrade: [kotlinx.coroutines 1.11.0][coroutines_1_11_0]. This is used by the optional\n\u003ccode\u003eokhttp-coroutines\u003c/code\u003e artifact.\u003c/li\u003e\n\u003cli\u003eUpgrade: [GraalVM 25.0.3][graalvm_25].\u003c/li\u003e\n\u003cli\u003eUpgrade: [Okio 3.17.0][okio_3_17_0].\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/square/okhttp/commit/61423f472da24e0ccc42b6a2c0863fb27932fea5\"\u003e\u003ccode\u003e61423f4\u003c/code\u003e\u003c/a\u003e Prepare for release 5.4.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/d7e6effcb6852ca848b5f497032546b98b0a6370\"\u003e\u003ccode\u003ed7e6eff\u003c/code\u003e\u003c/a\u003e Update eclipse.osgi to v3.24.200 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9480\"\u003e#9480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/7a350986e3231a7b81cbfcc6e3c185327033422b\"\u003e\u003ccode\u003e7a35098\u003c/code\u003e\u003c/a\u003e Update bnd to v7.3.0 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9475\"\u003e#9475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/0c5a45b1174b8f735cc251eb19faaed87b65d868\"\u003e\u003ccode\u003e0c5a45b\u003c/code\u003e\u003c/a\u003e Update dependency com.puppycrawl.tools:checkstyle to v13.5.0 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9468\"\u003e#9468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/113ad17f70af6984a1a8b4d46024118e5409c44b\"\u003e\u003ccode\u003e113ad17\u003c/code\u003e\u003c/a\u003e Update dependency macos to v26 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9457\"\u003e#9457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/84f601af03d047eef3f4b2f0ca6b6f72303dcea1\"\u003e\u003ccode\u003e84f601a\u003c/code\u003e\u003c/a\u003e Update shadow.plugin to v9.4.2 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9466\"\u003e#9466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/7d463f4bcfca91e4466037f2c65c7c700545d64c\"\u003e\u003ccode\u003e7d463f4\u003c/code\u003e\u003c/a\u003e Update spotless.plugin to v8.6.0 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9464\"\u003e#9464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/3bf00f52921a0727bd18997cd92112dd2e582ed7\"\u003e\u003ccode\u003e3bf00f5\u003c/code\u003e\u003c/a\u003e Update plugin com.diffplug.spotless to v8.6.0 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9463\"\u003e#9463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/cfc45a3f146d2389797a3d51d405e9118bed56c9\"\u003e\u003ccode\u003ecfc45a3\u003c/code\u003e\u003c/a\u003e Update spotless.plugin to v8.5.1 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9456\"\u003e#9456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/81c5006e336c1cb67870694e38707e2c1c44fb34\"\u003e\u003ccode\u003e81c5006\u003c/code\u003e\u003c/a\u003e Apply gradle lint correctly (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9459\"\u003e#9459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/square/okhttp/compare/parent-5.3.2...parent-5.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-stdlib` from 2.2.21 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-stdlib'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-stdlib'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.2.21...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.apache.commons:commons-lang3` from 3.18.0 to 3.20.0\n\nUpdates `com.tngtech.archunit:archunit-junit5` from 1.3.0 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\u003ch2\u003eArchUnit 1.4.1\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 25 / class file major version 69 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1440\"\u003e#1440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport priorities in \u003ccode\u003eSlicesRuleDefinition\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1436\"\u003e#1436\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/guesshe\"\u003e\u003ccode\u003e@​guesshe\u003c/code\u003e\u003c/a\u003e 👏)\u003c/li\u003e\n\u003cli\u003eIgnore synthetic bridge methods in \u003ccode\u003eProxyRules\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1443\"\u003e#1443\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove documentation of slices rule (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1454\"\u003e#1454\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eInternal improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eReduce memory footprint of \u003ccode\u003eClassFileImporterSlowTest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1446\"\u003e#1446\u003c/a\u003e / \u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1440\"\u003e#1440\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eArchUnit 1.4.0\u003c/h2\u003e\n\u003ch1\u003eEnhancements\u003c/h1\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Java 24 / class file major version 68 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1364\"\u003e#1364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLang\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove performance for transitive dependency checks (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1381\"\u003e#1381\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/To6i\"\u003e\u003ccode\u003e@​To6i\u003c/code\u003e\u003c/a\u003e 👏)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eLibrary\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew \u003ccode\u003eGeneralCodingRules.OLD_DATE_AND_TIME_CLASSES_SHOULD_NOT_BE_USED\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1385\"\u003e#1385\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/Bukama\"\u003e\u003ccode\u003e@​Bukama\u003c/code\u003e\u003c/a\u003e 👏)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003eGeneralCodingRules.testClassesShouldResideInTheSamePackageAsImplementation\u003c/code\u003e to not fail for classes with no tests in their packages (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1368\"\u003e#1368\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/krzysztof-owczarek\"\u003e\u003ccode\u003e@​krzysztof-owczarek\u003c/code\u003e\u003c/a\u003e 👏)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eJUnit\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix failure when \u003ccode\u003ejunit.testFilter\u003c/code\u003e is used (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1361\"\u003e#1361\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/Sparkymann\"\u003e\u003ccode\u003e@​Sparkymann\u003c/code\u003e\u003c/a\u003e 👏)\u003c/li\u003e\n\u003cli\u003eEnable \u003ccode\u003e@AnalyzeClasses\u003c/code\u003e annotation to be used as meta annotation (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1300\"\u003e#1300\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/mathze\"\u003e\u003ccode\u003e@​mathze\u003c/code\u003e\u003c/a\u003e 👏)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix user guide describing wrong default behavior of \u003ccode\u003e@AnalyzeClasses\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1406\"\u003e#1406\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClarify Slices documentation (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1366\"\u003e#1366\u003c/a\u003e; thanks to \u003ca href=\"https://github.com/mipo256\"\u003e\u003ccode\u003e@​mipo256\u003c/code\u003e\u003c/a\u003e 👏)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eInternal improvements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRun tests with JUnit Platform to pave the way to migrate to JUnit 5 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1294\"\u003e#1294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Gradle Wrapper from 7.6 to 8.12 (\u003ca href=\"https://redirect.github.com/TNG/ArchUnit/issues/1392\"\u003e#1392\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/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.3.0...v1.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.diffplug.spotless:spotless-maven-plugin` from 3.7.0 to 3.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/diffplug/spotless/releases\"\u003ecom.diffplug.spotless:spotless-maven-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eMaven Plugin v3.8.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for custom string format for license header copyright year via \u003ccode\u003eyearStringFormat()\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2965\"\u003e#2965\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e\u0026lt;expandWildcardImports\u0026gt;\u003c/code\u003e no longer triggers a full transitive dependency resolution on every build. Dependency resolution is now deferred until the step actually runs, so projects that do not use \u003ccode\u003e\u0026lt;expandWildcardImports\u0026gt;\u003c/code\u003e (or that use version ranges) are no longer penalized. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2983\"\u003e#2983\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/diffplug/spotless/blob/main/CHANGES.md\"\u003ecom.diffplug.spotless:spotless-maven-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003espotless-lib and spotless-lib-extra releases\u003c/h1\u003e\n\u003cp\u003eIf you are a Spotless user (as opposed to developer), then you are probably looking for:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/blob/main/plugin-gradle/CHANGES.md\"\u003ehttps://github.com/diffplug/spotless/blob/main/plugin-gradle/CHANGES.md\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/blob/main/plugin-maven/CHANGES.md\"\u003ehttps://github.com/diffplug/spotless/blob/main/plugin-maven/CHANGES.md\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis document is intended for Spotless developers.\u003c/p\u003e\n\u003cp\u003eWe adhere to the \u003ca href=\"https://keepachangelog.com/en/1.0.0/\"\u003ekeepachangelog\u003c/a\u003e format (starting after version \u003ccode\u003e1.27.0\u003c/code\u003e).\u003c/p\u003e\n\u003ch2\u003e[Unreleased]\u003c/h2\u003e\n\u003ch2\u003e[4.8.0] - 2026-06-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for custom string format for license header copyright year via \u003ccode\u003eyearStringFormat()\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2965\"\u003e#2965\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.7.0] - 2026-06-16\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for AsciiDoc formatting via \u003ccode\u003eadocfmt\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2960\"\u003e#2960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflexmark\u003c/code\u003e step now supports arbitrary formatter options via a \u003ccode\u003eformatterOptions\u003c/code\u003e map. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2968\"\u003e#2968\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eFenceStep.preserveWithin\u003c/code\u003e now forwards lints from nested steps while still suppressing lints inside preserved blocks. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2962\"\u003e#2962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003ektfmt\u003c/code\u003e 0.63 and use its new builder API for formatting options to better avoid future breaking changes.\u003c/li\u003e\n\u003cli\u003eParse standard git year output in LicenseHeaderStep. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2940\"\u003e#2940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eStringIndexOutOfBoundsException\u003c/code\u003e in scenarios where copyright year is surrounded by whitespace. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2973\"\u003e#2973\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump default \u003ccode\u003egreclipse\u003c/code\u003e version to latest \u003ccode\u003e4.35\u003c/code\u003e -\u0026gt; \u003ccode\u003e4.39\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2924\"\u003e#2924\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.6.2] - 2026-05-27\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eP2Provisioner\u003c/code\u003e now passes cache directory overrides directly to Solstice. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2944\"\u003e#2944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eforbidWildcardImports\u003c/code\u003e and \u003ccode\u003eforbidModuleImports\u003c/code\u003e now detect imports that have leading whitespace (indentation/tabs). (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2939\"\u003e#2939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eversionCatalog\u003c/code\u003e step no longer splits long inline tables across multiple lines — Gradle's TOML 1.0 parser cannot read multi-line inline tables. The \u003ccode\u003emaxLineLength\u003c/code\u003e option has been removed. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2948\"\u003e#2948\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eEclipseJdtFormtterStep\u003c/code\u003e now can conditionally set compiler source/compliance options. Allows for better parsing of AST Node for newer language features and more correct sorting; e.g. records or seal classes. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2942\"\u003e#2942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFormatter\u003c/code\u003e no longer recomputes line-ending normalization (\u003ccode\u003eLineEnding.toUnix\u003c/code\u003e) a second time for every formatter step that changes content, removing redundant O(n) work from the core formatting loop. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2934\"\u003e#2934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpandWildcardImports support pom type dependency. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2839\"\u003e#2839\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.6.1] - 2026-05-15\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eLicenseHeaderStep\u003c/code\u003e in \u003ccode\u003eSET_FROM_GIT\u003c/code\u003e year mode no longer invokes \u003ccode\u003egit log\u003c/code\u003e through \u003ccode\u003ebash -c\u003c/code\u003e / \u003ccode\u003ecmd /c\u003c/code\u003e, eliminating a shell-injection vector when processing repositories that contain files whose names include shell metacharacters.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.6.0] - 2026-05-14\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003escalafmt()\u003c/code\u003e now reads the version from the \u003ccode\u003eversion\u003c/code\u003e field in the scalafmt config file when no version is explicitly set in the plugin config, falling back to the built-in default only if neither is available. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2922\"\u003e#2922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eversionCatalog\u003c/code\u003e step for formatting and sorting Gradle version catalog (\u003ccode\u003e.toml\u003c/code\u003e) files. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2916\"\u003e#2916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ejavaparserVersion\u003c/code\u003e option to the Cleanthat step, allowing callers to override the JavaParser version pulled in transitively by Cleanthat. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2903\"\u003e#2903\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\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/diffplug/spotless/commit/03d43ba2cdc81050e07b62646c08b22e39505368\"\u003e\u003ccode\u003e03d43ba\u003c/code\u003e\u003c/a\u003e Published maven/3.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/8b80c1388017f9b390fd9681007ba58a8c5d77f7\"\u003e\u003ccode\u003e8b80c13\u003c/code\u003e\u003c/a\u003e Published gradle/8.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/8ee6cf904ae77a4baec287132c69a63d4b5f4052\"\u003e\u003ccode\u003e8ee6cf9\u003c/code\u003e\u003c/a\u003e Published lib/4.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/6c02c0bf3fa0914206b28b2e9abec5e2061273e4\"\u003e\u003ccode\u003e6c02c0b\u003c/code\u003e\u003c/a\u003e Add missing changelog entry.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/264f4cc904ad85149a90822c0835c17a615cee8e\"\u003e\u003ccode\u003e264f4cc\u003c/code\u003e\u003c/a\u003e Add regression test for forbidWildcardImports inside toggleOffOn (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2982\"\u003e#2982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/6abb06449354899642d716dfb3daf67a888bac9b\"\u003e\u003ccode\u003e6abb064\u003c/code\u003e\u003c/a\u003e fix \u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2983\"\u003e#2983\u003c/a\u003e, expandWildcardImports triggers a full transitive reso… (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2984\"\u003e#2984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/f4536d41caebdda8201cdb126832ea96a75e5afe\"\u003e\u003ccode\u003ef4536d4\u003c/code\u003e\u003c/a\u003e Update plugin spotbugs to v6.5.8 (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2987\"\u003e#2987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/873454acbc24dd66a0d334f29b30d5dcb645cd0a\"\u003e\u003ccode\u003e873454a\u003c/code\u003e\u003c/a\u003e Update plugin spotbugs to v6.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/000b8a8f9f0398f60aeafee4d2fbd90a6a61b7f1\"\u003e\u003ccode\u003e000b8a8\u003c/code\u003e\u003c/a\u003e Update dependency org.junit.jupiter:junit-jupiter to v6.1.1 (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2985\"\u003e#2985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/84ebcab6a588c0ae7ddb8d883f5f60947e488e0a\"\u003e\u003ccode\u003e84ebcab\u003c/code\u003e\u003c/a\u003e Update dependency org.junit.jupiter:junit-jupiter to v6.1.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/diffplug/spotless/compare/maven/3.7.0...maven/3.8.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/haohaizi554/monkey-shop/pull/16","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/haohaizi554%2Fmonkey-shop/issues/16","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/16/packages"}},{"old_version":"1.4.1","new_version":"1.4.2","update_type":"patch","path":null,"pr_created_at":"2026-06-09T07:57:19.000Z","version_change":"1.4.1 → 1.4.2","issue":{"uuid":"4620055477","node_id":"PR_kwDOPqJ4i87kRkU8","number":151,"state":"closed","title":"build(deps): bump the gradle group with 28 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-12T21:07:59.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-09T07:57:19.000Z","updated_at":"2026-06-12T21:08:01.000Z","time_to_close":306640,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"gradle","update_count":28,"packages":[{"name":"gradle-wrapper","old_version":"9.5.0","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"},{"name":"io.github.resilience4j:resilience4j-bom","old_version":"2.2.0","new_version":"2.4.0","repository_url":"https://github.com/resilience4j/resilience4j"},{"name":"org.testcontainers:testcontainers-bom","old_version":"1.21.4","new_version":"2.0.5","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"software.amazon.awssdk:s3","old_version":"2.25.36","new_version":"2.46.6"},{"name":"io.swagger.core.v3:swagger-annotations-jakarta","old_version":"2.2.41","new_version":"2.2.50"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-scalar","old_version":"3.0.1","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.springdoc:springdoc-openapi-starter-webflux-scalar","old_version":"3.0.1","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.projectlombok:lombok","old_version":"1.18.40","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"cn.hutool:hutool-core","old_version":"5.8.25","new_version":"5.8.46"},{"name":"cn.hutool:hutool-crypto","old_version":"5.8.25","new_version":"5.8.46","repository_url":"https://github.com/chinabugotech/hutool"},{"name":"com.google.guava:guava","old_version":"31.1-jre","new_version":"33.6.0-jre","repository_url":"https://github.com/google/guava"},{"name":"commons-net:commons-net","old_version":"3.11.1","new_version":"3.13.0","repository_url":"https://github.com/apache/commons-net"},{"name":"com.ibm.icu:icu4j","old_version":"76.1","new_version":"78.3","repository_url":"https://github.com/unicode-org/icu"},{"name":"org.jsoup:jsoup","old_version":"1.18.3","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.apache.rocketmq:rocketmq-spring-boot-starter","old_version":"2.3.1","new_version":"2.3.6","repository_url":"https://github.com/apache/rocketmq-spring"},{"name":"com.xuxueli:xxl-job-core","old_version":"3.2.0","new_version":"3.4.0","repository_url":"https://github.com/xuxueli/xxl-job"},{"name":"io.minio:minio","old_version":"8.5.7","new_version":"9.0.1","repository_url":"https://github.com/minio/minio-java"},{"name":"org.redisson:redisson-spring-boot-starter","old_version":"4.1.0","new_version":"4.5.0"},{"name":"org.junit.jupiter:junit-jupiter","old_version":"5.11.4","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.mockito:mockito-core","old_version":"5.15.2","new_version":"5.23.0","repository_url":"https://github.com/mockito/mockito"},{"name":"org.mockito:mockito-junit-jupiter","old_version":"5.15.2","new_version":"5.23.0","repository_url":"https://github.com/mockito/mockito"},{"name":"org.assertj:assertj-core","old_version":"3.27.3","new_version":"3.27.7","repository_url":"https://github.com/assertj/assertj"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.4.1","new_version":"1.4.2","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"org.awaitility:awaitility","old_version":"4.2.2","new_version":"4.3.0","repository_url":"https://github.com/awaitility/awaitility"},{"name":"org.objenesis:objenesis","old_version":"3.4","new_version":"3.5","repository_url":"https://github.com/easymock/objenesis"},{"name":"org.wiremock:wiremock-standalone","old_version":"3.10.0","new_version":"3.13.2","repository_url":"https://github.com/wiremock/wiremock"},{"name":"com.diffplug.spotless","old_version":"7.0.4","new_version":"8.6.0"},{"name":"com.github.spotbugs","old_version":"6.4.8","new_version":"6.5.5"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle group with 28 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.5.0` | `9.5.1` |\n| [io.github.resilience4j:resilience4j-bom](https://github.com/resilience4j/resilience4j) | `2.2.0` | `2.4.0` |\n| [org.testcontainers:testcontainers-bom](https://github.com/testcontainers/testcontainers-java) | `1.21.4` | `2.0.5` |\n| software.amazon.awssdk:s3 | `2.25.36` | `2.46.6` |\n| io.swagger.core.v3:swagger-annotations-jakarta | `2.2.41` | `2.2.50` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-scalar](https://github.com/springdoc/springdoc-openapi) | `3.0.1` | `3.0.3` |\n| [org.springdoc:springdoc-openapi-starter-webflux-scalar](https://github.com/springdoc/springdoc-openapi) | `3.0.1` | `3.0.3` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.40` | `1.18.46` |\n| cn.hutool:hutool-core | `5.8.25` | `5.8.46` |\n| [cn.hutool:hutool-crypto](https://github.com/chinabugotech/hutool) | `5.8.25` | `5.8.46` |\n| [com.google.guava:guava](https://github.com/google/guava) | `31.1-jre` | `33.6.0-jre` |\n| [commons-net:commons-net](https://github.com/apache/commons-net) | `3.11.1` | `3.13.0` |\n| [com.ibm.icu:icu4j](https://github.com/unicode-org/icu) | `76.1` | `78.3` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.18.3` | `1.22.2` |\n| [org.apache.rocketmq:rocketmq-spring-boot-starter](https://github.com/apache/rocketmq-spring) | `2.3.1` | `2.3.6` |\n| [com.xuxueli:xxl-job-core](https://github.com/xuxueli/xxl-job) | `3.2.0` | `3.4.0` |\n| [io.minio:minio](https://github.com/minio/minio-java) | `8.5.7` | `9.0.1` |\n| org.redisson:redisson-spring-boot-starter | `4.1.0` | `4.5.0` |\n| [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) | `5.11.4` | `6.1.0` |\n| [org.mockito:mockito-core](https://github.com/mockito/mockito) | `5.15.2` | `5.23.0` |\n| [org.mockito:mockito-junit-jupiter](https://github.com/mockito/mockito) | `5.15.2` | `5.23.0` |\n| [org.assertj:assertj-core](https://github.com/assertj/assertj) | `3.27.3` | `3.27.7` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.4.1` | `1.4.2` |\n| [org.awaitility:awaitility](https://github.com/awaitility/awaitility) | `4.2.2` | `4.3.0` |\n| [org.objenesis:objenesis](https://github.com/easymock/objenesis) | `3.4` | `3.5` |\n| [org.wiremock:wiremock-standalone](https://github.com/wiremock/wiremock) | `3.10.0` | `3.13.2` |\n| com.diffplug.spotless | `7.0.4` | `8.6.0` |\n| com.github.spotbugs | `6.4.8` | `6.5.5` |\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 `io.github.resilience4j:resilience4j-bom` from 2.2.0 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/resilience4j/resilience4j/releases\"\u003eio.github.resilience4j:resilience4j-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support of initializing circuitBreaker in desired state from config by \u003ca href=\"https://github.com/agarwalbharat\"\u003e\u003ccode\u003e@​agarwalbharat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2268\"\u003eresilience4j/resilience4j#2268\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2269\"\u003e#2269\u003c/a\u003e: Added getCausingRateLimiterName by \u003ca href=\"https://github.com/noomkram\"\u003e\u003ccode\u003e@​noomkram\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2270\"\u003eresilience4j/resilience4j#2270\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTime limiter registry builder by \u003ca href=\"https://github.com/darkius\"\u003e\u003ccode\u003e@​darkius\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2291\"\u003eresilience4j/resilience4j#2291\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue resilience4j#2285: Add HealthContributorAutoConfiguration to ConditionalOnClass by \u003ca href=\"https://github.com/obecker\"\u003e\u003ccode\u003e@​obecker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2286\"\u003eresilience4j/resilience4j#2286\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2278\"\u003e#2278\u003c/a\u003e: Added ThreadPoolBulkhead to some Decorators by \u003ca href=\"https://github.com/matsev\"\u003e\u003ccode\u003e@​matsev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2284\"\u003eresilience4j/resilience4j#2284\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect registry config in aspect by \u003ca href=\"https://github.com/darkius\"\u003e\u003ccode\u003e@​darkius\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2282\"\u003eresilience4j/resilience4j#2282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2285\"\u003e#2285\u003c/a\u003e - add configuration to move circuit breaker from half open to closed state by \u003ca href=\"https://github.com/victorpasqualino\"\u003e\u003ccode\u003e@​victorpasqualino\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2290\"\u003eresilience4j/resilience4j#2290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/cache from 4.0.2 to 4.2.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2252\"\u003eresilience4j/resilience4j#2252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove dependency on kotlin-stdlib-jdk8 from resilience4j-core by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2301\"\u003eresilience4j/resilience4j#2301\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBring back 'slidingWindow' with default synchronization strategy by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2302\"\u003eresilience4j/resilience4j#2302\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd withFallback() methods to DecorateFunction by \u003ca href=\"https://github.com/matsev\"\u003e\u003ccode\u003e@​matsev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2312\"\u003eresilience4j/resilience4j#2312\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2295\"\u003e#2295\u003c/a\u003e: Ensure ignoreExceptions take precedence over recordExceptions by \u003ca href=\"https://github.com/kssumin\"\u003e\u003ccode\u003e@​kssumin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2304\"\u003eresilience4j/resilience4j#2304\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix spring boot3 customizer application order by \u003ca href=\"https://github.com/alexey-grigorovich-savvymoney\"\u003e\u003ccode\u003e@​alexey-grigorovich-savvymoney\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2321\"\u003eresilience4j/resilience4j#2321\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(1910): update grafana dashboard by \u003ca href=\"https://github.com/JoranVanBelle\"\u003e\u003ccode\u003e@​JoranVanBelle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2318\"\u003eresilience4j/resilience4j#2318\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide key for components using SpEL for names by \u003ca href=\"https://github.com/doumdoum\"\u003e\u003ccode\u003e@​doumdoum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2329\"\u003eresilience4j/resilience4j#2329\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFeature \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2224\"\u003e#2224\u003c/a\u003e : Bump jdk from 17 to 21 for support virtual thread by \u003ca href=\"https://github.com/ykhfree\"\u003e\u003ccode\u003e@​ykhfree\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2331\"\u003eresilience4j/resilience4j#2331\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing eventConsumerBufferSize merge for Retry config by \u003ca href=\"https://github.com/skowrxn\"\u003e\u003ccode\u003e@​skowrxn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2344\"\u003eresilience4j/resilience4j#2344\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2334\"\u003eGH-2334\u003c/a\u003e fix: reject TIME_BASED + LOCK_FREE when slidingWindowSize \u0026lt; 2 by \u003ca href=\"https://github.com/bandalgomsu\"\u003e\u003ccode\u003e@​bandalgomsu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2358\"\u003eresilience4j/resilience4j#2358\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add setter for bulkheadAspectOrder property by \u003ca href=\"https://github.com/NiMv1\"\u003e\u003ccode\u003e@​NiMv1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2386\"\u003eresilience4j/resilience4j#2386\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: Clarify Aspect Order defaults for Spring Boot 3 to prevent metric inflation by \u003ca href=\"https://github.com/GarimaBokdia\"\u003e\u003ccode\u003e@​GarimaBokdia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2387\"\u003eresilience4j/resilience4j#2387\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Spring Boot 4 / Spring Cloud 5 by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2384\"\u003eresilience4j/resilience4j#2384\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTimeLimiter, take success path when completing without error by \u003ca href=\"https://github.com/TheFrogAndy\"\u003e\u003ccode\u003e@​TheFrogAndy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2374\"\u003eresilience4j/resilience4j#2374\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd back OSGi meta data with bnd builder plugin by \u003ca href=\"https://github.com/chrisrueger\"\u003e\u003ccode\u003e@​chrisrueger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2385\"\u003eresilience4j/resilience4j#2385\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/536\"\u003e#536\u003c/a\u003e: Added best practices documentation for instance management by \u003ca href=\"https://github.com/fajrizulfikar\"\u003e\u003ccode\u003e@​fajrizulfikar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2389\"\u003eresilience4j/resilience4j#2389\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow to mock nanoTime in RateLimiter by \u003ca href=\"https://github.com/strokyl\"\u003e\u003ccode\u003e@​strokyl\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2356\"\u003eresilience4j/resilience4j#2356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2397\"\u003e#2397\u003c/a\u003e: compile SPEL regex'es only once by \u003ca href=\"https://github.com/stokpop\"\u003e\u003ccode\u003e@​stokpop\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2398\"\u003eresilience4j/resilience4j#2398\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate publishing to use new Sonatype urls and add release workflow by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2393\"\u003eresilience4j/resilience4j#2393\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/1450\"\u003e#1450\u003c/a\u003e: Fixed Grafana dashboard metric query for call rate panel by \u003ca href=\"https://github.com/fajrizulfikar\"\u003e\u003ccode\u003e@​fajrizulfikar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2391\"\u003eresilience4j/resilience4j#2391\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/1448\"\u003e#1448\u003c/a\u003e: Fixed Duration property binding in Spring Boot 2 by \u003ca href=\"https://github.com/fajrizulfikar\"\u003e\u003ccode\u003e@​fajrizulfikar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2390\"\u003eresilience4j/resilience4j#2390\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2327\"\u003e#2327\u003c/a\u003e: Correct \u003ca href=\"https://github.com/see\"\u003e\u003ccode\u003e@​see\u003c/code\u003e\u003c/a\u003e tag usage in CircuitBreakerConfig Javadoc by \u003ca href=\"https://github.com/chanani\"\u003e\u003ccode\u003e@​chanani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2400\"\u003eresilience4j/resilience4j#2400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2368\"\u003e#2368\u003c/a\u003e: Fix Retry retryOnResult interrupt handling: throw CancellationException instead of NPE by \u003ca href=\"https://github.com/platanus-kr\"\u003e\u003ccode\u003e@​platanus-kr\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2392\"\u003eresilience4j/resilience4j#2392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in Spring aspect docs by \u003ca href=\"https://github.com/gukin-han\"\u003e\u003ccode\u003e@​gukin-han\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2399\"\u003eresilience4j/resilience4j#2399\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2354\"\u003eGH-2354\u003c/a\u003e Remove kotlin-stdlib from resilience4j-core by \u003ca href=\"https://github.com/josalmi\"\u003e\u003ccode\u003e@​josalmi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2359\"\u003eresilience4j/resilience4j#2359\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded CheckedSupplierUtils and deprecated CheckedFunctionUtils by \u003ca href=\"https://github.com/matsev\"\u003e\u003ccode\u003e@​matsev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2313\"\u003eresilience4j/resilience4j#2313\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse correct constant for initializing CircuitBreakerConfig.Builder.waitIntervalFunctionInOpenState by \u003ca href=\"https://github.com/obecker\"\u003e\u003ccode\u003e@​obecker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2402\"\u003eresilience4j/resilience4j#2402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded bulkhead name to BulkheadFullException by \u003ca href=\"https://github.com/dominic-miglar\"\u003e\u003ccode\u003e@​dominic-miglar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2349\"\u003eresilience4j/resilience4j#2349\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove unrelated flaky Clock test from CircuitBreakerEventTest by \u003ca href=\"https://github.com/KimDoubleB\"\u003e\u003ccode\u003e@​KimDoubleB\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2409\"\u003eresilience4j/resilience4j#2409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded decorateFunction and executeFunction to TimeLimiter by \u003ca href=\"https://github.com/zbnerd\"\u003e\u003ccode\u003e@​zbnerd\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2407\"\u003eresilience4j/resilience4j#2407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2189\"\u003e#2189\u003c/a\u003e: Use snapshot reads for actuator event endpoints in Spring Boot 3/4 by \u003ca href=\"https://github.com/seokjun7410\"\u003e\u003ccode\u003e@​seokjun7410\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2406\"\u003eresilience4j/resilience4j#2406\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove log spam from tests by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2412\"\u003eresilience4j/resilience4j#2412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSet JDK target back to 17 by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2415\"\u003eresilience4j/resilience4j#2415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix release workflow: unquoted multi-line GPG key breaks Gradle invocation by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2416\"\u003eresilience4j/resilience4j#2416\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRead env variables from gradle for gpg key by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2417\"\u003eresilience4j/resilience4j#2417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable SNAPSHOT artifact signing from master by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2418\"\u003eresilience4j/resilience4j#2418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove sign skip on snapshot version by \u003ca href=\"https://github.com/gavlyukovskiy\"\u003e\u003ccode\u003e@​gavlyukovskiy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2419\"\u003eresilience4j/resilience4j#2419\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/agarwalbharat\"\u003e\u003ccode\u003e@​agarwalbharat\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/pull/2268\"\u003eresilience4j/resilience4j#2268\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/resilience4j/resilience4j/blob/master/RELEASENOTES.adoc\"\u003eio.github.resilience4j:resilience4j-bom's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e= Release Notes\u003c/p\u003e\n\u003cp\u003e== Version 0.1.0\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInitial version\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.1.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded the functionality to add exceptions with are ignored by the CircuitBreaker\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.1.2\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded the feature to get Metrics for function executions\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.1.3\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a static factory method for the CircuitBreakerConfig builder\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.1.4\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded the feature to retry a failed function\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.1.5\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded builders to simplify chaining of decorators\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.1.6\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRenamed project to javaslang-circuitbreaker\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.1.7\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed Issue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2\"\u003e#2\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/3\"\u003e#3\u003c/a\u003e Added a listener mechanism for state transitions\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e== Version 0.2.0\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved Dropwizard Metrics, because its a too heavy dependency for such a lightweight library.\u003c/li\u003e\n\u003cli\u003eChanged the way exceptions can be handled. You have to provide a Predicate now instead of a list of exceptions to ignore.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e== Version 0.3.0\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe CircuitBreaker is based on a Ring Bit Buffer and a failure rate now.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.3.1\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eChanged the visibility of CircuitBreakerUtils.isCallPermitted to public.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.3.2\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCircuitBreakerRegistry has a new method which takes a Supplier of a CircuitBreakerConfig so that the CircuitBreakerConfig is only created when needed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.3.3\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCircuitBreaker has a new method \u003ccode\u003e+getCircuitBreakerConfig+\u003c/code\u003e which allows to retrieve the CircuitBreakerConfig of the CircuitBreaker.\u003c/li\u003e\n\u003cli\u003eRenamed the state HALF_CLOSED to HALF_OPEN to match the pattern description of Martin Fowler.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== Version 0.3.4\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a Metrics interface to the CircuitBreaker which allows to retrieve current statistics like failureRate and number of buffer calls.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e== Version 0.4.0\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated javaslang from 2.0.0-RC4 to 2.0.1\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/resilience4j/resilience4j/commit/f1c3be8e79d09c70d457b2f89c3f89d03f1b5720\"\u003e\u003ccode\u003ef1c3be8\u003c/code\u003e\u003c/a\u003e Fix signing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/88a8293640244c2a3e3eac7767dabac99a67f2fc\"\u003e\u003ccode\u003e88a8293\u003c/code\u003e\u003c/a\u003e Enable signing for resilience4j-bom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/1ed88c202a93651a063b0f6e78055972c3da66b8\"\u003e\u003ccode\u003e1ed88c2\u003c/code\u003e\u003c/a\u003e Remove sign skip on snapshot version (\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2419\"\u003e#2419\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/ed637ecade5ef07b7601c44033aa51a62884e9d0\"\u003e\u003ccode\u003eed637ec\u003c/code\u003e\u003c/a\u003e Enable SNAPSHOT artifact signing from master (\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2418\"\u003e#2418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/d51bce10f37734ec9f13fe69e73edab28e2dd053\"\u003e\u003ccode\u003ed51bce1\u003c/code\u003e\u003c/a\u003e Read env variables from gradle for gpg key (\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2417\"\u003e#2417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/89baea75656027cdce4d69e521e0ea9f99d2ac0d\"\u003e\u003ccode\u003e89baea7\u003c/code\u003e\u003c/a\u003e Fix release workflow: unquoted multi-line GPG key breaks Gradle invocation (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/b888e8249e746bcb9b005f3a67326ad6d2dab55c\"\u003e\u003ccode\u003eb888e82\u003c/code\u003e\u003c/a\u003e Add GPG key and passphrase to build step\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/e9aedeeeccd0672fac64ecd3ee1712e4bda322a4\"\u003e\u003ccode\u003ee9aedee\u003c/code\u003e\u003c/a\u003e Revert JDK target back to 17 (\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2415\"\u003e#2415\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/ad4efb8a3346e289e7913ef30422d5b984151ad1\"\u003e\u003ccode\u003ead4efb8\u003c/code\u003e\u003c/a\u003e Remove log spam from tests (\u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2412\"\u003e#2412\u003c/a\u003e)4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resilience4j/resilience4j/commit/cd8f8e066f043d12267732d89a2a08aaa4b8d281\"\u003e\u003ccode\u003ecd8f8e0\u003c/code\u003e\u003c/a\u003e Issue \u003ca href=\"https://redirect.github.com/resilience4j/resilience4j/issues/2189\"\u003e#2189\u003c/a\u003e: Use snapshot reads for actuator event endpoints in Spring Boot 3...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/resilience4j/resilience4j/compare/v2.2.0...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.testcontainers:testcontainers-bom` from 1.21.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-bom'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\u003ch2\u003e2.0.4\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/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/1.21.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 `software.amazon.awssdk:s3` from 2.25.36 to 2.46.6\n\nUpdates `io.swagger.core.v3:swagger-annotations-jakarta` from 2.2.41 to 2.2.50\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-scalar` from 3.0.1 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-scalar'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-scalar'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/v3.0.1...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.springdoc:springdoc-openapi-starter-webflux-scalar` from 3.0.1 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-webflux-scalar'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-webflux-scalar'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/v3.0.1...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.springdoc:springdoc-openapi-starter-webflux-scalar` from 3.0.1 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-webflux-scalar'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-webflux-scalar'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...\n\n_Description has been truncated_","html_url":"https://github.com/linqibin0826/patra/pull/151","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/linqibin0826%2Fpatra/issues/151","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/151/packages"}},{"old_version":"1.4.1","new_version":"1.4.2","update_type":"patch","path":null,"pr_created_at":"2026-06-08T03:10:59.000Z","version_change":"1.4.1 → 1.4.2","issue":{"uuid":"4609731560","node_id":"PR_kwDOR-Qo087jvVfy","number":11,"state":"open","title":"chore(deps)(deps-dev): bump the test-tooling group across 1 directory with 2 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-08T03:10:59.000Z","updated_at":"2026-06-08T03:10:59.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps-dev): bump","group_name":"test-tooling","update_count":2,"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":"org.jacoco:jacoco-maven-plugin","old_version":"0.8.14","new_version":"0.8.15","repository_url":"https://github.com/jacoco/jacoco"}],"path":null,"ecosystem":"maven"},"body":"Bumps the test-tooling group with 2 updates in the / directory: [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) and [org.jacoco:jacoco-maven-plugin](https://github.com/jacoco/jacoco).\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 `org.jacoco:jacoco-maven-plugin` from 0.8.14 to 0.8.15\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jacoco/jacoco/releases\"\u003eorg.jacoco:jacoco-maven-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.8.15\u003c/h2\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eJaCoCo now officially supports Java 26 (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2076\"\u003e#2076\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eExperimental support for Java 27 class files (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2004\"\u003e#2004\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eCompatibility methods generated by Kotlin compiler for functions defined in interfaces are filtered out during generation of report (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/1905\"\u003e#1905\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eCompatibility methods generated by Kotlin compiler for exposed boxed inline value classes (JvmExposeBoxed annotation) are filtered out during generation of report (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/1944\"\u003e#1944\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMethods generated by the Kotlin compiler for functions with JvmStatic annotation are filtered out during generation of report (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2097\"\u003e#2097\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved filtering of bytecode generated by Kotlin compiler for when expressions and statements with kotlin.String subject where first branch condition contains string with largest hash (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2098\"\u003e#2098\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003ePart of bytecode that javac versions from 24 to 26 generate for switch statements and expressions with selector expression of type java.lang.String inside lambdas is filtered out during generation of report (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2023\"\u003e#2023\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved performance of Kotlin files analysis by parsing SMAPs only once per class (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2114\"\u003e#2114\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFor better performance agent output methods tcpclient and tcpserver use BufferedOutputStream to write execution data to socket. Maven plugin, Ant tasks, CLI, API usage examples, and ExecDumpClient API use BufferedInputStream to read execution data from socket. Third-party integrations should do the same to benefit from this change in agent (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2089\"\u003e#2089\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed bugs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed processing of Kotlin SMAP in synthetic classes (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/1985\"\u003e#1985\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMultiple JaCoCo runtimes within one JVM writing to the same output file should not cause data corruption when running on JDK versions from 6 to 10 affected by \u003ca href=\"https://bugs.openjdk.org/browse/JDK-8166253\"\u003eJDK-8166253\u003c/a\u003e (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2065\"\u003e#2065\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2074\"\u003e#2074\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFor better performance agent writes to output file via BufferedOutputStream, this fixes regression introduced in version 0.6.2 (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2073\"\u003e#2073\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed NullPointerException when JaCoCo agent is loaded by non system class loader, for example when loaded by JBoss Modules (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/1651\"\u003e#1651\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNon-functional Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eJaCoCo now depends on ASM 9.10.1 (GitHub \u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2134\"\u003e#2134\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/jacoco/jacoco/commit/6c5260a192eaa535e4a519771d530781cbac9136\"\u003e\u003ccode\u003e6c5260a\u003c/code\u003e\u003c/a\u003e Prepare release v0.8.15\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/5c05141431a7f064a804a923fbae11271241f116\"\u003e\u003ccode\u003e5c05141\u003c/code\u003e\u003c/a\u003e Transfer of execution data through socket should use buffered stream (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2089\"\u003e#2089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/ab5efa9d63c06899b2aec1d4a6099fc856132a22\"\u003e\u003ccode\u003eab5efa9\u003c/code\u003e\u003c/a\u003e Remove from Azure Pipelines all builds except with JDK 5 and JDK EA (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2148\"\u003e#2148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/5f6ea38f20ff4583deb4ab976571c853231f97c2\"\u003e\u003ccode\u003e5f6ea38\u003c/code\u003e\u003c/a\u003e Use Windows 2025 image in GitHub Actions (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2130\"\u003e#2130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/35a8af2cfc168ce51f2a3ea2d55d65f31e61c513\"\u003e\u003ccode\u003e35a8af2\u003c/code\u003e\u003c/a\u003e Use Renovate instead of Dependabot for updates of ASM (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2137\"\u003e#2137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/85b8ddf530821f75b3b26f5f96d03252286b3ad6\"\u003e\u003ccode\u003e85b8ddf\u003c/code\u003e\u003c/a\u003e Upgrade ASM to 9.10.1 (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2134\"\u003e#2134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/2988647ac37c3ad35a77b51d01b10a916b85627b\"\u003e\u003ccode\u003e2988647\u003c/code\u003e\u003c/a\u003e AgentModule should use ClassLoader of agent instead of SystemClassLoader (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/1651\"\u003e#1651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/75a4e31fed32f180fbe4593ad91ec5c176c0535b\"\u003e\u003ccode\u003e75a4e31\u003c/code\u003e\u003c/a\u003e Add filter for Kotlin \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/1944\"\u003e#1944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/691fa1d6a0dffa91f45daf0714f28bfdaa367fc0\"\u003e\u003ccode\u003e691fa1d\u003c/code\u003e\u003c/a\u003e Use Renovate instead of Dependabot for updates of GitHub Actions (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2132\"\u003e#2132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jacoco/jacoco/commit/3e18f17207bca0203b726ace460aa6be8d0f3dd4\"\u003e\u003ccode\u003e3e18f17\u003c/code\u003e\u003c/a\u003e Require at least JDK 21 for build (\u003ca href=\"https://redirect.github.com/jacoco/jacoco/issues/2128\"\u003e#2128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jacoco/jacoco/compare/v0.8.14...v0.8.15\"\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/chrom/quarkus-ms-gold-template/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrom%2Fquarkus-ms-gold-template/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"}}]}