{"id":12977,"name":"com.github.ben-manes.caffeine:caffeine","ecosystem":"maven","repository_url":"https://github.com/ben-manes/caffeine","issues_count":699,"created_at":"2025-06-06T23:23:19.807Z","updated_at":"2025-06-06T23:23:19.807Z","purl":"pkg:maven/com.github.ben-manes.caffeine:caffeine","metadata":{"id":4682824,"name":"com.github.ben-manes.caffeine:caffeine","ecosystem":"maven","description":"A high performance caching library","homepage":"https://github.com/ben-manes/caffeine","licenses":"Apache License, Version 2.0","normalized_licenses":["Apache-2.0"],"repository_url":"https://github.com/ben-manes/caffeine","keywords_array":[],"namespace":"com.github.ben-manes.caffeine","versions_count":69,"first_release_published_at":"2015-03-24T00:31:08.000Z","latest_release_published_at":"2025-01-17T21:34:11.000Z","latest_release_number":"3.2.0","last_synced_at":"2025-06-07T10:01:29.391Z","created_at":"2022-07-25T19:28:14.552Z","updated_at":"2025-06-07T10:01:29.391Z","registry_url":"https://central.sonatype.com/artifact/com.github.ben-manes.caffeine/caffeine/","install_command":null,"documentation_url":"https://appdoc.app/artifact/com.github.ben-manes.caffeine/caffeine/","metadata":{},"repo_metadata":{"uuid":"27954927","full_name":"ben-manes/caffeine","owner":"ben-manes","description":"A high performance caching library for Java","archived":false,"fork":false,"pushed_at":"2023-03-21T16:59:11.000Z","size":105286,"stargazers_count":13325,"open_issues_count":2,"forks_count":1420,"subscribers_count":371,"default_branch":"master","last_synced_at":"2023-03-21T20:17:33.737Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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":".github/SECURITY.md","support":null}},"created_at":"2014-12-13T08:45:11.000Z","updated_at":"2023-03-21T04:28:55.000Z","dependencies_parsed_at":"2023-01-17T00:30:46.070Z","dependency_job_id":null,"html_url":"https://github.com/ben-manes/caffeine","commit_stats":null,"repository_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ben-manes%2Fcaffeine","tags_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ben-manes%2Fcaffeine/tags","manifests_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ben-manes%2Fcaffeine/manifests","owner_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ben-manes","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":"ben-manes","name":"Ben Manes","uuid":"378614","kind":"user","description":"","email":"","website":"https://www.linkedin.com/in/benmanes","location":"Mountain View, Ca","twitter":null,"company":null,"avatar_url":"https://avatars.githubusercontent.com/u/378614?v=4","repositories_count":15,"last_synced_at":"2023-02-20T02:32:12.572Z","metadata":{"has_sponsors_listing":false},"owner_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ben-manes"},"tags":[{"name":"v3.1.2","sha":"0fb69f035983956157ffdba59623a53432c5f4d8","kind":"commit","published_at":"2022-11-23T19:52:53.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v3.1.2","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v3.1.2"},{"name":"v3.1.1","sha":"2128448d841adadd4646b12abe0d9b19a55f5f2f","kind":"commit","published_at":"2022-05-26T16:50:56.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v3.1.1","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v3.1.1"},{"name":"v3.1.0","sha":"970c1786f7862675870cb3f410e6a1c827bdd637","kind":"commit","published_at":"2022-04-27T23:02:44.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v3.1.0","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v3.1.0"},{"name":"v3.0.6","sha":"8d51164b9d697f307640d131b9f281115e6f64df","kind":"commit","published_at":"2022-03-15T07:12:41.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v3.0.6","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v3.0.6"},{"name":"v3.0.5","sha":"a681c680072d377f40fb9d724f70030652339c24","kind":"commit","published_at":"2021-12-02T23:29:43.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v3.0.5","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v3.0.5"},{"name":"v2.9.3","sha":"05a040c2478341bab8a58a02b3dc1fe14d626d72","kind":"commit","published_at":"2021-12-02T09:04:44.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.9.3","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.9.3"},{"name":"v3.0.4","sha":"86991daa56e83c4d69ad977639644a94c44ddec3","kind":"commit","published_at":"2021-09-13T03:46:23.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v3.0.4","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v3.0.4"},{"name":"v2.9.2","sha":"a1a5de80779780dc3844b473fe14b55180572cbf","kind":"commit","published_at":"2021-07-02T02:50:32.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.9.2","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.9.2"},{"name":"v3.0.3","sha":"37c51d5c22b8003367e179db283d427c63b5d2e6","kind":"commit","published_at":"2021-07-02T02:28:19.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v3.0.3","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v3.0.3"},{"name":"v3.0.2","sha":"754b19da80c55351362be66144b184058c7dba85","kind":"commit","published_at":"2021-05-03T01:03:26.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v3.0.2","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v3.0.2"},{"name":"v2.9.1","sha":"28b104ad376c43113ab24694742e19d972144702","kind":"commit","published_at":"2021-05-01T05:36:54.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.9.1","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.9.1"},{"name":"v3.0.1","sha":"cbc71f24a1732106308ff69ff619195374680b56","kind":"commit","published_at":"2021-03-17T18:11:56.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v3.0.1","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v3.0.1"},{"name":"v3.0.0","sha":"be6ad63ea4a7bf59eae10b92e62a1aed1883f951","kind":"commit","published_at":"2021-02-21T21:30:29.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v3.0.0","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v3.0.0"},{"name":"v2.9.0","sha":"70b3a51b5e2221a98fc492e0d06460267fe4252a","kind":"commit","published_at":"2021-02-16T05:01:47.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.9.0","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.9.0"},{"name":"v2.8.8","sha":"c1ed088897da806cd9700d01b961e65fe00ea8be","kind":"commit","published_at":"2020-12-08T04:44:48.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.8.8","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.8.8"},{"name":"v2.8.7","sha":"83ae0dcd365b2db5ab0f5a93ce0c56c0bc914de4","kind":"commit","published_at":"2020-12-07T05:12:33.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.8.7","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.8.7"},{"name":"v2.8.6","sha":"5d8a554d2e06b1cc8302cff2bbe2a78b482a7220","kind":"commit","published_at":"2020-10-12T05:15:26.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.8.6","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.8.6"},{"name":"v2.8.5","sha":"59e30e908f4eb4b3dccea0dad15fdcc93e17984a","kind":"commit","published_at":"2020-06-28T23:48:40.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.8.5","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.8.5"},{"name":"v2.8.4","sha":"7239bb0dda2af1e7301e8f66a5df28215b5173bc","kind":"commit","published_at":"2020-05-19T04:32:59.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.8.4","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.8.4"},{"name":"v2.8.3","sha":"1ea398c2f222b39acdc1c4317634a0176494052c","kind":"commit","published_at":"2020-05-18T06:57:46.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.8.3","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.8.3"},{"name":"v2.8.2","sha":"8121c1d2f24adce2f768ae2303b2cce398426070","kind":"commit","published_at":"2020-04-27T05:11:50.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.8.2","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.8.2"},{"name":"v2.8.1","sha":"8dd18b1ef4335f1a267edc5f02da47f340086bd3","kind":"commit","published_at":"2020-01-15T17:08:55.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.8.1","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.8.1"},{"name":"v2.8.0","sha":"c06c5cca5c80e578495b206d03c8f76fb74f7b22","kind":"commit","published_at":"2019-08-05T06:26:11.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.8.0","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.8.0"},{"name":"v2.7.0","sha":"2ba24a9d07f4e817bec18d97155c7332bdcc8985","kind":"commit","published_at":"2019-02-24T04:16:39.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.7.0","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.7.0"},{"name":"v2.6.2","sha":"111925379d39a82eff0b942891cac674dd157f3c","kind":"commit","published_at":"2018-02-21T18:44:28.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.6.2","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.6.2"},{"name":"v2.6.1","sha":"303670ba1480adb2bcd9f76f808145272ec0299e","kind":"commit","published_at":"2017-12-28T02:01:26.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.6.1","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.6.1"},{"name":"v2.6.0","sha":"6be13d692041106e51656dc524c52a2bfd68a76e","kind":"commit","published_at":"2017-11-01T04:33:31.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.6.0","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.6.0"},{"name":"2.5.6","sha":"61008d9ca7fcc63d4a48c6a2d0a4c9dd84792fec","kind":"commit","published_at":"2017-09-22T20:25:31.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/2.5.6","html_url":"https://github.com/ben-manes/caffeine/releases/tag/2.5.6"},{"name":"v2.5.5","sha":"9eeb53829140d98af8aa1f2a6263b7fac7516978","kind":"commit","published_at":"2017-08-16T20:55:28.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.5.5","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.5.5"},{"name":"v2.5.4","sha":"26a98384f45e3b44277d5c3a03ecc4b21d5e1954","kind":"commit","published_at":"2017-08-04T18:23:19.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.5.4","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.5.4"},{"name":"v2.5.3","sha":"9bf94d413cc04d82c0ded357728a5d0fb7d2cb72","kind":"commit","published_at":"2017-07-07T19:36:29.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.5.3","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.5.3"},{"name":"v2.5.2","sha":"eb44628f9b59d2f786f697b57da304be3d52170b","kind":"commit","published_at":"2017-05-29T03:34:37.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.5.2","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.5.2"},{"name":"v2.5.1","sha":"1d6fa59c78ad002cef0052331af22015691bf630","kind":"commit","published_at":"2017-05-20T18:56:18.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.5.1","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.5.1"},{"name":"v2.5.0","sha":"70bae5de1bc627a90efdf3425495b9afcdee8799","kind":"commit","published_at":"2017-05-08T05:29:02.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.5.0","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.5.0"},{"name":"v2.4.0","sha":"9a1b77345bd2a00b17b2db789879f7c88f94e33f","kind":"commit","published_at":"2017-02-19T06:51:00.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.4.0","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.4.0"},{"name":"v2.3.5","sha":"fe68b00ac52b303dd20231123d61e7c3e03782ac","kind":"commit","published_at":"2016-11-07T02:27:38.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.3.5","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.3.5"},{"name":"v2.3.4","sha":"4b4d9712c834e46accd3bd05c8e1081c43aeec72","kind":"commit","published_at":"2016-10-30T23:40:03.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.3.4","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.3.4"},{"name":"v2.3.3","sha":"49c012c57c6a0e150ee406e0f3b3ff72c3b7d101","kind":"commit","published_at":"2016-08-27T21:39:14.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.3.3","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.3.3"},{"name":"v2.3.2","sha":"d26d0c9a59f04d4ee871b935920164f781a9940c","kind":"commit","published_at":"2016-08-11T09:09:31.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.3.2","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.3.2"},{"name":"v2.3.1","sha":"419cfe7289d94f5bd394215e684f8cde7454c8a1","kind":"commit","published_at":"2016-06-13T02:41:19.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.3.1","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.3.1"},{"name":"v2.3.0","sha":"cc4885b6d649a8d53b4a292f75817c312fb9f905","kind":"commit","published_at":"2016-04-23T21:45:23.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.3.0","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.3.0"},{"name":"v2.2.7","sha":"d690f5cd85f15cd0f00af4a1397f1489854a5f37","kind":"commit","published_at":"2016-04-17T18:51:00.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.2.7","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.2.7"},{"name":"v2.2.6","sha":"1b076b3c2cfc96569335027914e70e1da3634047","kind":"commit","published_at":"2016-04-03T20:13:52.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.2.6","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.2.6"},{"name":"v2.2.5","sha":"ceea49e33658b73e839ea47f78b36786db63c1f5","kind":"commit","published_at":"2016-04-03T09:11:42.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.2.5","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.2.5"},{"name":"v2.2.4","sha":"f16a0c5f2bbe3afb840ba8310692e8424b804b7d","kind":"commit","published_at":"2016-04-03T02:50:48.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.2.4","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.2.4"},{"name":"v2.2.3","sha":"ebd92875dbed130c28f2b121bcb0e9e4d7fafc10","kind":"commit","published_at":"2016-03-23T03:12:31.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.2.3","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.2.3"},{"name":"v2.2.2","sha":"49fed1e4fb41af221f6c4f798525cdd4f8dde26b","kind":"commit","published_at":"2016-02-29T01:31:20.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.2.2","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.2.2"},{"name":"v2.2.1","sha":"56d89daf971ca0deb23b94e793f276b235d4ddad","kind":"commit","published_at":"2016-02-25T05:16:57.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.2.1","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.2.1"},{"name":"v2.2.0","sha":"d52a68810270d8c8bdd86b8d1c1a368dc4a8a1fa","kind":"commit","published_at":"2016-02-19T17:48:26.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.2.0","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.2.0"},{"name":"v2.1.0","sha":"b936506aface3bf699a2bc22cdd39c163163d7ff","kind":"commit","published_at":"2016-01-18T04:25:09.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.1.0","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.1.0"},{"name":"v2.0.3","sha":"d9fd8c6e652c0c0335a0bf4dcd6cab17f330cdf1","kind":"commit","published_at":"2015-12-20T03:27:13.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.0.3","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.0.3"},{"name":"v2.0.2","sha":"5016c14c4ff5601ca0b9a32ff1f45237e6e1c52b","kind":"commit","published_at":"2015-12-02T05:17:12.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.0.2","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.0.2"},{"name":"v2.0.1","sha":"03514e6c2f3ac1c90f8750e326d57fdfe614507f","kind":"commit","published_at":"2015-11-13T03:35:30.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.0.1","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.0.1"},{"name":"v2.0.0","sha":"b1f85c23dbac287ddafc6a37c381ae7f84fdaea2","kind":"commit","published_at":"2015-11-09T06:28:38.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v2.0.0","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v2.0.0"},{"name":"v1.3.3","sha":"0d0530637bc5184ad21f675f37d31598ec82edc4","kind":"commit","published_at":"2015-09-26T05:03:44.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v1.3.3","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v1.3.3"},{"name":"v1.3.2","sha":"39615086a310c9cf2c58b1ac70fc7c3fb093b4ff","kind":"commit","published_at":"2015-09-03T03:37:27.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v1.3.2","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v1.3.2"},{"name":"v1.3.1","sha":"220fc862d0ec662619fb934ba14cbdace7ea9571","kind":"commit","published_at":"2015-07-14T05:01:47.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v1.3.1","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v1.3.1"},{"name":"v1.3.0","sha":"5ee68b7d8913a047563efcf352e0b688b96dbe73","kind":"commit","published_at":"2015-07-13T00:11:09.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v1.3.0","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v1.3.0"},{"name":"v1.2.0","sha":"d11df1aefd2be1ad72fbac4ce3405f877df18452","kind":"commit","published_at":"2015-05-09T04:07:12.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v1.2.0","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v1.2.0"},{"name":"v1.1.0","sha":"2de80ef6fb380ebf71f784b20e5b3ebf35ee15de","kind":"commit","published_at":"2015-04-18T15:55:52.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v1.1.0","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v1.1.0"},{"name":"v1.0.1","sha":"a419a4101d5e7951b72b7cf8691c50ec65702a13","kind":"commit","published_at":"2015-03-30T19:53:56.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v1.0.1","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v1.0.1"},{"name":"v1.0","sha":"499f73e82cf7d1d47df372551910a8549167a0bd","kind":"commit","published_at":"2015-03-24T00:37:41.000Z","download_url":"https://codeload.github.com/ben-manes/caffeine/tar.gz/v1.0","html_url":"https://github.com/ben-manes/caffeine/releases/tag/v1.0"}]},"repo_metadata_updated_at":"2023-03-21T21:16:10.175Z","dependent_packages_count":2483,"downloads":null,"downloads_period":null,"dependent_repos_count":10045,"rankings":{"downloads":null,"dependent_repos_count":0.08112899510221251,"dependent_packages_count":0.029046183431656332,"stargazers_count":1.6173716208771949,"forks_count":4.187257739806292,"docker_downloads_count":0.022235354213198985,"average":1.1874079786861107},"purl":"pkg:maven/com.github.ben-manes.caffeine/caffeine","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/maven/com.github.ben-manes.caffeine:caffeine","docker_dependents_count":5125,"docker_downloads_count":6926175394,"usage_url":"https://repos.ecosyste.ms/usage/maven/com.github.ben-manes.caffeine:caffeine","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/maven/com.github.ben-manes.caffeine:caffeine/dependencies","status":null,"funding_links":[],"critical":true,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/com.github.ben-manes.caffeine:caffeine/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/com.github.ben-manes.caffeine:caffeine/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/com.github.ben-manes.caffeine:caffeine/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/com.github.ben-manes.caffeine:caffeine/related_packages","maintainers":[],"registry":{"name":"repo1.maven.org","url":"https://repo.maven.apache.org/maven2","ecosystem":"maven","default":true,"packages_count":517936,"maintainers_count":0,"namespaces_count":68848,"keywords_count":32053,"github":"maven-central","metadata":{"funded_packages_count":25044},"icon_url":"https://github.com/maven-central.png","created_at":"2022-07-21T16:40:13.074Z","updated_at":"2025-06-07T05:38:09.526Z","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":298,"unique_repositories_count_past_30_days":8,"recent_issues":[{"uuid":"4649364612","node_id":"PR_kwDOBNJpF87lwvUg","number":984,"state":"open","title":"Bump com.github.ben-manes.caffeine:caffeine from 3.2.3 to 3.2.4","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-12T12:52:23.000Z","updated_at":"2026-06-12T12:54:04.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"}],"path":null,"ecosystem":"maven"},"body":"Bumps [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) from 3.2.3 to 3.2.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.github.ben-manes.caffeine:caffeine\u0026package-manager=maven\u0026previous-version=3.2.3\u0026new-version=3.2.4)](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/stevespringett/Alpine/pull/984","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevespringett%2FAlpine/issues/984","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/984/packages"},{"uuid":"4626200271","node_id":"PR_kwDOD5sxF87kl2uU","number":25838,"state":"open","title":"build(deps): bump com.github.ben-manes.caffeine:caffeine from 3.2.0 to 3.2.4 in /hiero-dependency-versions","user":"dependabot[bot]","labels":["dependencies","Java"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-09T22:43:31.000Z","updated_at":"2026-06-09T23:41:33.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.0","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"}],"path":"/hiero-dependency-versions","ecosystem":"maven"},"body":"Bumps [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) from 3.2.0 to 3.2.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.2.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed frequency tracking of weak keys to use the object's identity hash code (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1902\"\u003e#1902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for underscores in \u003ccode\u003eCaffeineSpec\u003c/code\u003e when using numeric literals (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1890\"\u003e#1890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved the external api to no longer lock when querying for the maximum size or weighted size (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1897\"\u003e#1897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded detection and recovery when a custom \u003ccode\u003eCompletableFuture\u003c/code\u003e is in an inconsistent state (\u003ca href=\"https://redirect.github.com/quarkusio/quarkus/issues/50513\"\u003equarkus#50513\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.2.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed characteristics returned by Spliterators (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1883\"\u003e#1883\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e for an async cache's synchronous view to retry if incomplete\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eCaffeineSpec\u003c/code\u003e when being reflectively constructed (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1839\"\u003e#1839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved the handling of negative durations with variable expiration\u003c/li\u003e\n\u003cli\u003eFixed intermittent null after replacing a weak/soft value (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1820\"\u003e#1820\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.0...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.github.ben-manes.caffeine:caffeine\u0026package-manager=gradle\u0026previous-version=3.2.0\u0026new-version=3.2.4)](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/hiero-ledger/hiero-consensus-node/pull/25838","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiero-ledger%2Fhiero-consensus-node/issues/25838","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/25838/packages"},{"uuid":"4514594038","node_id":"PR_kwDOCPoAuM7e68et","number":361,"state":"open","title":"fix(deps): bump the prod-deps group across 1 directory with 8 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-25T05:48:29.000Z","updated_at":"2026-05-25T05:51:46.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"fix(deps): bump","group_name":"prod-deps","update_count":8,"packages":[{"name":"org.junit:junit-bom","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.apache.logging.log4j:log4j-bom","old_version":"2.25.3","new_version":"2.26.0","repository_url":"https://github.com/apache/logging-log4j2"},{"name":"io.vertx:vertx-stack-depchain","old_version":"5.0.8","new_version":"5.0.12"},{"name":"io.vertx:vertx-core","old_version":"5.0.8","new_version":"5.0.12","repository_url":"https://github.com/eclipse/vert.x"},{"name":"io.vertx:vertx-web","old_version":"5.0.8","new_version":"5.0.12","repository_url":"https://github.com/vert-x3/vertx-web"},{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"org.springframework:spring-context","old_version":"7.0.6","new_version":"7.0.7","repository_url":"https://github.com/spring-projects/spring-framework"},{"name":"org.springframework:spring-test","old_version":"7.0.6","new_version":"7.0.7","repository_url":"https://github.com/spring-projects/spring-framework"}],"path":null,"ecosystem":"maven"},"body":"Bumps the prod-deps group with 8 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.junit:junit-bom](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\n| [org.apache.logging.log4j:log4j-bom](https://github.com/apache/logging-log4j2) | `2.25.3` | `2.26.0` |\n| io.vertx:vertx-stack-depchain | `5.0.8` | `5.0.12` |\n| [io.vertx:vertx-core](https://github.com/eclipse/vert.x) | `5.0.8` | `5.0.12` |\n| [io.vertx:vertx-web](https://github.com/vert-x3/vertx-web) | `5.0.8` | `5.0.12` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.2.3` | `3.2.4` |\n| [org.springframework:spring-context](https://github.com/spring-projects/spring-framework) | `7.0.6` | `7.0.7` |\n| [org.springframework:spring-test](https://github.com/spring-projects/spring-framework) | `7.0.6` | `7.0.7` |\n\n\nUpdates `org.junit:junit-bom` from 6.0.3 to 6.1.0\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.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\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\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/0dc3af1cb1973d257b5bc75d81e02454d5e4e556\"\u003e\u003ccode\u003e0dc3af1\u003c/code\u003e\u003c/a\u003e Release 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1d130020c85170edcb46ce7ed1f7f78824e37c04\"\u003e\u003ccode\u003e1d13002\u003c/code\u003e\u003c/a\u003e Prepare 6.1.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/072b2175bbd7b0b3b26f5d928550ec7a21e68268\"\u003e\u003ccode\u003e072b217\u003c/code\u003e\u003c/a\u003e Update plugin spotless to v8.5.0 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5668\"\u003e#5668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/3a53480218f4b752a9ca77506e10632cd483c0f8\"\u003e\u003ccode\u003e3a53480\u003c/code\u003e\u003c/a\u003e Update Gradle to v9.5.1 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5666\"\u003e#5666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0e18a20a9f98d063ae02b3ba19329143f5c7f034\"\u003e\u003ccode\u003e0e18a20\u003c/code\u003e\u003c/a\u003e Update zizmorcore/zizmor-action action to v0.5.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5669\"\u003e#5669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0a2634fb9cbbd057b02cf629d7d272c16d62be4b\"\u003e\u003ccode\u003e0a2634f\u003c/code\u003e\u003c/a\u003e Update github/codeql-action action to v4.35.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5671\"\u003e#5671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/4dbd5561b00ac761a62c516bfaec51c212a2d60c\"\u003e\u003ccode\u003e4dbd556\u003c/code\u003e\u003c/a\u003e Restructure workflows to have single \u0026quot;status\u0026quot; job (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5670\"\u003e#5670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f2194cebe377512cb0ade388c62a881a0bcf5d3e\"\u003e\u003ccode\u003ef2194ce\u003c/code\u003e\u003c/a\u003e Increase timeout to reduce flakiness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fdd2df65b763151cccbe669ea9e1c3155efcd\"\u003e\u003ccode\u003e5c8fdd2\u003c/code\u003e\u003c/a\u003e Update dependency org.apache.groovy:groovy to v5.0.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5659\"\u003e#5659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/43c6982324602582902c9bdb213fd5e007f9cf3d\"\u003e\u003ccode\u003e43c6982\u003c/code\u003e\u003c/a\u003e Update dependency org.slf4j:slf4j-jdk14 to v2.0.18 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5667\"\u003e#5667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.logging.log4j:log4j-bom` from 2.25.3 to 2.26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/logging-log4j2/releases\"\u003eorg.apache.logging.log4j:log4j-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.26.0\u003c/h2\u003e\n\u003cp\u003eThis minor release delivers all the fixes in the \u003ccode\u003e[2.25.0, 2.25.4]\u003c/code\u003e version range, plus some new fixes, and several other improvements and features.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a new \u003ccode\u003eConfigurationFactory::getConfiguration\u003c/code\u003e method accepting multiple \u003ccode\u003eURI\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3775\"\u003e#3775\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3921\"\u003e#3921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd and export \u003ccode\u003eorg.apache.logging.log4j.core.pattern.NamedInstantPattern\u003c/code\u003e enabling users to programmatically access named date \u0026amp; time patterns supported by Pattern Layout (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3789\"\u003e#3789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003elog4j.plugin.processor.minAllowedMessageKind\u003c/code\u003e annotation processor option to \u003ccode\u003ePluginProcessor\u003c/code\u003e to filter diagnostic messages by severity. This allows builds that treat compiler notes as errors (e.g. Maven with \u003ccode\u003e-Werror\u003c/code\u003e) to suppress informational notes emitted during normal plugin processing. (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/discussions/3380%5B#3380%5D(https://redirect.github.com/apache/logging-log4j2/issues/3380)\"\u003eapache/logging-log4j2#3380\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4063\"\u003e#4063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing setters to \u003ccode\u003eRfc5424LayoutBuilder\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure scripts in the global \u003ccode\u003eScripts\u003c/code\u003e element have explicit names by throwing a \u003ccode\u003eConfigurationException\u003c/code\u003e for unnamed ones. (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3176\"\u003e#3176\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify file manager registry factory methods (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3968\"\u003e#3968\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated withers in builder classes in favor of setters. This change improves API consistency with Log4j Core 3 and helps users adapt to the upcoming changes. (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3750\"\u003e#3750\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix script resolution failure when the \u003ccode\u003eScripts\u003c/code\u003e element is placed after a \u003ccode\u003eScriptRef\u003c/code\u003e in the configuration. (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3336\"\u003e#3336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e thrown by \u003ccode\u003eThrowableStackTraceRenderer\u003c/code\u003e when the stack trace is modified concurrently (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3940\"\u003e#3940\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3955\"\u003e#3955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eSLF4JLogger.atFatal()\u003c/code\u003e returning \u003ccode\u003eatLevel(Level.TRACE)\u003c/code\u003e instead of \u003ccode\u003eatLevel(Level.FATAL)\u003c/code\u003e. This was causing \u003ccode\u003eFATAL\u003c/code\u003e-level log events to be silently discarded when using the fluent API through the \u003ccode\u003elog4j-to-slf4j\u003c/code\u003e bridge. (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4068\"\u003e#4068\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4089\"\u003e#4089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Javadoc references across module boundaries (i.e., cross-references) (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4099\"\u003e#4099\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4100\"\u003e#4100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix header write in \u003ccode\u003eRollingRandomAccessFileManager\u003c/code\u003e that was being incorrectly skipped if \u003ccode\u003eappend=true\u003c/code\u003e and the file didn't exist before\u003c/li\u003e\n\u003cli\u003eFix a properties file configuration regression caused by not referenced loggers, appenders, and filters (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4036\"\u003e#4036\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4069\"\u003e#4069\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove the \u003ccode\u003ejvmrunargs\u003c/code\u003e lookup. (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3874\"\u003e#3874\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003eorg.junit:junit-bom\u003c/code\u003e to version \u003ccode\u003e5.13.4\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3850\"\u003e#3850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eorg.mongodb:bson\u003c/code\u003e to version \u003ccode\u003e5.6.1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3961\"\u003e#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eorg.xerial.snappy:snappy-java\u003c/code\u003e to version \u003ccode\u003e1.1.10.8\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3841\"\u003e#3841\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.25.4\u003c/h2\u003e\n\u003cp\u003eThis patch release delivers fixes for configuration inconsistencies and formatting issues across several layouts.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRestores alignment between documented and actual configuration attributes.\u003c/li\u003e\n\u003cli\u003eFixes formatting and sanitization issues in XML and RFC5424 layouts.\u003c/li\u003e\n\u003cli\u003eImproves handling of invalid characters and non-standard values.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe authoritative list of recognized configuration attributes is available in the \u003ca href=\"https://logging.apache.org/log4j/2.x/plugin-reference.html\"\u003ePluginReference\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't issue warnings if extra argument in parameterized logging is \u003ccode\u003enull\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3975\"\u003e#3975\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/apache/logging-log4j2/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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/c1ad2a66cc90e643ec319b9e131764c9710bebc5\"\u003e\u003ccode\u003ec1ad2a6\u003c/code\u003e\u003c/a\u003e Update the \u003ccode\u003eproject.build.outputTimestamp\u003c/code\u003e property\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/8b3a7990421ec5cff2a44914c07d0676067c31ad\"\u003e\u003ccode\u003e8b3a799\u003c/code\u003e\u003c/a\u003e Set version to \u003ccode\u003e2.26.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/96486ebb8a2176f7bd14c797b334da84d90e801b\"\u003e\u003ccode\u003e96486eb\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/2.x' into release/2.26.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/82432570e8bb9a67c32de51dc63ebcfcec939818\"\u003e\u003ccode\u003e8243257\u003c/code\u003e\u003c/a\u003e Add documentation for \u003ccode\u003eMessageRewritePolicy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/2a15414e839fea3f3ba61cc7403dd8e4130a15cf\"\u003e\u003ccode\u003e2a15414\u003c/code\u003e\u003c/a\u003e Add documentation pointer to the Async HTTP Appender of \u003ccode\u003emore-log4j2\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4062\"\u003e#4062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/b178cb1f926b3db43c65e69e9b7be7b76431f824\"\u003e\u003ccode\u003eb178cb1\u003c/code\u003e\u003c/a\u003e Switch CI to \u003ccode\u003egha/v0\u003c/code\u003e and remove Develocity (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4108\"\u003e#4108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/23321deb0e1e1509ac16c5453653c86c1a4d5867\"\u003e\u003ccode\u003e23321de\u003c/code\u003e\u003c/a\u003e Remove changelog entries for already released changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/def55fcf441b2a9ec2e6454e8fa8e1053d7d59ba\"\u003e\u003ccode\u003edef55fc\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e.release.xml\u003c/code\u003e and \u003ccode\u003e.release-notes.adoc.ftl\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/0e019f23b001219fd32c78397224b134fa41e431\"\u003e\u003ccode\u003e0e019f2\u003c/code\u003e\u003c/a\u003e Move changelog entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/a487a5d029697fc0b276a20c4277b24bf1f66b50\"\u003e\u003ccode\u003ea487a5d\u003c/code\u003e\u003c/a\u003e Tidy up changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/logging-log4j2/compare/rel/2.25.3...rel/2.26.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.vertx:vertx-stack-depchain` from 5.0.8 to 5.0.12\n\nUpdates `io.vertx:vertx-core` from 5.0.8 to 5.0.12\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/244f9e7d87f854961df930b2383a990999523be9\"\u003e\u003ccode\u003e244f9e7\u003c/code\u003e\u003c/a\u003e Releasing 5.0.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/c64a707b6de83feeb0317e848345684860f0ab2f\"\u003e\u003ccode\u003ec64a707\u003c/code\u003e\u003c/a\u003e Define a bounded capacity for the internal SNI to SslContext cache.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/b1b817892996b31451884ae44d439cd1408e85a3\"\u003e\u003ccode\u003eb1b8178\u003c/code\u003e\u003c/a\u003e Upgrade Brotli4j to 1.23.0 for testing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/93b9cde134665883f01cec02e611f4ce0d6d3e6f\"\u003e\u003ccode\u003e93b9cde\u003c/code\u003e\u003c/a\u003e Move http2 compression handling from connection to stream level\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/325d607efc6aa32f35dec681ba6b37bfbc41c296\"\u003e\u003ccode\u003e325d607\u003c/code\u003e\u003c/a\u003e Set next snapshot version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/17daa03e93011f338d207db41fd6aefd6b63add0\"\u003e\u003ccode\u003e17daa03\u003c/code\u003e\u003c/a\u003e Releasing 5.0.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/7f77d1e983481d77ac0c2e7b84c8681b5f2a3c23\"\u003e\u003ccode\u003e7f77d1e\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Work around HTTP/2 decompression padding issue.\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/3894859e72f858fa3130b1d5d52dd0ef807b0a0a\"\u003e\u003ccode\u003e3894859\u003c/code\u003e\u003c/a\u003e Let the HTTP/2 max number of small continuation frames allowed to be configur...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/82b01d9db6c9e262c6068c203b564f6b65bd14e6\"\u003e\u003ccode\u003e82b01d9\u003c/code\u003e\u003c/a\u003e Fix HttpClientResponse body()/end() race (5.0 backport)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/89878bd72d3e969544b12797f1df0670cce8574d\"\u003e\u003ccode\u003e89878bd\u003c/code\u003e\u003c/a\u003e Improve the resiliency of Vert.x Logger.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eclipse/vert.x/compare/5.0.8...5.0.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.vertx:vertx-web` from 5.0.8 to 5.0.12\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/c0e402818ec6f0cc7ec6d30df3d94ef157befe2f\"\u003e\u003ccode\u003ec0e4028\u003c/code\u003e\u003c/a\u003e Releasing 5.0.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/07a6c31a5b8f12d6528b8bcfbb846ffabbf36321\"\u003e\u003ccode\u003e07a6c31\u003c/code\u003e\u003c/a\u003e Upgrade to webauthn4j 0.30.3.RELEASE (\u003ca href=\"https://redirect.github.com/vert-x3/vertx-web/issues/2872\"\u003e#2872\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vert-x3/vertx-web/issues/2873\"\u003e#2873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/e91354f61862dce7e1d475d1fe55bd28ff100ad0\"\u003e\u003ccode\u003ee91354f\u003c/code\u003e\u003c/a\u003e Set next snapshot version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/177f6f3e7d5efc6500333f24372e3834465a988a\"\u003e\u003ccode\u003e177f6f3\u003c/code\u003e\u003c/a\u003e Releasing 5.0.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/a968e6d40057ba115ad72c267afb73ff66daea39\"\u003e\u003ccode\u003ea968e6d\u003c/code\u003e\u003c/a\u003e Set next snapshot version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/347f25d78f3fafc9edc7905c52e58c8ce75ba0f6\"\u003e\u003ccode\u003e347f25d\u003c/code\u003e\u003c/a\u003e Releasing 5.0.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/57b1072083dadde59649b40433e21f619aa33118\"\u003e\u003ccode\u003e57b1072\u003c/code\u003e\u003c/a\u003e Set next snapshot version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/d449af80ff54d798f5aac002c8b184efef5c85f7\"\u003e\u003ccode\u003ed449af8\u003c/code\u003e\u003c/a\u003e Releasing 5.0.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/965fec81cf50b2273a1a8a6f6ad7f3214c4712ca\"\u003e\u003ccode\u003e965fec8\u003c/code\u003e\u003c/a\u003e Fix missing Accept/Allow headers in 415/405 responses with sub-routers (\u003ca href=\"https://redirect.github.com/vert-x3/vertx-web/issues/2863\"\u003e#2863\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/398214cb48e113ad0160569284f48a00b3a45eb0\"\u003e\u003ccode\u003e398214c\u003c/code\u003e\u003c/a\u003e Subrouter failure handler is ignored (\u003ca href=\"https://redirect.github.com/vert-x3/vertx-web/issues/2779\"\u003e#2779\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vert-x3/vertx-web/issues/2857\"\u003e#2857\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vert-x3/vertx-web/compare/5.0.8...5.0.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.vertx:vertx-core` from 5.0.8 to 5.0.12\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/244f9e7d87f854961df930b2383a990999523be9\"\u003e\u003ccode\u003e244f9e7\u003c/code\u003e\u003c/a\u003e Releasing 5.0.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/c64a707b6de83feeb0317e848345684860f0ab2f\"\u003e\u003ccode\u003ec64a707\u003c/code\u003e\u003c/a\u003e Define a bounded capacity for the internal SNI to SslContext cache.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/b1b817892996b31451884ae44d439cd1408e85a3\"\u003e\u003ccode\u003eb1b8178\u003c/code\u003e\u003c/a\u003e Upgrade Brotli4j to 1.23.0 for testing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/93b9cde134665883f01cec02e611f4ce0d6d3e6f\"\u003e\u003ccode\u003e93b9cde\u003c/code\u003e\u003c/a\u003e Move http2 compression handling from connection to stream level\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/325d607efc6aa32f35dec681ba6b37bfbc41c296\"\u003e\u003ccode\u003e325d607\u003c/code\u003e\u003c/a\u003e Set next snapshot version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/17daa03e93011f338d207db41fd6aefd6b63add0\"\u003e\u003ccode\u003e17daa03\u003c/code\u003e\u003c/a\u003e Releasing 5.0.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/7f77d1e983481d77ac0c2e7b84c8681b5f2a3c23\"\u003e\u003ccode\u003e7f77d1e\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Work around HTTP/2 decompression padding issue.\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/3894859e72f858fa3130b1d5d52dd0ef807b0a0a\"\u003e\u003ccode\u003e3894859\u003c/code\u003e\u003c/a\u003e Let the HTTP/2 max number of small continuation frames allowed to be configur...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/82b01d9db6c9e262c6068c203b564f6b65bd14e6\"\u003e\u003ccode\u003e82b01d9\u003c/code\u003e\u003c/a\u003e Fix HttpClientResponse body()/end() race (5.0 backport)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/89878bd72d3e969544b12797f1df0670cce8574d\"\u003e\u003ccode\u003e89878bd\u003c/code\u003e\u003c/a\u003e Improve the resiliency of Vert.x Logger.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eclipse/vert.x/compare/5.0.8...5.0.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.vertx:vertx-web` from 5.0.8 to 5.0.12\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/c0e402818ec6f0cc7ec6d30df3d94ef157befe2f\"\u003e\u003ccode\u003ec0e4028\u003c/code\u003e\u003c/a\u003e Releasing 5.0.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/07a6c31a5b8f12d6528b8bcfbb846ffabbf36321\"\u003e\u003ccode\u003e07a6c31\u003c/code\u003e\u003c/a\u003e Upgrade to webauthn4j 0.30.3.RELEASE (\u003ca href=\"https://redirect.github.com/vert-x3/vertx-web/issues/2872\"\u003e#2872\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vert-x3/vertx-web/issues/2873\"\u003e#2873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/e91354f61862dce7e1d475d1fe55bd28ff100ad0\"\u003e\u003ccode\u003ee91354f\u003c/code\u003e\u003c/a\u003e Set next snapshot version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/177f6f3e7d5efc6500333f24372e3834465a988a\"\u003e\u003ccode\u003e177f6f3\u003c/code\u003e\u003c/a\u003e Releasing 5.0.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/a968e6d40057ba115ad72c267afb73ff66daea39\"\u003e\u003ccode\u003ea968e6d\u003c/code\u003e\u003c/a\u003e Set next snapshot version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/347f25d78f3fafc9edc7905c52e58c8ce75ba0f6\"\u003e\u003ccode\u003e347f25d\u003c/code\u003e\u003c/a\u003e Releasing 5.0.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/57b1072083dadde59649b40433e21f619aa33118\"\u003e\u003ccode\u003e57b1072\u003c/code\u003e\u003c/a\u003e Set next snapshot version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/d449af80ff54d798f5aac002c8b184efef5c85f7\"\u003e\u003ccode\u003ed449af8\u003c/code\u003e\u003c/a\u003e Releasing 5.0.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/965fec81cf50b2273a1a8a6f6ad7f3214c4712ca\"\u003e\u003ccode\u003e965fec8\u003c/code\u003e\u003c/a\u003e Fix missing Accept/Allow headers in 415/405 responses with sub-routers (\u003ca href=\"https://redirect.github.com/vert-x3/vertx-web/issues/2863\"\u003e#2863\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/398214cb48e113ad0160569284f48a00b3a45eb0\"\u003e\u003ccode\u003e398214c\u003c/code\u003e\u003c/a\u003e Subrouter failure handler is ignored (\u003ca href=\"https://redirect.github.com/vert-x3/vertx-web/issues/2779\"\u003e#2779\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vert-x3/vertx-web/issues/2857\"\u003e#2857\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vert-x3/vertx-web/compare/5.0.8...5.0.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework:spring-context` from 7.0.6 to 7.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-framework/releases\"\u003eorg.springframework:spring-context's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.0.7\u003c/h2\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove \u003ccode\u003eSpringValidatorAdapter\u003c/code\u003e and \u003ccode\u003eMethodValidationAdapter\u003c/code\u003e performance \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36621\"\u003e#36621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport JSON array decoding to \u003ccode\u003eFlux\u003c/code\u003e in \u003ccode\u003eKotlinSerializationJsonDecoder\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36597\"\u003e#36597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003emethodIdentification()\u003c/code\u003e in \u003ccode\u003eCacheAspectSupport\u003c/code\u003e for removal \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36575\"\u003e#36575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd MockRestServiceServer#createServer variant for RestClient \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36572\"\u003e#36572\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreate RestClientXhrTransport variant replacing RestTemplateXhrTransport \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36566\"\u003e#36566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove error handling in multipart codecs \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36563\"\u003e#36563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eApplicationListenerMethodAdapter#getTargetMethod()\u003c/code\u003e public \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36558\"\u003e#36558\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApiVersionConfigurer.setSupportedVersionPredicate() returns void instead of ApiVersionConfigurer \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36551\"\u003e#36551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazyConnectionDataSourceProxy does not work well with Hibernate's multi-tenancy by schema strategy \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36527\"\u003e#36527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd registerManagedResource variant with bean key argument to MBeanExporter \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36520\"\u003e#36520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle blank Accept-Language header in AcceptHeaderLocaleResolver \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36513\"\u003e#36513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake AbstractStreamingClientHttpRequest and AbstractBufferingClientHttpRequest public \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36501\"\u003e#36501\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySQL Error 149 (Galera/WSREP conflict) not translated to ConcurrencyFailureException in Spring JDBC/ORM \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36499\"\u003e#36499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd PreFlightRequestFilter \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36482\"\u003e#36482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport configuration of extension context scope for \u003ccode\u003eSpringExtension\u003c/code\u003e via Spring or JUnit properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36460\"\u003e#36460\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLower log level of \u0026quot;Cache miss for REQUEST dispatch\u0026quot; in HandlerMappingIntrospector \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36309\"\u003e#36309\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\u003eWebDataBinder unnecessarily instantiates collections when using the \u0026quot;!\u0026quot; and \u0026quot;_\u0026quot; prefixes \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36625\"\u003e#36625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCache pollution from high-cardinality FieldError default messages in MessageSourceSupport \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36609\"\u003e#36609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMergedAnnotation\u003c/code\u003e does not use \u003ccode\u003eClassLoader\u003c/code\u003e for method or field \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36606\"\u003e#36606\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@Sql\u003c/code\u003e fails if \u003ccode\u003eDataSource\u003c/code\u003e is wrapped in a \u003ccode\u003eTransactionAwareDataSourceProxy\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36611\"\u003e#36611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnnotatedTypeMetadata\u003c/code\u003e no longer retains source declaration order on Java 24+ \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36598\"\u003e#36598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMergedAnnotation.asMap()\u003c/code\u003e fails when an attribute references a non-existent class \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36586\"\u003e#36586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFileSystemResource\u003c/code\u003e does not strictly follow the \u003ccode\u003eResource#isReadable()\u003c/code\u003e contract \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36584\"\u003e#36584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConverter overrides in HttpMessageConverters only apply when defaults are registered \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36579\"\u003e#36579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInvalid method return type metadata for ClassFile variant on JDK 24+ \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36577\"\u003e#36577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Writer lifecycle for \u003ccode\u003eAbstractJsonHttpMessageConverter.writeInternal(Object, Type, Writer)\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36565\"\u003e#36565\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFlushing-related regression in \u003ccode\u003eSseServerResponse\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36537\"\u003e#36537\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazyConnectionDataSourceProxy does not pass on holdability to target Connection \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36528\"\u003e#36528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnnotationBeanNameGenerator\u003c/code\u003e fails when an annotation references a non-existent class \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36524\"\u003e#36524\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePerserve default API version in RestClientAdapter \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36514\"\u003e#36514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInconsistent codings resolution in resource resolvers \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36507\"\u003e#36507\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eDefaultJmsListenerContainer\u003c/code\u003e may hang in an endless loop in \u003ccode\u003edoShutdown\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36506\"\u003e#36506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eQuery not hidden in DefaultClientResponse checkpoint \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36502\"\u003e#36502\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestClient closes stream for ResponseEntity\u003c!-- raw HTML omitted --\u003e responses \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36492\"\u003e#36492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIllegalStateException when using websocket handshake headers with Tomcat \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36486\"\u003e#36486\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInvalid nullness information for ParameterizedTypeReference \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36477\"\u003e#36477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebTestClient cannot assert null list elements \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36476\"\u003e#36476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle Kotlin nullable value class param correctly in \u003ccode\u003eCoroutineUtils\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36449\"\u003e#36449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove RFC 2047 encoding from Content-Disposition filename \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36328\"\u003e#36328\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\u003eClarify semantics of HttpMethod.valueOf() \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36652\"\u003e#36652\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument whitespace semantics in SpEL expressions \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36628\"\u003e#36628\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-framework/commit/c997d4018d3dc6a7dde2e20eae3627599a01e169\"\u003e\u003ccode\u003ec997d40\u003c/code\u003e\u003c/a\u003e Release v7.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/91852546d92aeeae933ad77f8c938d4cfd9b0305\"\u003e\u003ccode\u003e9185254\u003c/code\u003e\u003c/a\u003e Upgrade to Reactor 2025.0.5 and Micrometer 1.16.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/802fa4d65e1f99c948a59629d4adcb4e3603e2cf\"\u003e\u003ccode\u003e802fa4d\u003c/code\u003e\u003c/a\u003e Refine RetryListener example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/7052da453285658215efc1dd5ecb0d472fde2de1\"\u003e\u003ccode\u003e7052da4\u003c/code\u003e\u003c/a\u003e Add doOnDiscard in MultipartHttpMessageReader\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/63817ce2021172338ce7900703678bfaee186a0a\"\u003e\u003ccode\u003e63817ce\u003c/code\u003e\u003c/a\u003e Add missing tests for WebRequestDataBinder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/61bd79017f7c4c3a4fafbb0da061376204593a68\"\u003e\u003ccode\u003e61bd790\u003c/code\u003e\u003c/a\u003e Polish WebRequestDataBinderTests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/ab6637c67024facf521e8f82c4bcb076308925a6\"\u003e\u003ccode\u003eab6637c\u003c/code\u003e\u003c/a\u003e Completely extract ServletRequestParameterPropertyValuesTests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/c9b88b4ebd47c7616816602204b106dd2c1275ef\"\u003e\u003ccode\u003ec9b88b4\u003c/code\u003e\u003c/a\u003e Extract ServletRequestParameterPropertyValuesTests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/68c575ab14057e04dba86beae64167bbfe3ac9fe\"\u003e\u003ccode\u003e68c575a\u003c/code\u003e\u003c/a\u003e Revise \u0026quot;Skip binding entirely when field is not allowed\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/cb320468dbc88f07b72d8a949b525c5ab911bd74\"\u003e\u003ccode\u003ecb32046\u003c/code\u003e\u003c/a\u003e Further clarify semantics of HttpMethod.valueOf()\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-framework/compare/v7.0.6...v7.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:spring-test` from 7.0.6 to 7.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-framework/releases\"\u003eorg.springframework:spring-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.0.7\u003c/h2\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove \u003ccode\u003eSpringValidatorAdapter\u003c/code\u003e and \u003ccode\u003eMethodValidationAdapter\u003c/code\u003e performance \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36621\"\u003e#36621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport JSON array decoding to \u003ccode\u003eFlux\u003c/code\u003e in \u003ccode\u003eKotlinSerializationJsonDecoder\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36597\"\u003e#36597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003emethodIdentification()\u003c/code\u003e in \u003ccode\u003eCacheAspectSupport\u003c/code\u003e for removal \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36575\"\u003e#36575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd MockRestServiceServer#createServer variant for RestClient \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36572\"\u003e#36572\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreate RestClientXhrTransport variant replacing RestTemplateXhrTransport \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36566\"\u003e#36566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove error handling in multipart codecs \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36563\"\u003e#36563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eApplicationListenerMethodAdapter#getTargetMethod()\u003c/code\u003e public \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36558\"\u003e#36558\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApiVersionConfigurer.setSupportedVersionPredicate() returns void instead of ApiVersionConfigurer \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36551\"\u003e#36551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazyConnectionDataSourceProxy does not work well with Hibernate's multi-tenancy by schema strategy \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36527\"\u003e#36527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd registerManagedResource variant with bean key argument to MBeanExporter \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36520\"\u003e#36520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle blank Accept-Language header in AcceptHeaderLocaleResolver \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36513\"\u003e#36513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake AbstractStreamingClientHttpRequest and AbstractBufferingClientHttpRequest public \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36501\"\u003e#36501\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySQL Error 149 (Galera/WSREP conflict) not translated to ConcurrencyFailureException in Spring JDBC/ORM \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36499\"\u003e#36499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd PreFlightRequestFilter \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36482\"\u003e#36482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport configuration of extension context scope for \u003ccode\u003eSpringExtension\u003c/code\u003e via Spring or JUnit properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36460\"\u003e#36460\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLower log level of \u0026quot;Cache miss for REQUEST dispatch\u0026quot; in HandlerMappingIntrospector \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36309\"\u003e#36309\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\u003eWebDataBinder unnecessarily instantiates collections when using the \u0026quot;!\u0026quot; and \u0026quot;_\u0026quot; prefixes \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36625\"\u003e#36625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCache pollution from high-cardinality FieldError default messages in MessageSourceSupport \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36609\"\u003e#36609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMergedAnnotation\u003c/code\u003e does not use \u003ccode\u003eClassLoader\u003c/code\u003e for method or field \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36606\"\u003e#36606\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@Sql\u003c/code\u003e fails if \u003ccode\u003eDataSource\u003c/code\u003e is wrapped in a \u003ccode\u003eTransactionAwareDataSourceProxy\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36611\"\u003e#36611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnnotatedTypeMetadata\u003c/code\u003e no longer retains source declaration order on Java 24+ \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36598\"\u003e#36598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMergedAnnotation.asMap()\u003c/code\u003e fails when an attribute references a non-existent class \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36586\"\u003e#36586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFileSystemResource\u003c/code\u003e does not strictly follow the \u003ccode\u003eResource#isReadable()\u003c/code\u003e contract \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36584\"\u003e#36584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConverter overrides in HttpMessageConverters only apply when defaults are registered \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36579\"\u003e#36579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInvalid method return type metadata for ClassFile variant on JDK 24+ \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36577\"\u003e#36577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Writer lifecycle for \u003ccode\u003eAbstractJsonHttpMessageConverter.writeInternal(Object, Type, Writer)\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36565\"\u003e#36565\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFlushing-related regression in \u003ccode\u003eSseServerResponse\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36537\"\u003e#36537\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazyConnectionDataSourceProxy does not pass on holdability to target Connection \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36528\"\u003e#36528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnnotationBeanNameGenerator\u003c/code\u003e fails when an annotation references a non-existent class \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36524\"\u003e#36524\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePerserve default API version in RestClientAdapter \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36514\"\u003e#36514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInconsistent codings resolution in resource resolvers \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36507\"\u003e#36507\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eDefaultJmsListenerContainer\u003c/code\u003e may hang in an endless loop in \u003ccode\u003edoShutdown\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36506\"\u003e#36506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eQuery not hidden in DefaultClientResponse checkpoint \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36502\"\u003e#36502\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestClient closes stream for ResponseEntity\u003c!-- raw HTML omitted --\u003e responses \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36492\"\u003e#36492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIllegalStateException when using websocket handshake headers with Tomcat \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36486\"\u003e#36486\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInvalid nullness information for ParameterizedTypeReference \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36477\"\u003e#36477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebTestClient cannot assert null list elements \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36476\"\u003e#36476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle Kotlin nullable value class param correctly in \u003ccode\u003eCoroutineUtils\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36449\"\u003e#36449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove RFC 2047 encoding from Content-Disposition filename \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36328\"\u003e#36328\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\u003eClarify semantics of HttpMethod.valueOf() \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36652\"\u003e#36652\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument whitespace semantics in SpEL expressions \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36628\"\u003e#36628\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-framework/commit/c997d4018d3dc6a7dde2e20eae3627599a01e169\"\u003e\u003ccode\u003ec997d40\u003c/code\u003e\u003c/a\u003e Release v7.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/91852546d92aeeae933ad77f8c938d4cfd9b0305\"\u003e\u003ccode\u003e9185254\u003c/code\u003e\u003c/a\u003e Upgrade to Reactor 2025.0.5 and Micrometer 1.16.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/802fa4d65e1f99c948a59629d4adcb4e3603e2cf\"\u003e\u003ccode\u003e802fa4d\u003c/code\u003e\u003c/a\u003e Refine RetryListener example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/7052da453285658215efc1dd5ecb0d472fde2de1\"\u003e\u003ccode\u003e7052da4\u003c/code\u003e\u003c/a\u003e Add doOnDiscard in MultipartHttpMessageReader\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/63817ce2021172338ce7900703678bfaee186a0a\"\u003e\u003ccode\u003e63817ce\u003c/code\u003e\u003c/a\u003e Add missing tests for WebRequestDataBinder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/61bd79017f7c4c3a4fafbb0da061376204593a68\"\u003e\u003ccode\u003e61bd790\u003c/code\u003e\u003c/a\u003e Polish WebRequestDataBinderTests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/ab6637c67024facf521e8f82c4bcb076308925a6\"\u003e\u003ccode\u003eab6637c\u003c/code\u003e\u003c/a\u003e Completely extract ServletRequestParameterPropertyValuesTests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/c9b88b4ebd47c7616816602204b106dd2c1275ef\"\u003e\u003ccode\u003ec9b88b4\u003c/code\u003e\u003c/a\u003e Extract ServletRequestParameterPropertyValuesTests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/68c575ab14057e04dba86beae64167bbfe3ac9fe\"\u003e\u003ccode\u003e68c575a\u003c/code\u003e\u003c/a\u003e Revise \u0026quot;Skip binding entirely when field is not allowed\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/cb320468dbc88f07b72d8a949b525c5ab911bd74\"\u003e\u003ccode\u003ecb32046\u003c/code\u003e\u003c/a\u003e Further clarify semantics of HttpMethod.valueOf()\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-framework/compare/v7.0.6...v7.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:spring-test` from 7.0.6 to 7.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-framework/releases\"\u003eorg.springframework:spring-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.0.7\u003c/h2\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove \u003ccode\u003eSpringValidatorAdapter\u003c/code\u003e and \u003ccode\u003eMethodValidationAdapter\u003c/code\u003e performance \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36621\"\u003e#36621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport JSON array decoding to \u003ccode\u003eFlux\u003c/code\u003e in \u003ccode\u003eKotlinSerializationJsonDecoder\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36597\"\u003e#36597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003emethodIdentification()\u003c/code\u003e in \u003ccode\u003eCacheAspectSupport\u003c/code\u003e for removal \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36575\"\u003e#36575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd MockRestServiceServer#createServer variant for RestClient \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36572\"\u003e#36572\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreate RestClientXhrTransport variant replacing RestTemplateXhrTransport \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36566\"\u003e#36566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove error handling in multipart codecs \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36563\"\u003e#36563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eApplicationListenerMethodAdapter#getTargetMethod()\u003c/code\u003e public \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36558\"\u003e#36558\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApiVersionConfigurer.setSupportedVersionPredicate() returns void instead of ApiVersionConfigurer \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36551\"\u003e#36551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazyConnectionDataSourceProxy does not work well with Hibernate's multi-tenancy by schema strategy \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36527\"\u003e#36527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd registerManagedResource variant with bean key argument to MBeanExporter \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36520\"\u003e#36520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle blank Accept-Language header in AcceptHeaderLocaleResolver \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36513\"\u003e#36513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake AbstractStreamingClientHttpRequest and AbstractBufferingClientHttpRequest public \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36501\"\u003e#36501\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySQL Error 149 (Galera/WSREP conflict) not translated to ConcurrencyFailureException in Spring JDBC/ORM \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36499\"\u003e#36499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd PreFlightRequestFilter \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36482\"\u003e#36482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport configuration of extension context scope for \u003ccode\u003eSpringExtension\u003c/code\u003e via Spring or JUnit properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36460\"\u003e#36460\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLower log level of \u0026quot;Cache miss for REQUEST dispatch\u0026quot; in HandlerMappingIntrospector \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36309\"\u003e#36309\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\u003eWebDataBinder unnecessarily instantiates collections when using the \u0026quot;!\u0026quot; and \u0026quot;_\u0026quot; prefixes \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36625\"\u003e#36625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCache pollution from high-cardinality FieldError default messages in MessageSourceSupport \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36609\"\u003e#36609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMergedAnnotation\u003c/code\u003e does not use \u003ccode\u003eClassLoader\u003c/code\u003e for method or field \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36606\"\u003e#36606\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@Sql\u003c/code\u003e fails if \u003ccode\u003eDataSource\u003c/code\u003e is wrapped in a \u003ccode\u003eTransactionAwareDataSourceProxy\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36611\"\u003e#36611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnnotatedTypeMetadata\u003c/code\u003e no longer retains source declaration order on Java 24+ \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36598\"\u003e#36598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMergedAnnotation.asMap()\u003c/code\u003e fails when an attribute references a non-existent class \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36586\"\u003e#36586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFileSystemResource\u003c/code\u003e does not strictly follow the \u003ccode\u003eResource#isReadable()\u003c/code\u003e contract \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36584\"\u003e#36584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConverter overrides in HttpMessageConverters only apply when defaults are registered \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36579\"\u003e#36579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInvalid method return type metadata for ClassFile variant on JDK 24+ \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36577\"\u003e#36577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Writer lifecycle for \u003ccode\u003eAbstractJsonHttpMessageConverter.writeInternal(Object, Type, Writer)\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36565\"\u003e#36565\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFlushing-related regression in \u003ccode\u003eSseServerResponse\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36537\"\u003e#36537\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazyConnectionDataSourceProxy does not pass on holdability to target Connection \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36528\"\u003e#36528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnnotationBeanNameGenerator\u003c/code\u003e fails when an annotation references a non-existent class \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36524\"\u003e#36524\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePerserve default API version in RestClientAdapter \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36514\"\u003e#36514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInconsistent codings resolution in resource resolvers \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36507\"\u003e#36507\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eDefaultJmsListenerContainer\u003c/code\u003e may hang in an endless loop in \u003ccode\u003edoShutdown\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36506\"\u003e#36506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eQuery not hidden in DefaultClientResponse checkpoint \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36502\"\u003e#36502\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestClient closes stream for ResponseEntity\u003c!-- raw HTML omitted --\u003e responses \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36492\"\u003e#36492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIllegalStateException when using websocket handshake headers with Tomcat \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36486\"\u003e#36486\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInvalid nullness information for ParameterizedTypeReference \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36477\"\u003e#36477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebTestClient cannot assert null list elements \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36476\"\u003e#36476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle Kotlin nullable value class param correctly in \u003ccode\u003eCoroutineUtils\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36449\"\u003e#36449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove RFC 2047 encoding from Content-Disposition filename \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36328\"\u003e#36328\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\u003eClarify semantics of HttpMethod.valueOf() \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36652\"\u003e#36652\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument whitespace semantics in SpEL expressions \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36628\"\u003e#36628\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-framework/commit/c997d4018d3dc6a7dde2e20eae3627599a01e169\"\u003e\u003ccode\u003ec997d40\u003c/code\u003e\u003c/a\u003e Release v7.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/91852546d92aeeae933ad77f8c938d4cfd9b0305\"\u003e\u003ccode\u003e9185254\u003c/code\u003e\u003c/a\u003e Upgrade to Reactor 2025.0.5 and Micrometer 1.16.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/802fa4d65e1f99c948a59629d4adcb4e3603e2cf\"\u003e\u003ccode\u003e802fa4d\u003c/code\u003e\u003c/a\u003e Refine RetryListener example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/7052da453285658215efc1dd5ecb0d472fde2de1\"\u003e\u003ccode\u003e7052da4\u003c/code\u003e\u003c/a\u003e Add doOnDiscard in MultipartHttpMessageReader\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/63817ce2021172338ce7900703678bfaee186a0a\"\u003e\u003ccode\u003e63817ce\u003c/code\u003e\u003c/a\u003e Add missing tests for WebRequestDataBinder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/61bd79017f7c4c3a4fafbb0da061376204593a68\"\u003e\u003ccode\u003e61bd790\u003c/code\u003e\u003c/a\u003e Polish WebRequestDataBinderTests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/ab6637c67024facf521e8f82c4bcb076308925a6\"\u003e\u003ccode\u003eab6637c\u003c/code\u003e\u003c/a\u003e Completely extract ServletRequestParameterPropertyValuesTests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/c9b88b4ebd47c7616816602204b106dd2c1275ef\"\u003e\u003ccode\u003ec9b88b4\u003c/code\u003e\u003c/a\u003e Extract ServletRequestParameterPropertyValuesTests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/68c575ab14057e04dba86beae64167bbfe3ac9fe\"\u003e\u003ccode\u003e68c575a\u003c/code\u003e\u003c/a\u003e Revise \u0026quot;Skip binding entirely when field is not allowed\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/cb320468dbc88f07b72d8a949b525c5ab911bd74\"\u003e\u003ccode\u003ecb32046\u003c/code\u003e\u003c/a\u003e Further clarify semantics of HttpMethod.valueOf()\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-framework/compare/v7.0.6...v7.0.7\"\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/folio-org/mod-finance/pull/361","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/folio-org%2Fmod-finance/issues/361","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/361/packages"},{"uuid":"4513607424","node_id":"PR_kwDORhK5Oc7e32QQ","number":45,"state":"open","title":"Bump the gradle-minor-and-patch group with 16 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-25T01:16:22.000Z","updated_at":"2026-05-25T01:22:23.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"gradle-minor-and-patch","update_count":16,"packages":[{"name":"org.springframework.boot:spring-boot-dependencies","old_version":"4.0.5","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.assertj:assertj-core","old_version":"3.27.3","new_version":"3.27.7","repository_url":"https://github.com/assertj/assertj"},{"name":"org.springframework.boot","old_version":"4.0.5","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.cyclonedx.bom","old_version":"3.2.2","new_version":"3.2.4"},{"name":"com.autonomousapps.build-health","old_version":"3.6.1","new_version":"3.13.0","repository_url":"https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin"},{"name":"me.champeau.jmh","old_version":"0.7.2","new_version":"0.7.3"},{"name":"io.grpc:grpc-netty-shaded","old_version":"1.80.0","new_version":"1.81.0","repository_url":"https://github.com/grpc/grpc-java"},{"name":"io.grpc:grpc-protobuf","old_version":"1.80.0","new_version":"1.81.0","repository_url":"https://github.com/grpc/grpc-java"},{"name":"io.grpc:grpc-stub","old_version":"1.80.0","new_version":"1.81.0","repository_url":"https://github.com/grpc/grpc-java"},{"name":"io.grpc:grpc-inprocess","old_version":"1.80.0","new_version":"1.81.0","repository_url":"https://github.com/grpc/grpc-java"},{"name":"io.grpc:protoc-gen-grpc-java","old_version":"1.80.0","new_version":"1.81.0","repository_url":"https://github.com/grpc/grpc-java"},{"name":"com.google.protobuf:protobuf-java","old_version":"4.29.3","new_version":"4.35.0","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"com.google.protobuf:protoc","old_version":"4.29.3","new_version":"4.35.0","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"com.google.protobuf","old_version":"0.9.6","new_version":"0.10.0"},{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-minor-and-patch group with 16 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.springframework.boot:spring-boot-dependencies](https://github.com/spring-projects/spring-boot) | `4.0.5` | `4.0.6` |\n| [org.assertj:assertj-core](https://github.com/assertj/assertj) | `3.27.3` | `3.27.7` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.5` | `4.0.6` |\n| org.cyclonedx.bom | `3.2.2` | `3.2.4` |\n| [com.autonomousapps.build-health](https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin) | `3.6.1` | `3.13.0` |\n| me.champeau.jmh | `0.7.2` | `0.7.3` |\n| [io.grpc:grpc-netty-shaded](https://github.com/grpc/grpc-java) | `1.80.0` | `1.81.0` |\n| [io.grpc:grpc-protobuf](https://github.com/grpc/grpc-java) | `1.80.0` | `1.81.0` |\n| [io.grpc:grpc-stub](https://github.com/grpc/grpc-java) | `1.80.0` | `1.81.0` |\n| [io.grpc:grpc-inprocess](https://github.com/grpc/grpc-java) | `1.80.0` | `1.81.0` |\n| [io.grpc:protoc-gen-grpc-java](https://github.com/grpc/grpc-java) | `1.80.0` | `1.81.0` |\n| [com.google.protobuf:protobuf-java](https://github.com/protocolbuffers/protobuf) | `4.29.3` | `4.35.0` |\n| [com.google.protobuf:protoc](https://github.com/protocolbuffers/protobuf) | `4.29.3` | `4.35.0` |\n| com.google.protobuf | `0.9.6` | `0.10.0` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.2.3` | `3.2.4` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.1` |\n\nUpdates `org.springframework.boot:spring-boot-dependencies` from 4.0.5 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot:spring-boot-dependencies's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnversRevisionRepositoriesRegistrar should reuse \u003ccode\u003e@EnableEnversRepositories\u003c/code\u003e rather than configuring the JPA counterpart \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50039\"\u003e#50039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebFlux Cloud Foundry links endpoint includes query string from received request in resolved links \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50017\"\u003e#50017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImports on a containing test class are ignored when a nested class has imports \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50012\"\u003e#50012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49951\"\u003e#49951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e500 response from env endpoint when supplied pattern is invalid \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49946\"\u003e#49946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49945\"\u003e#49945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP method is lost when configuring excludes in EndpointRequest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49943\"\u003e#49943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor HttpMethod for reactive additional endpoint paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49880\"\u003e#49880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/artemis image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49869\"\u003e#49869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/activemq image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49866\"\u003e#49866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49854\"\u003e#49854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI versioning path strategy should be applied path last as it is not meant to yield \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49800\"\u003e#49800\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs to encourage Java fundamentals for beginners that prefer to learn that way \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50146\"\u003e#50146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP Service Interface Clients still document that API versioning can be configured via properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50126\"\u003e#50126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the observability section of the Lettuce documentation is broken \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50097\"\u003e#50097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJavadoc for StaticResourceLocation.FAVICON doesn't describe icons location \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50085\"\u003e#50085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySamlRelyingPartyConfiguration is missing a Kotlin sample \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50024\"\u003e#50024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect default value for management.httpexchanges.recording.include in configuration metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50019\"\u003e#50019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the Kubernetes documentation when discussing startup probes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50015\"\u003e#50015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in JdbcSessionAutoConfiguration Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49873\"\u003e#49873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify that configuration property default values are not available through the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49851\"\u003e#49851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument the need for Liquibase and Flyway starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49839\"\u003e#49839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKafka documentation refers to deprecated JSON serializer and deserializer classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49826\"\u003e#49826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Elasticsearch Client 9.2.8 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50027\"\u003e#50027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Groovy 5.0.5 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49911\"\u003e#49911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Hibernate 7.2.12.Final \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50134\"\u003e#50134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Jackson Bom 3.1.2 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50051\"\u003e#50051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1\"\u003eJaxen 2.0.1\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50104\"\u003e#50104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5\"\u003eJaybird 6.0.5\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49914\"\u003e#49914\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/8821ad2cd381bb4b9615a61479e1de7305a8ba39\"\u003e\u003ccode\u003e8821ad2\u003c/code\u003e\u003c/a\u003e Release v4.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9e4048a03f17adfe78057a3c4d5b4693305c0ae0\"\u003e\u003ccode\u003e9e4048a\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/20bb11c3984802990572ddbeae8b66885a8f2462\"\u003e\u003ccode\u003e20bb11c\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.15-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/98daa8ea30f39a5b0ca6768b5cbc2dc8698ef4e1\"\u003e\u003ccode\u003e98daa8e\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9dc5aa2863f598a15d3dfa116f4b89249daba7e7\"\u003e\u003ccode\u003e9dc5aa2\u003c/code\u003e\u003c/a\u003e Polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/874f6294b91da18367b8b5ab7b2fad3fa23cfba6\"\u003e\u003ccode\u003e874f629\u003c/code\u003e\u003c/a\u003e Fix default security with actuator but without health\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/e41b3bf731d1134bc18ec1f68ac01e0fe1c54923\"\u003e\u003ccode\u003ee41b3bf\u003c/code\u003e\u003c/a\u003e Enable hostname verification for SSL connections to Elasticsearch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ef8527bb0ef8f564f4f9c57a7be99a7aa96c6ab0\"\u003e\u003ccode\u003eef8527b\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f533a4549c3999aac30cb5830f07dc304933e93d\"\u003e\u003ccode\u003ef533a45\u003c/code\u003e\u003c/a\u003e Do not follow symlinks when writing PID file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4a7bd332b6d19fef1aa4cf28434985f2b03a2e0f\"\u003e\u003ccode\u003e4a7bd33\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.5...v4.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.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 `org.springframework.boot` from 4.0.5 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnversRevisionRepositoriesRegistrar should reuse \u003ccode\u003e@EnableEnversRepositories\u003c/code\u003e rather than configuring the JPA counterpart \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50039\"\u003e#50039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebFlux Cloud Foundry links endpoint includes query string from received request in resolved links \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50017\"\u003e#50017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImports on a containing test class are ignored when a nested class has imports \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50012\"\u003e#50012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49951\"\u003e#49951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e500 response from env endpoint when supplied pattern is invalid \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49946\"\u003e#49946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49945\"\u003e#49945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP method is lost when configuring excludes in EndpointRequest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49943\"\u003e#49943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor HttpMethod for reactive additional endpoint paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49880\"\u003e#49880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/artemis image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49869\"\u003e#49869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/activemq image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49866\"\u003e#49866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49854\"\u003e#49854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI versioning path strategy should be applied path last as it is not meant to yield \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49800\"\u003e#49800\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs to encourage Java fundamentals for beginners that prefer to learn that way \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50146\"\u003e#50146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP Service Interface Clients still document that API versioning can be configured via properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50126\"\u003e#50126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the observability section of the Lettuce documentation is broken \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50097\"\u003e#50097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJavadoc for StaticResourceLocation.FAVICON doesn't describe icons location \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50085\"\u003e#50085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySamlRelyingPartyConfiguration is missing a Kotlin sample \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50024\"\u003e#50024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect default value for management.httpexchanges.recording.include in configuration metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50019\"\u003e#50019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the Kubernetes documentation when discussing startup probes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50015\"\u003e#50015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in JdbcSessionAutoConfiguration Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49873\"\u003e#49873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify that configuration property default values are not available through the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49851\"\u003e#49851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument the need for Liquibase and Flyway starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49839\"\u003e#49839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKafka documentation refers to deprecated JSON serializer and deserializer classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49826\"\u003e#49826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Elasticsearch Client 9.2.8 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50027\"\u003e#50027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Groovy 5.0.5 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49911\"\u003e#49911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Hibernate 7.2.12.Final \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50134\"\u003e#50134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Jackson Bom 3.1.2 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50051\"\u003e#50051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1\"\u003eJaxen 2.0.1\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50104\"\u003e#50104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5\"\u003eJaybird 6.0.5\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49914\"\u003e#49914\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/8821ad2cd381bb4b9615a61479e1de7305a8ba39\"\u003e\u003ccode\u003e8821ad2\u003c/code\u003e\u003c/a\u003e Release v4.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9e4048a03f17adfe78057a3c4d5b4693305c0ae0\"\u003e\u003ccode\u003e9e4048a\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/20bb11c3984802990572ddbeae8b66885a8f2462\"\u003e\u003ccode\u003e20bb11c\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.15-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/98daa8ea30f39a5b0ca6768b5cbc2dc8698ef4e1\"\u003e\u003ccode\u003e98daa8e\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9dc5aa2863f598a15d3dfa116f4b89249daba7e7\"\u003e\u003ccode\u003e9dc5aa2\u003c/code\u003e\u003c/a\u003e Polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/874f6294b91da18367b8b5ab7b2fad3fa23cfba6\"\u003e\u003ccode\u003e874f629\u003c/code\u003e\u003c/a\u003e Fix default security with actuator but without health\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/e41b3bf731d1134bc18ec1f68ac01e0fe1c54923\"\u003e\u003ccode\u003ee41b3bf\u003c/code\u003e\u003c/a\u003e Enable hostname verification for SSL connections to Elasticsearch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ef8527bb0ef8f564f4f9c57a7be99a7aa96c6ab0\"\u003e\u003ccode\u003eef8527b\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f533a4549c3999aac30cb5830f07dc304933e93d\"\u003e\u003ccode\u003ef533a45\u003c/code\u003e\u003c/a\u003e Do not follow symlinks when writing PID file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4a7bd332b6d19fef1aa4cf28434985f2b03a2e0f\"\u003e\u003ccode\u003e4a7bd33\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.5...v4.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.cyclonedx.bom` from 3.2.2 to 3.2.4\n\nUpdates `com.autonomousapps.build-health` from 3.6.1 to 3.13.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/autonomousapps/dependency-analysis-gradle-plugin/blob/main/CHANGELOG.md\"\u003ecom.autonomousapps.build-health's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eVersion 3.13.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e[feat]: new \u003ccode\u003ecomputeTypeUsage\u0026lt;variant\u0026gt;\u003c/code\u003e task generates usage report.\u003c/li\u003e\n\u003cli\u003e[fix]: when computing actual usages, actually look at the runtime graph.\u003c/li\u003e\n\u003cli\u003e[refactor]: use Graphs wrapper instead of Guava directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eVersion 3.12.2\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e[fix]: The new \u0026quot;exceptions are special\u0026quot; (in v3.12.0) handling was over-eager and flagging things that only referenced\nexceptions. We only want to flag things that provide the exception types.\u003c/li\u003e\n\u003cli\u003e[fix]: \u003ccode\u003eMutableSet\u0026lt;Usage\u0026gt;.simplify(visibility, bucket)\u003c/code\u003e in \u003ccode\u003eStandardTransform\u003c/code\u003e wasn't properly handling the case when\na usage was visible on both compile and runtime classpaths. In such a case, we can filter out all usages.\u003c/li\u003e\n\u003cli\u003e[fix]: reason output said \u0026quot;implies implementation\u0026quot; when it should have been \u0026quot;implies runtimeOnly\u0026quot; in the android lint\njar case.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eVersion 3.12.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e[fix]: don't suggest non-existent Android unit test variant in advice.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eVersion 3.12.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e[feat]: exceptions are special. Exceptions get verified early by the JVM and so if a dependency is missing an\nexception's type from the runtime classpath, that can cause failures in the consumer at runtime.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eVersion 3.11.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e[fix]: when following a bundle rule, don't drop \u003ccode\u003eapi\u003c/code\u003e dependencies.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eVersion 3.10.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e[feat]: Gradle plugin markers are the preferred way to depend on a plugin.\u003c/li\u003e\n\u003cli\u003e[feat]: Gradle plugin markers are part of an implicit bundle.\u003c/li\u003e\n\u003cli\u003e[fix]: handle \u003ccode\u003edependencies\u003c/code\u003e blocks that have a single line.\u003c/li\u003e\n\u003cli\u003e[docs]: add 'partial analysis' section to readme.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eVersion 3.9.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e(Reverted) Compiled against Kotlin 2.3.20. Compiling against Kotlin 2.2.21 again, with language level 2.2.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eVersion 3.8.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e[feat]: record lambda in binaryClassAccesses.\u003c/li\u003e\n\u003cli\u003e[feat]: support analysis of a Gradle version catalog dependency.\u003c/li\u003e\n\u003cli\u003e[feat]: remove unused 'file' property.\u003c/li\u003e\n\u003cli\u003eCompiled against Kotlin 2.3.20.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eVersion 3.7.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e[feat]: Expose useParenthesesForGroovy configuration for Groovy DSL syntax control.\u003c/li\u003e\n\u003cli\u003e[fix]: fix regex for excluding all *Generated annotations.\u003c/li\u003e\n\u003cli\u003e[fix]: don't attempt to suggest upgrading an undeclared 'parent' dependency of a KMP dependency.\u003c/li\u003e\n\u003cli\u003e[fix]: the 'androidMain' source set is special.\u003c/li\u003e\n\u003cli\u003e[chore]: Compiled against Kotlin 2.2 and Gradle 9.4.1.\u003c/li\u003e\n\u003cli\u003e[chore]: add Code of Conduct.\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/autonomousapps/dependency-analysis-gradle-plugin/commit/e5e693e72353a43178c95175120d7838ffe52d47\"\u003e\u003ccode\u003ee5e693e\u003c/code\u003e\u003c/a\u003e chore: prepare for release 3.13.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/autonomousapps/dependency-analysis-gradle-plugin/commit/22ec67b552c3e3098a5d6905132225c00131cdc0\"\u003e\u003ccode\u003e22ec67b\u003c/code\u003e\u003c/a\u003e refactor: use Graphs wrapper instead of Guava directly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/autonomousapps/dependency-analysis-gradle-plugin/commit/843e01b51ccb040f8e65a6cc260652890e608ebb\"\u003e\u003ccode\u003e843e01b\u003c/code\u003e\u003c/a\u003e fix: when computing actual usages, actually look at the runtime graph.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/autonomousapps/dependency-analysis-gradle-plugin/commit/c969969a0fef0cfdc4c983a6b77c220ff04706e9\"\u003e\u003ccode\u003ec969969\u003c/code\u003e\u003c/a\u003e feat: new computeTypeUsage task generates usage report.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/autonomousapps/dependency-analysis-gradle-plugin/commit/dfaca3a56b4a130db6b10053f39b3d0af83a6e56\"\u003e\u003ccode\u003edfaca3a\u003c/code\u003e\u003c/a\u003e chore: prepare next development version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/autonomousapps/dependency-analysis-gradle-plugin/commit/e20532abb3f0d59db7a889c209f60b1e52fd0cc6\"\u003e\u003ccode\u003ee20532a\u003c/code\u003e\u003c/a\u003e chore: prepare for release 3.12.2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/autonomousapps/dependency-analysis-gradle-plugin/commit/5e3eb8c04fe5dc43fd67d94c39bf1b8f2f645fc6\"\u003e\u003ccode\u003e5e3eb8c\u003c/code\u003e\u003c/a\u003e fix: exceptions, main-\u0026gt;test visibility, reason for android lint jars.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/autonomousapps/dependency-analysis-gradle-plugin/commit/99b10f8ba8584084fd9aa1dacc9139691c9272d3\"\u003e\u003ccode\u003e99b10f8\u003c/code\u003e\u003c/a\u003e chore: prepare next development version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/autonomousapps/dependency-analysis-gradle-plugin/commit/e309436c7ae881f6f23d26f7276c654b85c6bde4\"\u003e\u003ccode\u003ee309436\u003c/code\u003e\u003c/a\u003e chore: prepare for release 3.12.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/autonomousapps/dependency-analysis-gradle-plugin/commit/a5c2c442796a4e3ec4e8cffb9a77f30d6ae84547\"\u003e\u003ccode\u003ea5c2c44\u003c/code\u003e\u003c/a\u003e test: fix the remaining broken Android functional tests on earlier versions o...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin/compare/v3.6.1...v3.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `me.champeau.jmh` from 0.7.2 to 0.7.3\n\nUpdates `io.grpc:grpc-netty-shaded` from 1.80.0 to 1.81.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/grpc/grpc-java/releases\"\u003eio.grpc:grpc-netty-shaded's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eV1.81.0\u003c/h2\u003e\n\u003cp\u003eIn this release we drop support for Android API level 22 or lower (Lollipop or earlier), following Google Play Service’s \u003ca href=\"https://developers.google.com/android/guides/setup\"\u003ediscontinued updates for Lollipop (API levels 21 \u0026amp; 22)\u003c/a\u003e and now requires a minimum of API level 23 (Android 6.0 Marshmallow).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAPI Changes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eapi: Deprecate LoadBalancer.handleResolvedAddresses(). Developers maintaining custom LoadBalancer implementations should transition to using LoadBalancer.acceptResolvedAddresses(). Unlike the deprecated method, acceptResolvedAddresses() returns a Status object, allowing the load balancer to explicitly report success or reject the update if the provided addresses or configuration are invalid. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/11623\"\u003e#11623\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBehavior Changes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ecore: Enable dns \u0026quot;caching\u0026quot; on Android for 30 seconds to reduce CPU impact of a refresh loop with an LB policy (0675f70af). DnsNameResolver ignores re-resolution requests on OpenJDK-like platforms if it has been too soon since the last DNS query because InetAddress.getAllByName() has a cache with a fixed entry lifetime, but this logic was disabled for Android which does not have that style of cache. Android’s cache uses the result TTL, which will rarely be less than 30 seconds. This change would probably be most noticeable when 1) changing to a different network (e.g., from wifi to mobile), 2) the server has different addresses for different networks, and 3) the app is not using AndroidChannelBuilder with an \u003ccode\u003eandroid.context.Context\u003c/code\u003e. For reference, it seems Chrome caches for 1 minute\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug Fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eopentelemetry: Fix baggage propagation, the baggage propagation for opentelemetry introduced in \u003ca href=\"https://redirect.github.com/grpc/grpc-java/pull/12389\"\u003e#12389\u003c/a\u003e was broken. The context is decided once and used for all recording for the call, thus guaranteeing all record()s have consistent information.\u003c/li\u003e\n\u003cli\u003ecore: Address a race condition where \u003ccode\u003eManagedChannelOrphanWrapper\u003c/code\u003e could incorrectly log a \u0026quot;not shutdown properly\u0026quot; warning during garbage collection when using directExecutor(). (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12705\"\u003e#12705\u003c/a\u003e) (d459338d9)\u003c/li\u003e\n\u003cli\u003exds: Fix xDS HTTP CONNECT's transport socket name bug which is now corrected to use \u003ccode\u003etypeUrl\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12740\"\u003e#12740\u003c/a\u003e) (eac9fe961)\u003c/li\u003e\n\u003cli\u003exds: Fix an issue where subchannel metrics were dropping their association with the \u003ccode\u003ebackend_service\u003c/code\u003e. This ensures xDS load balancing metrics are reported accurately. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12735\"\u003e#12735\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eNew Features\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003enetty: Add tcp metrics, by implementing a few of the metrics defined in \u003ca href=\"https://redirect.github.com/grpc/proposal/pull/519\"\u003eA80\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eapi: Add a CallOption for a custom label on per-RPC metrics (0e39b2967). This CallOption is copied by grpc-opentelemetry to the \u003ccode\u003egrpc.client.call.custom\u003c/code\u003e label as defined by \u003ca href=\"https://github.com/grpc/proposal/blob/master/A108-otel-custom-per-call-label.md\"\u003egRFC A108\u003c/a\u003e. See also the \u003ca href=\"https://grpc.io/docs/guides/opentelemetry-metrics/\"\u003egRPC OpenTelemetry Metrics guide\u003c/a\u003e (update \u003ca href=\"https://redirect.github.com/grpc/grpc.io/pull/1505\"\u003ein-progress\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003exds: Add support for Weighted Round Robin (WRR) load balancing driven by custom backend metrics, implementing the behavior defined in gRFC A114. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12645\"\u003e#12645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eutils: Update \u003ccode\u003eAdvancedTlsX509KeyManager\u003c/code\u003e so that developers can now preserve and use key aliases when dynamically reloading TLS certificates. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12686\"\u003e#12686\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate the \u0026quot;Outgoing Flow Control\u0026quot; section in the Manual Flow Control example to say onNext() does not block, but rather queues the messages in memory and advises developers to use CallStreamObserver.isReady() to prevent this memory exhaustion (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12700\"\u003e#12700\u003c/a\u003e) (a3a9ffcbe) (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12726\"\u003e#12726\u003c/a\u003e) (65ae2efda)\u003c/li\u003e\n\u003cli\u003eexamples: Clean up Health example, and document need for grpc-services (3ed732fc0)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDependencies\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Dependencies (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12719\"\u003e#12719\u003c/a\u003e) (16e17abba). Google-auth-library: 1.42.1, animal-sniffer: 1.27, assertj-core:3.27.7, error_prone_annotations:2.48.0, proto-google-common-protos:2.64.1, google-cloud-logging:3.23.10, jetty-http2-server:12.1.7, jetty-ee10-servlet:12.1.7, lincheck:3.4, opentelemetry-api:1.60.1, opentelemetry-exporter-prometheus:1.60.1-alpha, opentelemetry-gcp-resources:1.54.0-alpha, opentelemetry-sdk-extension-autoconfigure:1.60.1, opentelemetry-sdk-testing:1.60.1, robolectric:4.16.1, tomcat-embed-core:10.1.52, tomcat-embed-core9: 9.0.115,\u003c/li\u003e\n\u003cli\u003eUpgrade Netty to 4.1.132 and netty-tcnative to 2.0.75 (1528f809c)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eThanks to\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/becomeStar\"\u003e\u003ccode\u003e@​becomeStar\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benjaminp\"\u003e\u003ccode\u003e@​benjaminp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JoeCqupt\"\u003e\u003ccode\u003e@​JoeCqupt\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kainsin\"\u003e\u003ccode\u003e@​Kainsin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/merlimat\"\u003e\u003ccode\u003e@​merlimat\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SreeramdasLavanya\"\u003e\u003ccode\u003e@​SreeramdasLavanya\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/themechbro\"\u003e\u003ccode\u003e@​themechbro\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zhangweikop\"\u003e\u003ccode\u003e@​zhangweikop\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/6951542f66c59f63cbf5348b38a2306a3964adda\"\u003e\u003ccode\u003e6951542\u003c/code\u003e\u003c/a\u003e Bump version to 1.81.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/e94188e81298c36ac9654dc76025940171abc0a4\"\u003e\u003ccode\u003ee94188e\u003c/code\u003e\u003c/a\u003e Update README etc to reference 1.81.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/4813c6d06089d49a479f7f1786297dc3d8c0e549\"\u003e\u003ccode\u003e4813c6d\u003c/code\u003e\u003c/a\u003e core,xds: Fix backend_service plumbing for subchannel metrics (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12735\"\u003e#12735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/6737eb583a273dd13bf9e7b82cc1d9df75e551bd\"\u003e\u003ccode\u003e6737eb5\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Replace javax ThreadSafe annotation with errorprone ThreadSafe (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/1274\"\u003e#1274\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/ef3531325ba98fa043f6f7f16fa0715e9296d7a3\"\u003e\u003ccode\u003eef35313\u003c/code\u003e\u003c/a\u003e Replace javax ThreadSafe annotation with errorprone ThreadSafe (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12742\"\u003e#12742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/3ed732fc09c41b185cd03fdd6864c4ebb82f3a80\"\u003e\u003ccode\u003e3ed732f\u003c/code\u003e\u003c/a\u003e examples: Clean up Health, and document need for grpc-services\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/eac9fe9612881d54d51ddc5496599ba9a8201021\"\u003e\u003ccode\u003eeac9fe9\u003c/code\u003e\u003c/a\u003e xds: fix xDS HTTP CONNECT's transport socket name bug (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12740\"\u003e#12740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/1528f809c9e506cf2e7052e3f41fd8b75636d3d3\"\u003e\u003ccode\u003e1528f80\u003c/code\u003e\u003c/a\u003e Upgrade Netty to 4.1.132 and netty-tcnative to 2.0.75\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/d057a7ebee2945fc0a9ca58b36afdb5b37a99680\"\u003e\u003ccode\u003ed057a7e\u003c/code\u003e\u003c/a\u003e [xds] Implement A114: WRR support for custom backend metrics (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12645\"\u003e#12645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/842636f88452c30769a5561f7659db6e4f9fc2a0\"\u003e\u003ccode\u003e842636f\u003c/code\u003e\u003c/a\u003e xds: Add configuration objects for ExtAuthz, GrpcService and Bootstrap change...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/grpc/grpc-java/compare/v1.80.0...v1.81.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.grpc:grpc-protobuf` from 1.80.0 to 1.81.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/grpc/grpc-java/releases\"\u003eio.grpc:grpc-protobuf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eV1.81.0\u003c/h2\u003e\n\u003cp\u003eIn this release we drop support for Android API level 22 or lower (Lollipop or earlier), following Google Play Service’s \u003ca href=\"https://developers.google.com/android/guides/setup\"\u003ediscontinued updates for Lollipop (API levels 21 \u0026amp; 22)\u003c/a\u003e and now requires a minimum of API level 23 (Android 6.0 Marshmallow).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAPI Changes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eapi: Deprecate LoadBalancer.handleResolvedAddresses(). Developers maintaining custom LoadBalancer implementations should transition to using LoadBalancer.acceptResolvedAddresses(). Unlike the deprecated method, acceptResolvedAddresses() returns a Status object, allowing the load balancer to explicitly report success or reject the update if the provided addresses or configuration are invalid. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/11623\"\u003e#11623\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBehavior Changes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ecore: Enable dns \u0026quot;caching\u0026quot; on Android for 30 seconds to reduce CPU impact of a refresh loop with an LB policy (0675f70af). DnsNameResolver ignores re-resolution requests on OpenJDK-like platforms if it has been too soon since the last DNS query because InetAddress.getAllByName() has a cache with a fixed entry lifetime, but this logic was disabled for Android which does not have that style of cache. Android’s cache uses the result TTL, which will rarely be less than 30 seconds. This change would probably be most noticeable when 1) changing to a different network (e.g., from wifi to mobile), 2) the server has different addresses for different networks, and 3) the app is not using AndroidChannelBuilder with an \u003ccode\u003eandroid.context.Context\u003c/code\u003e. For reference, it seems Chrome caches for 1 minute\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug Fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eopentelemetry: Fix baggage propagation, the baggage propagation for opentelemetry introduced in \u003ca href=\"https://redirect.github.com/grpc/grpc-java/pull/12389\"\u003e#12389\u003c/a\u003e was broken. The context is decided once and used for all recording for the call, thus guaranteeing all record()s have consistent information.\u003c/li\u003e\n\u003cli\u003ecore: Address a race condition where \u003ccode\u003eManagedChannelOrphanWrapper\u003c/code\u003e could incorrectly log a \u0026quot;not shutdown properly\u0026quot; warning during garbage collection when using directExecutor(). (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12705\"\u003e#12705\u003c/a\u003e) (d459338d9)\u003c/li\u003e\n\u003cli\u003exds: Fix xDS HTTP CONNECT's transport socket name bug which is now corrected to use \u003ccode\u003etypeUrl\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12740\"\u003e#12740\u003c/a\u003e) (eac9fe961)\u003c/li\u003e\n\u003cli\u003exds: Fix an issue where subchannel metrics were dropping their association with the \u003ccode\u003ebackend_service\u003c/code\u003e. This ensures xDS load balancing metrics are reported accurately. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12735\"\u003e#12735\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eNew Features\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003enetty: Add tcp metrics, by implementing a few of the metrics defined in \u003ca href=\"https://redirect.github.com/grpc/proposal/pull/519\"\u003eA80\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eapi: Add a CallOption for a custom label on per-RPC metrics (0e39b2967). This CallOption is copied by grpc-opentelemetry to the \u003ccode\u003egrpc.client.call.custom\u003c/code\u003e label as defined by \u003ca href=\"https://github.com/grpc/proposal/blob/master/A108-otel-custom-per-call-label.md\"\u003egRFC A108\u003c/a\u003e. See also the \u003ca href=\"https://grpc.io/docs/guides/opentelemetry-metrics/\"\u003egRPC OpenTelemetry Metrics guide\u003c/a\u003e (update \u003ca href=\"https://redirect.github.com/grpc/grpc.io/pull/1505\"\u003ein-progress\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003exds: Add support for Weighted Round Robin (WRR) load balancing driven by custom backend metrics, implementing the behavior defined in gRFC A114. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12645\"\u003e#12645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eutils: Update \u003ccode\u003eAdvancedTlsX509KeyManager\u003c/code\u003e so that developers can now preserve and use key aliases when dynamically reloading TLS certificates. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12686\"\u003e#12686\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate the \u0026quot;Outgoing Flow Control\u0026quot; section in the Manual Flow Control example to say onNext() does not block, but rather queues the messages in memory and advises developers to use CallStreamObserver.isReady() to prevent this memory exhaustion (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12700\"\u003e#12700\u003c/a\u003e) (a3a9ffcbe) (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12726\"\u003e#12726\u003c/a\u003e) (65ae2efda)\u003c/li\u003e\n\u003cli\u003eexamples: Clean up Health example, and document need for grpc-services (3ed732fc0)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDependencies\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Dependencies (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12719\"\u003e#12719\u003c/a\u003e) (16e17abba). Google-auth-library: 1.42.1, animal-sniffer: 1.27, assertj-core:3.27.7, error_prone_annotations:2.48.0, proto-google-common-protos:2.64.1, google-cloud-logging:3.23.10, jetty-http2-server:12.1.7, jetty-ee10-servlet:12.1.7, lincheck:3.4, opentelemetry-api:1.60.1, opentelemetry-exporter-prometheus:1.60.1-alpha, opentelemetry-gcp-resources:1.54.0-alpha, opentelemetry-sdk-extension-autoconfigure:1.60.1, opentelemetry-sdk-testing:1.60.1, robolectric:4.16.1, tomcat-embed-core:10.1.52, tomcat-embed-core9: 9.0.115,\u003c/li\u003e\n\u003cli\u003eUpgrade Netty to 4.1.132 and netty-tcnative to 2.0.75 (1528f809c)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eThanks to\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/becomeStar\"\u003e\u003ccode\u003e@​becomeStar\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benjaminp\"\u003e\u003ccode\u003e@​benjaminp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JoeCqupt\"\u003e\u003ccode\u003e@​JoeCqupt\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kainsin\"\u003e\u003ccode\u003e@​Kainsin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/merlimat\"\u003e\u003ccode\u003e@​merlimat\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SreeramdasLavanya\"\u003e\u003ccode\u003e@​SreeramdasLavanya\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/themechbro\"\u003e\u003ccode\u003e@​themechbro\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zhangweikop\"\u003e\u003ccode\u003e@​zhangweikop\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/6951542f66c59f63cbf5348b38a2306a3964adda\"\u003e\u003ccode\u003e6951542\u003c/code\u003e\u003c/a\u003e Bump version to 1.81.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/e94188e81298c36ac9654dc76025940171abc0a4\"\u003e\u003ccode\u003ee94188e\u003c/code\u003e\u003c/a\u003e Update README etc to reference 1.81.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/4813c6d06089d49a479f7f1786297dc3d8c0e549\"\u003e\u003ccode\u003e4813c6d\u003c/code\u003e\u003c/a\u003e core,xds: Fix backend_service plumbing for subchannel metrics (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12735\"\u003e#12735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/6737eb583a273dd13bf9e7b82cc1d9df75e551bd\"\u003e\u003ccode\u003e6737eb5\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Replace javax ThreadSafe annotation with errorprone ThreadSafe (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/1274\"\u003e#1274\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/ef3531325ba98fa043f6f7f16fa0715e9296d7a3\"\u003e\u003ccode\u003eef35313\u003c/code\u003e\u003c/a\u003e Replace javax ThreadSafe annotation with errorprone ThreadSafe (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12742\"\u003e#12742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/3ed732fc09c41b185cd03fdd6864c4ebb82f3a80\"\u003e\u003ccode\u003e3ed732f\u003c/code\u003e\u003c/a\u003e examples: Clean up Health, and document need for grpc-services\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/eac9fe9612881d54d51ddc5496599ba9a8201021\"\u003e\u003ccode\u003eeac9fe9\u003c/code\u003e\u003c/a\u003e xds: fix xDS HTTP CONNECT's transport socket name bug (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12740\"\u003e#12740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/1528f809c9e506cf2e7052e3f41fd8b75636d3d3\"\u003e\u003ccode\u003e1528f80\u003c/code\u003e\u003c/a\u003e Upgrade Netty to 4.1.132 and netty-tcnative to 2.0.75\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/d057a7ebee2945fc0a9ca58b36afdb5b37a99680\"\u003e\u003ccode\u003ed057a7e\u003c/code\u003e\u003c/a\u003e [xds] Implement A114: WRR support for custom backend metrics (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12645\"\u003e#12645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/842636f88452c30769a5561f7659db6e4f9fc2a0\"\u003e\u003ccode\u003e842636f\u003c/code\u003e\u003c/a\u003e xds: Add configuration objects for ExtAuthz, GrpcService and Bootstrap change...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/grpc/grpc-java/compare/v1.80.0...v1.81.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.grpc:grpc-stub` from 1.80.0 to 1.81.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/grpc/grpc-java/releases\"\u003eio.grpc:grpc-stub's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eV1.81.0\u003c/h2\u003e\n\u003cp\u003eIn this release we drop support for Android API level 22 or lower (Lollipop or earlier), following Google Play Service’s \u003ca href=\"https://developers.google.com/android/guides/setup\"\u003ediscontinued updates for Lollipop (API levels 21 \u0026amp; 22)\u003c/a\u003e and now requires a minimum of API level 23 (Android 6.0 Marshmallow).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAPI Changes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eapi: Deprecate LoadBalancer.handleResolvedAddresses(). Developers maintaining custom LoadBalancer implementations should transition to using LoadBalancer.acceptResolvedAddresses(). Unlike the deprecated method, acceptResolvedAddresses() returns a Status object, allowing the load balancer to explicitly report success or reject the update if the provided addresses or configuration are invalid. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/11623\"\u003e#11623\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBehavior Changes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ecore: Enable dns \u0026quot;caching\u0026quot; on Android for 30 seconds to reduce CPU impact of a refresh loop with an LB policy (0675f70af). DnsNameResolver ignores re-resolution requests on OpenJDK-like platforms if it has been too soon since the last DNS query because InetAddress.getAllByName() has a cache with a fixed entry lifetime, but this logic was disabled for Android which does not have that style of cache. Android’s cache uses the result TTL, which will rarely be less than 30 seconds. This change would probably be most noticeable when 1) changing to a different network (e.g., from wifi to mobile), 2) the server has different addresses for different networks, and 3) the app is not using AndroidChannelBuilder with an \u003ccode\u003eandroid.context.Context\u003c/code\u003e. For reference, it seems Chrome caches for 1 minute\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug Fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eopentelemetry: Fix baggage propagation, the baggage propagation for opentelemetry introduced in \u003ca href=\"https://redirect.github.com/grpc/grpc-java/pull/12389\"\u003e#12389\u003c/a\u003e was broken. The context is decided once and used for all recording for the call, thus guaranteeing all record()s have consistent information.\u003c/li\u003e\n\u003cli\u003ecore: Address a race condition where \u003ccode\u003eManagedChannelOrphanWrapper\u003c/code\u003e could incorrectly log a \u0026quot;not shutdown properly\u0026quot; warning during garbage collection when using directExecutor(). (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12705\"\u003e#12705\u003c/a\u003e) (d459338d9)\u003c/li\u003e\n\u003cli\u003exds: Fix xDS HTTP CONNECT's transport socket name bug which is now corrected to use \u003ccode\u003etypeUrl\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12740\"\u003e#12740\u003c/a\u003e) (eac9fe961)\u003c/li\u003e\n\u003cli\u003exds: Fix an issue where subchannel metrics were dropping their association with the \u003ccode\u003ebackend_service\u003c/code\u003e. This ensures xDS load balancing metrics are reported accurately. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12735\"\u003e#12735\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eNew Features\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003enetty: Add tcp metrics, by implementing a few of the metrics defined in \u003ca href=\"https://redirect.github.com/grpc/proposal/pull/519\"\u003eA80\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eapi: Add a CallOption for a custom label on per-RPC metrics (0e39b2967). This CallOption is copied by grpc-opentelemetry to the \u003ccode\u003egrpc.client.call.custom\u003c/code\u003e label as defined by \u003ca href=\"https://github.com/grpc/proposal/blob/master/A108-otel-custom-per-call-label.md\"\u003egRFC A108\u003c/a\u003e. See also the \u003ca href=\"https://grpc.io/docs/guides/opentelemetry-metrics/\"\u003egRPC OpenTelemetry Metrics guide\u003c/a\u003e (update \u003ca href=\"https://redirect.github.com/grpc/grpc.io/pull/1505\"\u003ein-progress\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003exds: Add support for Weighted Round Robin (WRR) load balancing driven by custom backend metrics, implementing the behavior defined in gRFC A114. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12645\"\u003e#12645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eutils: Update \u003ccode\u003eAdvancedTlsX509KeyManager\u003c/code\u003e so that developers can now preserve and use key aliases when dynamically reloading TLS certificates. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12686\"\u003e#12686\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate the \u0026quot;Outgoing Flow Control\u0026quot; section in the Manual Flow Control example to say onNext() does not block, but rather queues the messages in memory and advises developers to use CallStreamObserver.isReady() to prevent this memory exhaustion (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12700\"\u003e#12700\u003c/a\u003e) (a3a9ffcbe) (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12726\"\u003e#12726\u003c/a\u003e) (65ae2efda)\u003c/li\u003e\n\u003cli\u003eexamples: Clean up Health example, and document need for grpc-services (3ed732fc0)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDependencies\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Dependencies (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12719\"\u003e#12719\u003c/a\u003e) (16e17abba). Google-auth-library: 1.42.1, animal-sniffer: 1.27, assertj-core:3.27.7, error_prone_annotations:2.48.0, proto-google-common-protos:2.64.1, google-cloud-logging:3.23.10, jetty-http2-server:12.1.7, jetty-ee10-servlet:12.1.7, lincheck:3.4, opentelemetry-api:1.60.1, opentelemetry-exporter-prometheus:1.60.1-alpha, opentelemetry-gcp-resources:1.54.0-alpha, opentelemetry-sdk-extension-autoconfigure:1.60.1, opentelemetry-sdk-testing:1.60.1, robolectric:4.16.1, tomcat-embed-core:10.1.52, tomcat-embed-core9: 9.0.115,\u003c/li\u003e\n\u003cli\u003eUpgrade Netty to 4.1.132 and netty-tcnative to 2.0.75 (1528f809c)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eThanks to\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/becomeStar\"\u003e\u003ccode\u003e@​becomeStar\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benjaminp\"\u003e\u003ccode\u003e@​benjaminp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JoeCqupt\"\u003e\u003ccode\u003e@​JoeCqupt\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kainsin\"\u003e\u003ccode\u003e@​Kainsin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/merlimat\"\u003e\u003ccode\u003e@​merlimat\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SreeramdasLavanya\"\u003e\u003ccode\u003e@​SreeramdasLavanya\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/themechbro\"\u003e\u003ccode\u003e@​themechbro\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zhangweikop\"\u003e\u003ccode\u003e@​zhangweikop\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/6951542f66c59f63cbf5348b38a2306a3964adda\"\u003e\u003ccode\u003e6951542\u003c/code\u003e\u003c/a\u003e Bump version to 1.81.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/e94188e81298c36ac9654dc76025940171abc0a4\"\u003e\u003ccode\u003ee94188e\u003c/code\u003e\u003c/a\u003e Update README etc to reference 1.81.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/4813c6d06089d49a479f7f1786297dc3d8c0e549\"\u003e\u003ccode\u003e4813c6d\u003c/code\u003e\u003c/a\u003e core,xds: Fix backend_service plumbing for subchannel metrics (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12735\"\u003e#12735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/6737eb583a273dd13bf9e7b82cc1d9df75e551bd\"\u003e\u003ccode\u003e6737eb5\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Replace javax ThreadSafe annotation with errorprone ThreadSafe (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/1274\"\u003e#1274\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/ef3531325ba98fa043f6f7f16fa0715e9296d7a3\"\u003e\u003ccode\u003eef35313\u003c/code\u003e\u003c/a\u003e Replace javax ThreadSafe annotation with errorprone ThreadSafe (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12742\"\u003e#12742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/3ed732fc09c41b185cd03fdd6864c4ebb82f3a80\"\u003e\u003ccode\u003e3ed732f\u003c/code\u003e\u003c/a\u003e examples: Clean up Health, and document need for grpc-services\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/eac9fe9612881d54d51ddc5496599ba9a8201021\"\u003e\u003ccode\u003eeac9fe9\u003c/code\u003e\u003c/a\u003e xds: fix xDS HTTP CONNECT's transport socket name bug (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12740\"\u003e#12740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/1528f809c9e506cf2e7052e3f41fd8b75636d3d3\"\u003e\u003ccode\u003e1528f80\u003c/code\u003e\u003c/a\u003e Upgrade Netty to 4.1.132 and netty-tcnative to 2.0.75\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/d057a7ebee2945fc0a9ca58b36afdb5b37a99680\"\u003e\u003ccode\u003ed057a7e\u003c/code\u003e\u003c/a\u003e [xds] Implement A114: WRR support for custom backend metrics (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12645\"\u003e#12645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/842636f88452c30769a5561f7659db6e4f9fc2a0\"\u003e\u003ccode\u003e842636f\u003c/code\u003e\u003c/a\u003e xds: Add configuration objects for ExtAuthz, GrpcService and Bootstrap change...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/grpc/grpc-java/compare/v1.80.0...v1.81.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.grpc:grpc-inprocess` from 1.80.0 to 1.81.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/grpc/grpc-java/releases\"\u003eio.grpc:grpc-inprocess's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eV1.81.0\u003c/h2\u003e\n\u003cp\u003eIn this release we drop support for Android API level 22 or lower (Lollipop or earlier), following Google Play Service’s \u003ca href=\"https://developers.google.com/android/guides/setup\"\u003ediscontinued updates for Lollipop (API levels 21 \u0026amp; 22)\u003c/a\u003e and now requires a minimum of API level 23 (Android 6.0 Marshmallow).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAPI Changes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eapi: Deprecate LoadBalancer.handleResolvedAddresses(). Developers maintaining custom LoadBalancer implementations should transition to using LoadBalancer.acceptResolvedAddresses(). Unlike the deprecated method, acceptResolvedAddresses() returns a Status object, allowing the load balancer to explicitly report success or reject the update if the provided addresses or configuration are invalid. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/11623\"\u003e#11623\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBehavior Changes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ecore: Enable dns \u0026quot;caching\u0026quot; on Android for 30 seconds to reduce CPU impact of a refresh loop with an LB policy (0675f70af). DnsNameResolver ignores re-resolution requests on OpenJDK-like platforms if it has been too soon since the last DNS query because InetAddress.getAllByName() has a cache with a fixed entry lifetime, but this logic was disabled for Android which does not have that style of cache. Android’s cache uses the result TTL, which will rarely be less than 30 seconds. This change would probably be most noticeable when 1) changing to a different network (e.g., from wifi to mobile), 2) the server has different addresses for different networks, and 3) the app is not using AndroidChannelBuilder with an \u003ccode\u003eandroid.context.Context\u003c/code\u003e. For reference, it seems Chrome caches for 1 minute\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug Fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eopentelemetry: Fix baggage propagation, the baggage propagation for opentelemetry introduced in \u003ca href=\"https://redirect.github.com/grpc/grpc-java/pull/12389\"\u003e#12389\u003c/a\u003e was broken. The context is decided once and used for all recording for the call, thus guaranteeing all record()s have consistent information.\u003c/li\u003e\n\u003cli\u003ecore: Address a race condition where \u003ccode\u003eManagedChannelOrphanWrapper\u003c/code\u003e could incorrectly log a \u0026quot;not shutdown properly\u0026quot; warning during garbage collection when using directExecutor(). (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12705\"\u003e#12705\u003c/a\u003e) (d459338d9)\u003c/li\u003e\n\u003cli\u003exds: Fix xDS HTTP CONNECT's transport socket name bug which is now corrected to use \u003ccode\u003etypeUrl\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12740\"\u003e#12740\u003c/a\u003e) (eac9fe961)\u003c/li\u003e\n\u003cli\u003exds: Fix an issue where subchannel metrics were dropping their association with the \u003ccode\u003ebackend_service\u003c/code\u003e. This ensures xDS load balancing metrics are reported accurately. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12735\"\u003e#12735\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eNew Features\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003enetty: Add tcp metrics, by implementing a few of the metrics defined in \u003ca href=\"https://redirect.github.com/grpc/proposal/pull/519\"\u003eA80\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eapi: Add a CallOption for a custom label on per-RPC metrics (0e39b2967). This CallOption is copied by grpc-opentelemetry to the \u003ccode\u003egrpc.client.call.custom\u003c/code\u003e label as defined by \u003ca href=\"https://github.com/grpc/proposal/blob/master/A108-otel-custom-per-call-label.md\"\u003egRFC A108\u003c/a\u003e. See also the \u003ca href=\"https://grpc.io/docs/guides/opentelemetry-metrics/\"\u003egRPC OpenTelemetry Metrics guide\u003c/a\u003e (update \u003ca href=\"https://redirect.github.com/grpc/grpc.io/pull/1505\"\u003ein-progress\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003exds: Add support for Weighted Round Robin (WRR) load balancing driven by custom backend metrics, implementing the behavior defined in gRFC A114. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12645\"\u003e#12645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eutils: Update \u003ccode\u003eAdvancedTlsX509KeyManager\u003c/code\u003e so that developers can now preserve and use key aliases when dynamically reloading TLS certificates. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12686\"\u003e#12686\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate the \u0026quot;Outgoing Flow Control\u0026quot; section in the Manual Flow Control example to say onNext() does not block, but rather queues the messages in memory and advises developers to use CallStreamObserver.isReady() to prevent this memory exhaustion (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12700\"\u003e#12700\u003c/a\u003e) (a3a9ffcbe) (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12726\"\u003e#12726\u003c/a\u003e) (65ae2efda)\u003c/li\u003e\n\u003cli\u003eexamples: Clean up Health example, and document need for grpc-services (3ed732fc0)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDependencies\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Dependencies (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12719\"\u003e#12719\u003c/a\u003e) (16e17abba). Google-auth-library: 1.42.1, animal-sniffer: 1.27, assertj-core:3.27.7, error_prone_annotations:2.48.0, proto-google-common-protos:2.64.1, google-cloud-logging:3.23.10, jetty-http2-server:12.1.7, jetty-ee10-servlet:12.1.7, lincheck:3.4, opentelemetry-api:1.60.1, opentelemetry-exporter-prometheus:1.60.1-alpha, opentelemetry-gcp-resources:1.54.0-alpha, opentelemetry-sdk-extension-autoconfigure:1.60.1, opentelemetry-sdk-testing:1.60.1, robolectric:4.16.1, tomcat-embed-core:10.1.52, tomcat-embed-core9: 9.0.115,\u003c/li\u003e\n\u003cli\u003eUpgrade Netty to 4.1.132 and netty-tcnative to 2.0.75 (1528f809c)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eThanks to\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/becomeStar\"\u003e\u003ccode\u003e@​becomeStar\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benjaminp\"\u003e\u003ccode\u003e@​benjaminp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JoeCqupt\"\u003e\u003ccode\u003e@​JoeCqupt\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kainsin\"\u003e\u003ccode\u003e@​Kainsin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/merlimat\"\u003e\u003ccode\u003e@​merlimat\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SreeramdasLavanya\"\u003e\u003ccode\u003e@​SreeramdasLavanya\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/themechbro\"\u003e\u003ccode\u003e@​themechbro\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zhangweikop\"\u003e\u003ccode\u003e@​zhangweikop\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/6951542f66c59f63cbf5348b38a2306a3964adda\"\u003e\u003ccode\u003e6951542\u003c/code\u003e\u003c/a\u003e Bump version to 1.81.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/e94188e81298c36ac9654dc76025940171abc0a4\"\u003e\u003ccode\u003ee94188e\u003c/code\u003e\u003c/a\u003e Update README etc to reference 1.81.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/4813c6d06089d49a479f7f1786297dc3d8c0e549\"\u003e\u003ccode\u003e4813c6d\u003c/code\u003e\u003c/a\u003e core,xds: Fix backend_service plumbing for subchannel metrics (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12735\"\u003e#12735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/6737eb583a273dd13bf9e7b82cc1d9df75e551bd\"\u003e\u003ccode\u003e6737eb5\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Replace javax ThreadSafe annotation with errorprone ThreadSafe (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/1274\"\u003e#1274\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/ef3531325ba98fa043f6f7f16fa0715e9296d7a3\"\u003e\u003ccode\u003eef35313\u003c/code\u003e\u003c/a\u003e Replace javax ThreadSafe annotation with errorprone ThreadSafe (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12742\"\u003e#12742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/3ed732fc09c41b185cd03fdd6864c4ebb82f3a80\"\u003e\u003ccode\u003e3ed732f\u003c/code\u003e\u003c/a\u003e examples: Clean up Health, and document need for grpc-services\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/eac9fe9612881d54d51ddc5496599ba9a8201021\"\u003e\u003ccode\u003eeac9fe9\u003c/code\u003e\u003c/a\u003e xds: fix xDS HTTP CONNECT's transport socket name bug (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12740\"\u003e#12740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/1528f809c9e506cf2e7052e3f41fd8b75636d3d3\"\u003e\u003ccode\u003e1528f80\u003c/code\u003e\u003c/a\u003e Upgrade Netty to 4.1.132 and netty-tcnative to 2.0.75\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/d057a7ebee2945fc0a9ca58b36afdb5b37a99680\"\u003e\u003ccode\u003ed057a7e\u003c/code\u003e\u003c/a\u003e [xds] Implement A114: WRR support for custom backend metrics (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12645\"\u003e#12645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/842636f88452c30769a5561f7659db6e4f9fc2a0\"\u003e\u003ccode\u003e842636f\u003c/code\u003e\u003c/a\u003e xds: Add configuration objects for ExtAuthz, GrpcService and Bootstrap change...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/grpc/grpc-java/compare/v1.80.0...v1.81.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.grpc:protoc-gen-grpc-java` from 1.80.0 to 1.81.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/grpc/grpc-java/releases\"\u003eio.grpc:protoc-gen-grpc-java's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eV1.81.0\u003c/h2\u003e\n\u003cp\u003eIn this release we drop support for Android API level 22 or lower (Lollipop or earlier), following Google Play Service’s \u003ca href=\"https://developers.google.com/android/guides/setup\"\u003ediscont...\n\n_Description has been truncated_","html_url":"https://github.com/greenharborlabs/spring-boot-starter-paygate/pull/45","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/greenharborlabs%2Fspring-boot-starter-paygate/issues/45","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/45/packages"},{"uuid":"4499519588","node_id":"PR_kwDORvJjTc7eL9ZE","number":30,"state":"open","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 18 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-22T03:13:03.000Z","updated_at":"2026-05-22T03:17:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":18,"packages":[{"name":"org.mariadb.jdbc:mariadb-java-client","old_version":"3.5.7","new_version":"3.5.8","repository_url":"https://github.com/mariadb-corporation/mariadb-connector-j"},{"name":"org.flywaydb:flyway-mysql","old_version":"12.0.3","new_version":"12.6.2"},{"name":"org.projectlombok:lombok","old_version":"1.18.42","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"org.apache.pdfbox:pdfbox","old_version":"3.0.6","new_version":"3.0.7"},{"name":"org.apache.pdfbox:jbig2-imageio","old_version":"3.0.4","new_version":"3.0.5"},{"name":"com.github.RouHim:jaudiotagger","old_version":"2.0.16","new_version":"2.0.21"},{"name":"com.github.junrar:junrar","old_version":"7.5.8","new_version":"7.6.0","repository_url":"https://github.com/junrar/junrar"},{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"4.0.6","new_version":"4.0.8"},{"name":"tools.jackson:jackson-bom","old_version":"3.1.0","new_version":"3.1.3","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"org.springframework.boot","old_version":"4.0.3","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.hibernate.orm","old_version":"7.2.6.Final","new_version":"7.3.5.Final"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"gradle-wrapper","old_version":"9.4.0","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 16 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) | `3.5.7` | `3.5.8` |\n| org.flywaydb:flyway-mysql | `12.0.3` | `12.6.2` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.42` | `1.18.46` |\n| org.apache.pdfbox:pdfbox | `3.0.6` | `3.0.7` |\n| org.apache.pdfbox:jbig2-imageio | `3.0.4` | `3.0.5` |\n| com.github.RouHim:jaudiotagger | `2.0.16` | `2.0.21` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.8` | `7.6.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `3.0.2` | `3.0.3` |\n| org.glassfish.jaxb:jaxb-runtime | `4.0.6` | `4.0.8` |\n| [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `3.1.0` | `3.1.3` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.2.3` | `3.2.4` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.3` | `4.0.6` |\n| org.hibernate.orm | `7.2.6.Final` | `7.3.5.Final` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.0` | `9.5.1` |\n\n\nUpdates `org.mariadb.jdbc:mariadb-java-client` from 3.5.7 to 3.5.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/releases\"\u003eorg.mariadb.jdbc:mariadb-java-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eMariaDB Connector/Java 3.5.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/blob/main/CHANGELOG.md\"\u003eorg.mariadb.jdbc:mariadb-java-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/26b34a2f060070beb73515cfd2a49fabc8728843\"\u003e\u003ccode\u003e26b34a2\u003c/code\u003e\u003c/a\u003e Merge branch 'develop'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/06d6efee7838ab8f89ef0f7f362c6b4a95754630\"\u003e\u003ccode\u003e06d6efe\u003c/code\u003e\u003c/a\u003e bump CI actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a86a83c8fd1fa84d8d4349baab3b29df8f575192\"\u003e\u003ccode\u003ea86a83c\u003c/code\u003e\u003c/a\u003e bump 3.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/975f9919232b21f40d823423eac6e32d87ea8e35\"\u003e\u003ccode\u003e975f991\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to implement Codec directly and extract shared...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/75bb509521661603e0e90dd6dd5942d1382bf499\"\u003e\u003ccode\u003e75bb509\u003c/code\u003e\u003c/a\u003e [misc] code formatting cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/4c0b6a0ddd95f42fa866ce0d08e384caa2553d43\"\u003e\u003ccode\u003e4c0b6a0\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to extend UtilDateCodec and extract common dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a5b7fb1a26277a076052dbbd1a7ee2bacd4f602f\"\u003e\u003ccode\u003ea5b7fb1\u003c/code\u003e\u003c/a\u003e [misc] convert Reader and Writer from interfaces to final class implementatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/d31eb060fc66e9e37479e18a38bb1401d53ecb63\"\u003e\u003ccode\u003ed31eb06\u003c/code\u003e\u003c/a\u003e [misc] convert ReadableByteBuf from interface to final class implementation, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/11d45a9e6ea4d942e75747132bb8982471d890b8\"\u003e\u003ccode\u003e11d45a9\u003c/code\u003e\u003c/a\u003e [misc] optimize binary row decoder null bitmap checks and simplify signed Big...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/5aad14c381cbc2c4e0383ffed275306f359bd508\"\u003e\u003ccode\u003e5aad14c\u003c/code\u003e\u003c/a\u003e [misc] optimize BigInt column decoding and improve type safety in codec inter...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb:flyway-mysql` from 12.0.3 to 12.6.2\n\nUpdates `org.projectlombok:lombok` from 1.18.42 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.44 (March 11th, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFEATURE: \u003ccode\u003e@Jacksonized\u003c/code\u003e now supports both Jackson2 and Jackson3; you'll get a warning until you configure which one (or even both!) you want lombok to generate. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3950\"\u003e#3950\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: On JDK25, \u003ccode\u003eval\u003c/code\u003e and \u003ccode\u003e@ExtensionMethod\u003c/code\u003e could sometimes cause erroneous errors (in that you see errors but compilation succeeds anyway) using javac. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3947\"\u003e#3947\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e + fields marked \u003ccode\u003etransient\u003c/code\u003e would result in those transient fields being serialised which is surprising (and thus undesired) behaviour. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3936\"\u003e#3936\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.42...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.pdfbox:pdfbox` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:pdfbox-io` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:xmpbox` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:jbig2-imageio` from 3.0.4 to 3.0.5\n\nUpdates `com.github.RouHim:jaudiotagger` from 2.0.16 to 2.0.21\n\nUpdates `com.github.junrar:junrar` from 7.5.8 to 7.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.6.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport random access for files in solid RAR4 archives (\u003ca href=\"https://github.com/junrar/junrar/commits/e0874d2\"\u003ee0874d2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🏎 Perf\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereplace RarCRC.checkCrc with java.util.zip.CRC32 (\u003ca href=\"https://github.com/junrar/junrar/commits/5270d23\"\u003e5270d23\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump gradle-wrapper to 9.5.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/cb4b7fd\"\u003ecb4b7fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/0bb56b3\"\u003e0bb56b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/ca621b2\"\u003eca621b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.23.0 to 1.24.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/90f0548\"\u003e90f0548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/83a5d08\"\u003e83a5d08\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.github.ben-manes.versions from 0.53.0 to 0.54.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d5abcdb\"\u003ed5abcdb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated action (\u003ca href=\"https://github.com/junrar/junrar/commits/338efcb\"\u003e338efcb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Gauthier Roebroeck, Robin Schimpf\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier Roebroeck\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.9\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.10...v7.6.0\"\u003e7.6.0\u003c/a\u003e (2026-05-13)\u003c/h1\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport random access for files in solid RAR4 archives (\u003ca href=\"https://github.com/junrar/junrar/commits/e0874d2\"\u003ee0874d2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🏎 Perf\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereplace RarCRC.checkCrc with java.util.zip.CRC32 (\u003ca href=\"https://github.com/junrar/junrar/commits/5270d23\"\u003e5270d23\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump gradle-wrapper to 9.5.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/cb4b7fd\"\u003ecb4b7fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/0bb56b3\"\u003e0bb56b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/ca621b2\"\u003eca621b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.23.0 to 1.24.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/90f0548\"\u003e90f0548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/83a5d08\"\u003e83a5d08\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.github.ben-manes.versions from 0.53.0 to 0.54.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d5abcdb\"\u003ed5abcdb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated action (\u003ca href=\"https://github.com/junrar/junrar/commits/338efcb\"\u003e338efcb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.9...v7.5.10\"\u003e7.5.10\u003c/a\u003e (2026-04-15)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.9\"\u003e7.5.9\u003c/a\u003e (2026-04-13)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/cb4b7fdb84269e95741fa22120e08ceb15a06152\"\u003e\u003ccode\u003ecb4b7fd\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper to 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/0bb56b3df4e3b6d14f73de92746a2eb47dd2d7a3\"\u003e\u003ccode\u003e0bb56b3\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/ca621b22421f9e846df23112b32113230610c8d9\"\u003e\u003ccode\u003eca621b2\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e0874d213832bbeaa8eb265c79479b01b5fa7392\"\u003e\u003ccode\u003ee0874d2\u003c/code\u003e\u003c/a\u003e feat: support random access for files in solid RAR4 archives\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/90f0548c728b0bf2e94f6e26f9e6396d9d0a7262\"\u003e\u003ccode\u003e90f0548\u003c/code\u003e\u003c/a\u003e build(deps): bump org.jreleaser from 1.23.0 to 1.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/83a5d085dc84991226229fef1515cc902d129241\"\u003e\u003ccode\u003e83a5d08\u003c/code\u003e\u003c/a\u003e build(deps): bump commons-io:commons-io from 2.21.0 to 2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/338efcb5472be051989fbafd7179d561c71722eb\"\u003e\u003ccode\u003e338efcb\u003c/code\u003e\u003c/a\u003e ci: replace deprecated action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/5270d235ade54d96dfc9958ab06f495fbbd169e7\"\u003e\u003ccode\u003e5270d23\u003c/code\u003e\u003c/a\u003e perf: replace RarCRC.checkCrc with java.util.zip.CRC32\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d5abcdb9af988ddfa76e98d80787e15525488332\"\u003e\u003ccode\u003ed5abcdb\u003c/code\u003e\u003c/a\u003e build(deps): bump com.github.ben-manes.versions from 0.53.0 to 0.54.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/edadb28896962fdcf754029bafd0994aaff24530\"\u003e\u003ccode\u003eedadb28\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.10 [skip ci]\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.22.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.22.1...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.glassfish.jaxb:jaxb-runtime` from 4.0.6 to 4.0.8\n\nUpdates `tools.jackson:jackson-bom` from 3.1.0 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/c2ea79e9178f0aaa5e4f381c644140357bfc307e\"\u003e\u003ccode\u003ec2ea79e\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3906b27dcdde8fc6a4fef193147109b70bf2f0dc\"\u003e\u003ccode\u003e3906b27\u003c/code\u003e\u003c/a\u003e Prep for 3.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/b17b616c7dc264cfef26f9dd28eaf54bc40b5c4c\"\u003e\u003ccode\u003eb17b616\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/36cf9995cff15aa3e69786da1d6c52f208fddf8a\"\u003e\u003ccode\u003e36cf999\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0ae1c2ae270dabe8e21700cbcee1c266b54e84f0\"\u003e\u003ccode\u003e0ae1c2a\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3c171ebd5d6c5d8f6e8d4f3614cf9b4f0a8babb9\"\u003e\u003ccode\u003e3c171eb\u003c/code\u003e\u003c/a\u003e Prep for 3.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/8046ced071e0b36747bae0f0a96fa21914de1303\"\u003e\u003ccode\u003e8046ced\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ea00ca4cc59ba656a17a071e30a68387e51d3e0d\"\u003e\u003ccode\u003eea00ca4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0628060381a5b86e3fc07854a27b7453de559b7e\"\u003e\u003ccode\u003e0628060\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/22b8aeec79b87751a41c586404850c526eed1dbe\"\u003e\u003ccode\u003e22b8aee\u003c/code\u003e\u003c/a\u003e Prep for 3.1.1 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-3.1.0...jackson-bom-3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 4.0.3 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnversRevisionRepositoriesRegistrar should reuse \u003ccode\u003e@EnableEnversRepositories\u003c/code\u003e rather than configuring the JPA counterpart \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50039\"\u003e#50039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebFlux Cloud Foundry links endpoint includes query string from received request in resolved links \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50017\"\u003e#50017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImports on a containing test class are ignored when a nested class has imports \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50012\"\u003e#50012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49951\"\u003e#49951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e500 response from env endpoint when supplied pattern is invalid \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49946\"\u003e#49946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49945\"\u003e#49945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP method is lost when configuring excludes in EndpointRequest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49943\"\u003e#49943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor HttpMethod for reactive additional endpoint paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49880\"\u003e#49880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/artemis image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49869\"\u003e#49869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/activemq image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49866\"\u003e#49866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49854\"\u003e#49854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI versioning path strategy should be applied path last as it is not meant to yield \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49800\"\u003e#49800\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs to encourage Java fundamentals for beginners that prefer to learn that way \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50146\"\u003e#50146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP Service Interface Clients still document that API versioning can be configured via properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50126\"\u003e#50126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the observability section of the Lettuce documentation is broken \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50097\"\u003e#50097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJavadoc for StaticResourceLocation.FAVICON doesn't describe icons location \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50085\"\u003e#50085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySamlRelyingPartyConfiguration is missing a Kotlin sample \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50024\"\u003e#50024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect default value for management.httpexchanges.recording.include in configuration metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50019\"\u003e#50019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the Kubernetes documentation when discussing startup probes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50015\"\u003e#50015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in JdbcSessionAutoConfiguration Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49873\"\u003e#49873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify that configuration property default values are not available through the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49851\"\u003e#49851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument the need for Liquibase and Flyway starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49839\"\u003e#49839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKafka documentation refers to deprecated JSON serializer and deserializer classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49826\"\u003e#49826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Elasticsearch Client 9.2.8 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50027\"\u003e#50027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Groovy 5.0.5 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49911\"\u003e#49911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Hibernate 7.2.12.Final \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50134\"\u003e#50134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Jackson Bom 3.1.2 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50051\"\u003e#50051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1\"\u003eJaxen 2.0.1\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50104\"\u003e#50104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5\"\u003eJaybird 6.0.5\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49914\"\u003e#49914\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/8821ad2cd381bb4b9615a61479e1de7305a8ba39\"\u003e\u003ccode\u003e8821ad2\u003c/code\u003e\u003c/a\u003e Release v4.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9e4048a03f17adfe78057a3c4d5b4693305c0ae0\"\u003e\u003ccode\u003e9e4048a\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/20bb11c3984802990572ddbeae8b66885a8f2462\"\u003e\u003ccode\u003e20bb11c\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.15-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/98daa8ea30f39a5b0ca6768b5cbc2dc8698ef4e1\"\u003e\u003ccode\u003e98daa8e\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9dc5aa2863f598a15d3dfa116f4b89249daba7e7\"\u003e\u003ccode\u003e9dc5aa2\u003c/code\u003e\u003c/a\u003e Polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/874f6294b91da18367b8b5ab7b2fad3fa23cfba6\"\u003e\u003ccode\u003e874f629\u003c/code\u003e\u003c/a\u003e Fix default security with actuator but without health\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/e41b3bf731d1134bc18ec1f68ac01e0fe1c54923\"\u003e\u003ccode\u003ee41b3bf\u003c/code\u003e\u003c/a\u003e Enable hostname verification for SSL connections to Elasticsearch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ef8527bb0ef8f564f4f9c57a7be99a7aa96c6ab0\"\u003e\u003ccode\u003eef8527b\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f533a4549c3999aac30cb5830f07dc304933e93d\"\u003e\u003ccode\u003ef533a45\u003c/code\u003e\u003c/a\u003e Do not follow symlinks when writing PID file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4a7bd332b6d19fef1aa4cf28434985f2b03a2e0f\"\u003e\u003ccode\u003e4a7bd33\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.3...v4.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.hibernate.orm` from 7.2.6.Final to 7.3.5.Final\n\nUpdates `com.github.ben-manes.versions` from 0.53.0 to 0.54.0\n\nUpdates `gradle-wrapper` from 9.4.0 to 9.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd78213f09782e62ca4957f9cfd3d90c6c3f1767\"\u003e\u003ccode\u003efd78213\u003c/code\u003e\u003c/a\u003e Update Documentation Infrastructure: Fix scrolling issue in user manual (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37861\"\u003e#37861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7758437128d1c52702786ad719a13ade1b860aa8\"\u003e\u003ccode\u003e7758437\u003c/code\u003e\u003c/a\u003e fix scroll\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2fd605fdcd69fea10570e9eb1343bbd7ca01c9d0\"\u003e\u003ccode\u003e2fd605f\u003c/code\u003e\u003c/a\u003e Only try to run as worker thread in DefaultBuildOperationQueue (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37845\"\u003e#37845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/af6984901238402386ae263d746380504e5f9138\"\u003e\u003ccode\u003eaf69849\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37853\"\u003e#37853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f4d9d03e9bb47d2d17b6d8314fdaa32c3d0b3c1e\"\u003e\u003ccode\u003ef4d9d03\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/01eda3adf40dbe97e81475e813705409dcfe1091\"\u003e\u003ccode\u003e01eda3a\u003c/code\u003e\u003c/a\u003e Address review feedback on worker-lease retry changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7024e15139b2db9df831dd15a8b9e9052acd9a51\"\u003e\u003ccode\u003e7024e15\u003c/code\u003e\u003c/a\u003e Revert enrich file visitor with size info on \u003ccode\u003erelease\u003c/code\u003e branch (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37848\"\u003e#37848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d51476fda21330c037a04b43ec9a93a929d05b87\"\u003e\u003ccode\u003ed51476f\u003c/code\u003e\u003c/a\u003e Fix tryRunAsWorkerThread null-return test to match contract\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/090ebabc5b6f648e01c0269a321d80372fdbfe0f\"\u003e\u003ccode\u003e090ebab\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add getLength() to FilePropertyVisitor.VisitState\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/bceab24677298144860f6919bdcb031e806dbf23\"\u003e\u003ccode\u003ebceab24\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix annotation\u0026quot;\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.0...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/cdome/ollumi/pull/30","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdome%2Follumi/issues/30","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/30/packages"},{"uuid":"4499519012","node_id":"PR_kwDORqdfXc7eL9SP","number":15,"state":"open","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 23 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-22T03:12:52.000Z","updated_at":"2026-05-22T03:16:05.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":23,"packages":[{"name":"org.mariadb.jdbc:mariadb-java-client","old_version":"3.5.7","new_version":"3.5.8","repository_url":"https://github.com/mariadb-corporation/mariadb-connector-j"},{"name":"org.flywaydb:flyway-mysql","old_version":"11.19.0","new_version":"12.6.2"},{"name":"org.projectlombok:lombok","old_version":"1.18.42","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"org.apache.pdfbox:pdfbox","old_version":"3.0.6","new_version":"3.0.7"},{"name":"org.apache.pdfbox:jbig2-imageio","old_version":"3.0.4","new_version":"3.0.5"},{"name":"com.twelvemonkeys.imageio:imageio-jpeg","old_version":"3.13.0","new_version":"3.13.1"},{"name":"io.documentnode:epub4j-core","old_version":"4.2.2","new_version":"4.2.3","repository_url":"https://github.com/documentnode/epub4j"},{"name":"com.github.junrar:junrar","old_version":"7.5.7","new_version":"7.6.0","repository_url":"https://github.com/junrar/junrar"},{"name":"org.jsoup:jsoup","old_version":"1.21.2","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"2.8.14","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.tukaani:xz","old_version":"1.11","new_version":"1.12","repository_url":"https://github.com/tukaani-project/xz-java"},{"name":"tools.jackson:jackson-bom","old_version":"3.0.4","new_version":"3.1.3","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.0","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"org.assertj:assertj-core","old_version":"3.27.6","new_version":"3.27.7","repository_url":"https://github.com/assertj/assertj"},{"name":"org.springframework.boot","old_version":"4.0.2","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.hibernate.orm","old_version":"7.2.0.Final","new_version":"7.3.5.Final"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"gradle-wrapper","old_version":"9.3.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 18 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) | `3.5.7` | `3.5.8` |\n| org.flywaydb:flyway-mysql | `11.19.0` | `12.6.2` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.42` | `1.18.46` |\n| org.apache.pdfbox:pdfbox | `3.0.6` | `3.0.7` |\n| org.apache.pdfbox:jbig2-imageio | `3.0.4` | `3.0.5` |\n| com.twelvemonkeys.imageio:imageio-jpeg | `3.13.0` | `3.13.1` |\n| [io.documentnode:epub4j-core](https://github.com/documentnode/epub4j) | `4.2.2` | `4.2.3` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.7` | `7.6.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.21.2` | `1.22.2` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `2.8.14` | `3.0.3` |\n| [org.tukaani:xz](https://github.com/tukaani-project/xz-java) | `1.11` | `1.12` |\n| [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `3.0.4` | `3.1.3` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.2.0` | `3.2.4` |\n| [org.assertj:assertj-core](https://github.com/assertj/assertj) | `3.27.6` | `3.27.7` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.2` | `4.0.6` |\n| org.hibernate.orm | `7.2.0.Final` | `7.3.5.Final` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.3.1` | `9.5.1` |\n\n\nUpdates `org.mariadb.jdbc:mariadb-java-client` from 3.5.7 to 3.5.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/releases\"\u003eorg.mariadb.jdbc:mariadb-java-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eMariaDB Connector/Java 3.5.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/blob/main/CHANGELOG.md\"\u003eorg.mariadb.jdbc:mariadb-java-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/26b34a2f060070beb73515cfd2a49fabc8728843\"\u003e\u003ccode\u003e26b34a2\u003c/code\u003e\u003c/a\u003e Merge branch 'develop'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/06d6efee7838ab8f89ef0f7f362c6b4a95754630\"\u003e\u003ccode\u003e06d6efe\u003c/code\u003e\u003c/a\u003e bump CI actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a86a83c8fd1fa84d8d4349baab3b29df8f575192\"\u003e\u003ccode\u003ea86a83c\u003c/code\u003e\u003c/a\u003e bump 3.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/975f9919232b21f40d823423eac6e32d87ea8e35\"\u003e\u003ccode\u003e975f991\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to implement Codec directly and extract shared...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/75bb509521661603e0e90dd6dd5942d1382bf499\"\u003e\u003ccode\u003e75bb509\u003c/code\u003e\u003c/a\u003e [misc] code formatting cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/4c0b6a0ddd95f42fa866ce0d08e384caa2553d43\"\u003e\u003ccode\u003e4c0b6a0\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to extend UtilDateCodec and extract common dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a5b7fb1a26277a076052dbbd1a7ee2bacd4f602f\"\u003e\u003ccode\u003ea5b7fb1\u003c/code\u003e\u003c/a\u003e [misc] convert Reader and Writer from interfaces to final class implementatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/d31eb060fc66e9e37479e18a38bb1401d53ecb63\"\u003e\u003ccode\u003ed31eb06\u003c/code\u003e\u003c/a\u003e [misc] convert ReadableByteBuf from interface to final class implementation, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/11d45a9e6ea4d942e75747132bb8982471d890b8\"\u003e\u003ccode\u003e11d45a9\u003c/code\u003e\u003c/a\u003e [misc] optimize binary row decoder null bitmap checks and simplify signed Big...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/5aad14c381cbc2c4e0383ffed275306f359bd508\"\u003e\u003ccode\u003e5aad14c\u003c/code\u003e\u003c/a\u003e [misc] optimize BigInt column decoding and improve type safety in codec inter...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb:flyway-mysql` from 11.19.0 to 12.6.2\n\nUpdates `org.projectlombok:lombok` from 1.18.42 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.44 (March 11th, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFEATURE: \u003ccode\u003e@Jacksonized\u003c/code\u003e now supports both Jackson2 and Jackson3; you'll get a warning until you configure which one (or even both!) you want lombok to generate. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3950\"\u003e#3950\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: On JDK25, \u003ccode\u003eval\u003c/code\u003e and \u003ccode\u003e@ExtensionMethod\u003c/code\u003e could sometimes cause erroneous errors (in that you see errors but compilation succeeds anyway) using javac. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3947\"\u003e#3947\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e + fields marked \u003ccode\u003etransient\u003c/code\u003e would result in those transient fields being serialised which is surprising (and thus undesired) behaviour. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3936\"\u003e#3936\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.42...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.pdfbox:pdfbox` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:pdfbox-io` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:xmpbox` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:jbig2-imageio` from 3.0.4 to 3.0.5\n\nUpdates `com.twelvemonkeys.imageio:imageio-jpeg` from 3.13.0 to 3.13.1\n\nUpdates `com.twelvemonkeys.imageio:imageio-tiff` from 3.13.0 to 3.13.1\n\nUpdates `com.twelvemonkeys.imageio:imageio-webp` from 3.13.0 to 3.13.1\n\nUpdates `com.twelvemonkeys.imageio:imageio-bmp` from 3.13.0 to 3.13.1\n\nUpdates `io.documentnode:epub4j-core` from 4.2.2 to 4.2.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/documentnode/epub4j/commit/4bf55082feba0496f98b867ec03ebec5f393b649\"\u003e\u003ccode\u003e4bf5508\u003c/code\u003e\u003c/a\u003e Migrate Maven Central publishing to new Central Portal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/documentnode/epub4j/commit/b153885ef8aefbe4063a40894c048a5cc2b5a354\"\u003e\u003ccode\u003eb153885\u003c/code\u003e\u003c/a\u003e Load sdkman environment before running gradle commands\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/documentnode/epub4j/compare/v4.2.2...v4.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.junrar:junrar` from 7.5.7 to 7.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.6.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport random access for files in solid RAR4 archives (\u003ca href=\"https://github.com/junrar/junrar/commits/e0874d2\"\u003ee0874d2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🏎 Perf\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereplace RarCRC.checkCrc with java.util.zip.CRC32 (\u003ca href=\"https://github.com/junrar/junrar/commits/5270d23\"\u003e5270d23\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump gradle-wrapper to 9.5.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/cb4b7fd\"\u003ecb4b7fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/0bb56b3\"\u003e0bb56b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/ca621b2\"\u003eca621b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.23.0 to 1.24.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/90f0548\"\u003e90f0548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/83a5d08\"\u003e83a5d08\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.github.ben-manes.versions from 0.53.0 to 0.54.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d5abcdb\"\u003ed5abcdb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated action (\u003ca href=\"https://github.com/junrar/junrar/commits/338efcb\"\u003e338efcb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Gauthier Roebroeck, Robin Schimpf\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier Roebroeck\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.9\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.10...v7.6.0\"\u003e7.6.0\u003c/a\u003e (2026-05-13)\u003c/h1\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport random access for files in solid RAR4 archives (\u003ca href=\"https://github.com/junrar/junrar/commits/e0874d2\"\u003ee0874d2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🏎 Perf\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereplace RarCRC.checkCrc with java.util.zip.CRC32 (\u003ca href=\"https://github.com/junrar/junrar/commits/5270d23\"\u003e5270d23\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump gradle-wrapper to 9.5.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/cb4b7fd\"\u003ecb4b7fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/0bb56b3\"\u003e0bb56b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/ca621b2\"\u003eca621b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.23.0 to 1.24.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/90f0548\"\u003e90f0548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/83a5d08\"\u003e83a5d08\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.github.ben-manes.versions from 0.53.0 to 0.54.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d5abcdb\"\u003ed5abcdb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated action (\u003ca href=\"https://github.com/junrar/junrar/commits/338efcb\"\u003e338efcb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.9...v7.5.10\"\u003e7.5.10\u003c/a\u003e (2026-04-15)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.9\"\u003e7.5.9\u003c/a\u003e (2026-04-13)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/cb4b7fdb84269e95741fa22120e08ceb15a06152\"\u003e\u003ccode\u003ecb4b7fd\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper to 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/0bb56b3df4e3b6d14f73de92746a2eb47dd2d7a3\"\u003e\u003ccode\u003e0bb56b3\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/ca621b22421f9e846df23112b32113230610c8d9\"\u003e\u003ccode\u003eca621b2\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e0874d213832bbeaa8eb265c79479b01b5fa7392\"\u003e\u003ccode\u003ee0874d2\u003c/code\u003e\u003c/a\u003e feat: support random access for files in solid RAR4 archives\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/90f0548c728b0bf2e94f6e26f9e6396d9d0a7262\"\u003e\u003ccode\u003e90f0548\u003c/code\u003e\u003c/a\u003e build(deps): bump org.jreleaser from 1.23.0 to 1.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/83a5d085dc84991226229fef1515cc902d129241\"\u003e\u003ccode\u003e83a5d08\u003c/code\u003e\u003c/a\u003e build(deps): bump commons-io:commons-io from 2.21.0 to 2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/338efcb5472be051989fbafd7179d561c71722eb\"\u003e\u003ccode\u003e338efcb\u003c/code\u003e\u003c/a\u003e ci: replace deprecated action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/5270d235ade54d96dfc9958ab06f495fbbd169e7\"\u003e\u003ccode\u003e5270d23\u003c/code\u003e\u003c/a\u003e perf: replace RarCRC.checkCrc with java.util.zip.CRC32\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d5abcdb9af988ddfa76e98d80787e15525488332\"\u003e\u003ccode\u003ed5abcdb\u003c/code\u003e\u003c/a\u003e build(deps): bump com.github.ben-manes.versions from 0.53.0 to 0.54.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/edadb28896962fdcf754029bafd0994aaff24530\"\u003e\u003ccode\u003eedadb28\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.10 [skip ci]\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.7...v7.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.21.2 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.1\u003c/strong\u003e is out now, adding support for the \u003ccode\u003ere2j\u003c/code\u003e regular expression engine for regex-based CSS selectors, a configurable maximum parser depth, and numerous bug fixes and improvements.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jsoup.org/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for using the \u003ccode\u003ere2j\u003c/code\u003e regular expression engine for regex-based CSS selectors (e.g. \u003ccode\u003e[attr~=regex]\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e), which ensures linear-time performance for regex evaluation. This allows safer handling of arbitrary user-supplied query regexes. To enable, add the \u003ccode\u003ecom.google.re2j\u003c/code\u003e dependency to your classpath, e.g.:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"xml\"\u003e\u003ccode\u003e  \u0026lt;dependency\u0026gt;\r\n    \u0026lt;groupId\u0026gt;com.google.re2j\u0026lt;/groupId\u0026gt;\r\n    \u0026lt;artifactId\u0026gt;re2j\u0026lt;/artifactId\u0026gt;\r\n    \u0026lt;version\u0026gt;1.8\u0026lt;/version\u0026gt;\r\n  \u0026lt;/dependency\u0026gt;\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e(If you already have that dependency in your classpath, but you want to keep using the Java regex engine, you can disable re2j via \u003ccode\u003eSystem.setProperty(\u0026quot;jsoup.useRe2j\u0026quot;, \u0026quot;false\u0026quot;)\u003c/code\u003e.) You can confirm that the re2j engine has been enabled correctly by calling \u003ccode\u003eRegex.usingRe2j()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2407\"\u003e#2407\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.22.1 (2026-Jan-01)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for using the \u003ccode\u003ere2j\u003c/code\u003e regular expression engine for regex-based CSS selectors (e.g. \u003ccode\u003e[attr~=regex]\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e), which ensures linear-time performance for regex evaluation. This allows safer handling of arbitrary user-supplied query regexes. To enable, add the \u003ccode\u003ecom.google.re2j\u003c/code\u003e dependency to your classpath, e.g.:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"xml\"\u003e\u003ccode\u003e  \u0026lt;dependency\u0026gt;\n    \u0026lt;groupId\u0026gt;com.google.re2j\u0026lt;/groupId\u0026gt;\n    \u0026lt;artifactId\u0026gt;re2j\u0026lt;/artifactId\u0026gt;\n    \u0026lt;version\u0026gt;1.8\u0026lt;/version\u0026gt;\n  \u0026lt;/dependency\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e(If you already have that dependency in your classpath, but you want to keep using the Java regex engine, you can disable re2j via \u003ccode\u003eSystem.setProperty(\u0026quot;jsoup.useRe2j\u0026quot;, \u0026quot;false\u0026quot;)\u003c/code\u003e.) You can confirm that the re2j engine has been enabled correctly by calling \u003ccode\u003eorg.jsoup.helper.Regex.usingRe2j()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2407\"\u003e#2407\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an instance method \u003ccode\u003eParser#unescape(String, boolean)\u003c/code\u003e that unescapes HTML entities using the parser's configuration (e.g. to support error tracking), complementing the existing static utility \u003ccode\u003eParser.unescapeEntities(String, boolean)\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2396\"\u003e#2396\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded a configurable maximum parser depth (to limit the number of open elements on stack) to both HTML and XML parsers. The HTML parser now defaults to a depth of 512 to match browser behavior, and protect against unbounded stack growth, while the XML parser keeps unlimited depth by default, but can opt into a limit via \u003ccode\u003eorg.jsoup.parser.Parser#setMaxDepth\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2421\"\u003e#2421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild: added CI coverage for JDK 25 \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2403\"\u003e#2403\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild: added a CI fuzzer for contextual fragment parsing (in addition to existing full body HTML and XML fuzzers). [oss-fuzz \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/14041\"\u003e#14041\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/google/oss-fuzz/pull/14041\"\u003egoogle/oss-fuzz#14041\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSet a removal schedule of jsoup 1.24.1 for previously deprecated APIs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreviously cached child \u003ccode\u003eElements\u003c/code\u003e of an \u003ccode\u003eElement\u003c/code\u003e were not correctly invalidated in \u003ccode\u003eNode#replaceWith(Node)\u003c/code\u003e, which could lead to incorrect results when subsequently calling \u003ccode\u003eElement#children()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2391\"\u003e#2391\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAttribute selector values are now compared literally without trimming. Previously, jsoup trimmed whitespace from selector values and from element attribute values, which could cause mismatches with browser behavior (e.g. \u003ccode\u003e[attr=\u0026quot; foo \u0026quot;]\u003c/code\u003e). Now matches align with the CSS specification and browser engines. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2380\"\u003e#2380\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using the JDK HttpClient, any system default proxy (\u003ccode\u003eProxySelector.getDefault()\u003c/code\u003e) was ignored. Now, the system proxy is used if a per-request proxy is not set. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2388\"\u003e#2388\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2390\"\u003e#2390\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003eValidationException\u003c/code\u003e could be thrown in the adoption agency algorithm with particularly broken input. Now logged as a parse error. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2393\"\u003e#2393\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNull characters in the HTML body were not consistently removed; and in foreign content were not correctly replaced. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2395\"\u003e#2395\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAn \u003ccode\u003eIndexOutOfBoundsException\u003c/code\u003e could be thrown when parsing a body fragment with crafted input. Now logged as a parse error. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2397\"\u003e#2397\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2406\"\u003e#2406\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using StructuralEvaluators (e.g., a \u003ccode\u003eparent child\u003c/code\u003e selector) across many retained threads, their memoized results could also be retained, increasing memory use. These results are now cleared immediately after use, reducing overall memory consumption. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2411\"\u003e#2411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCloning a \u003ccode\u003eParser\u003c/code\u003e now preserves any custom \u003ccode\u003eTagSet\u003c/code\u003e applied to the parser. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2422\"\u003e#2422\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2423\"\u003e#2423\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.21.2...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 2.8.14 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003espringdoc-openapi v3.0.2 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3229\"\u003e#3229\u003c/a\u003e – Add support for Spring Framework API Versioning with Functional Endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3208\"\u003e#3208\u003c/a\u003e – Add \u003ccode\u003espringdoc.swagger-ui.document-title\u003c/code\u003e property\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.3\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.43\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Scalar to version \u003cstrong\u003e0.5.55\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3232\"\u003e#3232\u003c/a\u003e – Gracefully handle springdoc endpoint paths during API version resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3230\"\u003e#3230\u003c/a\u003e – Scalar source URLs resolve to \u003ccode\u003enull/\u0026lt;groupName\u0026gt;\u003c/code\u003e on second request when using \u003ccode\u003eGroupedOpenApi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3228\"\u003e#3228\u003c/a\u003e – springdoc-openapi-starter 3.x doesn't depend on \u003ccode\u003eorg.springframework.boot:spring-boot-starter\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.0.2] - 2026-02-27\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3229\"\u003e#3229\u003c/a\u003e – Add support for Spring Framework API Versioning with Functional Endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3208\"\u003e#3208\u003c/a\u003e – Add \u003ccode\u003espringdoc.swagger-ui.document-title\u003c/code\u003e property\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.3\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.43\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Scalar to version \u003cstrong\u003e0.5.55\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3232\"\u003e#3232\u003c/a\u003e – Gracefully handle springdoc endpoint paths during API version resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3230\"\u003e#3230\u003c/a\u003e – Scalar source URLs resolve to \u003ccode\u003enull/\u0026lt;groupName\u0026gt;\u003c/code\u003e on second request when using \u003ccode\u003eGroupedOpenApi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3228\"\u003e#3228\u003c/a\u003e – springdoc-openapi-starter 3.x doesn't depend on \u003ccode\u003eorg.springframework.boot:spring-boot-starter\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3220\"\u003e#3220\u003c/a\u003e – Reachability metadata not compatible with GraalVM 25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3195\"\u003e#3195\u003c/a\u003e – Application won't compile when OpenApi and spring-boot-data-rest is present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3193\"\u003e#3193\u003c/a\u003e – \u003ccode\u003eOpenApi\u003c/code\u003e field in \u003ccode\u003eSpringDocConfigProperties\u003c/code\u003e does not comply with camel case naming conventions\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v2.8.14...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.tukaani:xz` from 1.11 to 1.12\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tukaani-project/xz-java/blob/master/NEWS.md\"\u003eorg.tukaani:xz's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.12 (2026-03-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix ArrayIndexOutOfBoundsException in the LZMA/LZMA2 encoder on\nx86-64 and ARM64 when running on Java 9 or newer. The affected\ncode isn't used on Java 8. The bug is present in versions 1.10\nand 1.11. If one cannot upgrade, one should set the property\n\u003ccode\u003eorg.tukaani.xz.MatchLengthFinder=Basic\u003c/code\u003e to disable the affected\ncode path.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix ArrayCache usage in LZMAInputStream. If ArrayCache was enabled,\ndecompression was likely to fail quickly when the cache returns a\ncached array. ArrayCache is disabled by default.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe binaries of 1.12 in the Maven Central require Java 8 and\ncontain optimized classes for Java \u0026gt;= 9 as multi-release JAR.\nThey were built with OpenJDK 21.0.10 on GNU/Linux and can be\nreproduced using the following command:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eSOURCE_DATE_EPOCH=1772370000 TZ=UTC0 ant maven\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/107a519fac1e6789101ad9c234afe3dc407be7f5\"\u003e\u003ccode\u003e107a519\u003c/code\u003e\u003c/a\u003e Bump the version number to 1.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/3061152e66a8ea2cc6366fd5da21409b8a3d4788\"\u003e\u003ccode\u003e3061152\u003c/code\u003e\u003c/a\u003e Update NEWS.md for 1.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/0ecee25c1590dae305135317cf6e768f49093af7\"\u003e\u003ccode\u003e0ecee25\u003c/code\u003e\u003c/a\u003e Refactor EXTRA_SIZE to getExtraSize()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/ac1aeb197dd8589dc6892f13f5ef68801383ec34\"\u003e\u003ccode\u003eac1aeb1\u003c/code\u003e\u003c/a\u003e Fix ArrayIndexOutOfBoundsException in the LZMA/LZMA2 encoder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/12c75fd1d06ef7db89335d3da1ca5bb91ab6ac0b\"\u003e\u003ccode\u003e12c75fd\u003c/code\u003e\u003c/a\u003e Fix ArrayCache usage with LZMAInputStream\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/e52d9ad621afcaa422668484bad91ce7ba0506ef\"\u003e\u003ccode\u003ee52d9ad\u003c/code\u003e\u003c/a\u003e SHA256SUMS: Add 1.11 files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/9a755ec5335de00ce365b365b72e4683e591171f\"\u003e\u003ccode\u003e9a755ec\u003c/code\u003e\u003c/a\u003e CI: Add missing SPDX tags\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tukaani-project/xz-java/compare/v1.11...v1.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tools.jackson:jackson-bom` from 3.0.4 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/c2ea79e9178f0aaa5e4f381c644140357bfc307e\"\u003e\u003ccode\u003ec2ea79e\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3906b27dcdde8fc6a4fef193147109b70bf2f0dc\"\u003e\u003ccode\u003e3906b27\u003c/code\u003e\u003c/a\u003e Prep for 3.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/b17b616c7dc264cfef26f9dd28eaf54bc40b5c4c\"\u003e\u003ccode\u003eb17b616\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/36cf9995cff15aa3e69786da1d6c52f208fddf8a\"\u003e\u003ccode\u003e36cf999\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0ae1c2ae270dabe8e21700cbcee1c266b54e84f0\"\u003e\u003ccode\u003e0ae1c2a\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3c171ebd5d6c5d8f6e8d4f3614cf9b4f0a8babb9\"\u003e\u003ccode\u003e3c171eb\u003c/code\u003e\u003c/a\u003e Prep for 3.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/8046ced071e0b36747bae0f0a96fa21914de1303\"\u003e\u003ccode\u003e8046ced\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ea00ca4cc59ba656a17a071e30a68387e51d3e0d\"\u003e\u003ccode\u003eea00ca4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0628060381a5b86e3fc07854a27b7453de559b7e\"\u003e\u003ccode\u003e0628060\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/22b8aeec79b87751a41c586404850c526eed1dbe\"\u003e\u003ccode\u003e22b8aee\u003c/code\u003e\u003c/a\u003e Prep for 3.1.1 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-3.0.4...jackson-bom-3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.0 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.2.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed frequency tracking of weak keys to use the object's identity hash code (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1902\"\u003e#1902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for underscores in \u003ccode\u003eCaffeineSpec\u003c/code\u003e when using numeric literals (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1890\"\u003e#1890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved the external api to no longer lock when querying for the maximum size or weighted size (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1897\"\u003e#1897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded detection and recovery when a custom \u003ccode\u003eCompletableFuture\u003c/code\u003e is in an inconsistent state (\u003ca href=\"https://redirect.github.com/quarkusio/quarkus/issues/50513\"\u003equarkus#50513\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.2.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed characteristics returned by Spliterators (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1883\"\u003e#1883\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e for an async cache's synchronous view to retry if incomplete\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eCaffeineSpec\u003c/code\u003e when being reflectively constructed (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1839\"\u003e#1839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved the handling of negative durations with variable expiration\u003c/li\u003e\n\u003cli\u003eFixed intermittent null after replacing a weak/soft value (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1820\"\u003e#1820\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.0...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.assertj:assertj-core` from 3.27.6 to 3.27.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/assertj/assertj/releases\"\u003eorg.assertj:assertj-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.27.7\u003c/h2\u003e\n\u003ch2\u003e:lock: Security\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix XXE vulnerability in \u003ccode\u003eisXmlEqualTo\u003c/code\u003e assertion (CVE-2026-24400)\n\u003cul\u003e\n\u003cli\u003eSee GHSA-rqfh-9r24-8c9r for details; many thanks to \u003ca href=\"https://github.com/wxt201\"\u003e\u003ccode\u003e@​wxt201\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Song-Li\"\u003e\u003ccode\u003e@​Song-Li\u003c/code\u003e\u003c/a\u003e for responsibly reporting it!\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:no_entry_sign: Deprecated\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eXmlStringPrettyFormatter\u003c/code\u003e with no replacement\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:bug: Bug Fixes\u003c/h2\u003e\n\u003ch3\u003eGuava\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNavigation to \u003ccode\u003eassertj-core\u003c/code\u003e or \u003ccode\u003eguava\u003c/code\u003e types from \u003ccode\u003eassertj-guava\u003c/code\u003e Javadoc site has unnecessary header \u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3478\"\u003e#3478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Byte Buddy 1.18.3\u003c/li\u003e\n\u003cli\u003eUpgrade to JUnit BOM 5.14.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eGuava\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Guava 33.5.0-jre\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/e84071667f5f8f13084af9dfa54cee5fd9db18db\"\u003e\u003ccode\u003ee840716\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release assertj-build-3.27.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/85ca7eb6609bb179c043b85ae7d290523b1ba79a\"\u003e\u003ccode\u003e85ca7eb\u003c/code\u003e\u003c/a\u003e Deprecate \u003ccode\u003eXmlStringPrettyFormatter\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/77081dc5eb107141df80f95bd0149b468e451341\"\u003e\u003ccode\u003e77081dc\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/b68fc24a9de28f28a486fc5b887c1b8a003a5823\"\u003e\u003ccode\u003eb68fc24\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.31.9 to 4.31.10 in the github-actions group ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/0cf5bb6c50f6ead3deaa2a2ff50ef1e7d933c8a3\"\u003e\u003ccode\u003e0cf5bb6\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003ekotlin.version\u003c/code\u003e from 2.1.0 to 2.2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/d393ef1f5e48c89d47d7cf6d1eae359ceda0a126\"\u003e\u003ccode\u003ed393ef1\u003c/code\u003e\u003c/a\u003e Abort tests when symbolic links cannot be created (\u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3788\"\u003e#3788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/22124331e9922af5a43ab50f7a9a25b65be53be1\"\u003e\u003ccode\u003e2212433\u003c/code\u003e\u003c/a\u003e Add IntelliJ custom inspection for test class names\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/5717d025cfe0f4c66de20f3253c0b0ecba259aa1\"\u003e\u003ccode\u003e5717d02\u003c/code\u003e\u003c/a\u003e Update JetBrains icon\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/a8ec20bd42ed01f9cc6f654046c7dd424b0af07c\"\u003e\u003ccode\u003ea8ec20b\u003c/code\u003e\u003c/a\u003e Add icon for JetBrains products\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/c05fb3d052b415fb2d6051df939f3b7903a76afe\"\u003e\u003ccode\u003ec05fb3d\u003c/code\u003e\u003c/a\u003e Bump Maven to 3.9.12 and Wrapper to 3.3.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/assertj/assertj/compare/assertj-build-3.27.6...assertj-build-3.27.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 4.0.2 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a...\n\n_Description has been truncated_","html_url":"https://github.com/BlindMint/booklore/pull/15","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlindMint%2Fbooklore/issues/15","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/15/packages"},{"uuid":"4499518853","node_id":"PR_kwDORprh4c7eL9QV","number":40,"state":"open","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 15 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-22T03:12:50.000Z","updated_at":"2026-05-22T03:17:36.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":15,"packages":[{"name":"org.mariadb.jdbc:mariadb-java-client","old_version":"3.5.7","new_version":"3.5.8","repository_url":"https://github.com/mariadb-corporation/mariadb-connector-j"},{"name":"org.flywaydb:flyway-mysql","old_version":"12.1.1","new_version":"12.6.2"},{"name":"org.projectlombok:lombok","old_version":"1.18.44","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"org.apache.pdfbox:jbig2-imageio","old_version":"3.0.4","new_version":"3.0.5"},{"name":"com.github.RouHim:jaudiotagger","old_version":"2.0.18","new_version":"2.0.21"},{"name":"com.github.junrar:junrar","old_version":"7.5.8","new_version":"7.6.0","repository_url":"https://github.com/junrar/junrar"},{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"4.0.7","new_version":"4.0.8"},{"name":"tools.jackson:jackson-bom","old_version":"3.1.0","new_version":"3.1.3","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"org.springframework.boot","old_version":"4.0.3","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.hibernate.orm","old_version":"7.3.0.Final","new_version":"7.3.5.Final"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"gradle-wrapper","old_version":"9.4.0","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 15 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) | `3.5.7` | `3.5.8` |\n| org.flywaydb:flyway-mysql | `12.1.1` | `12.6.2` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.44` | `1.18.46` |\n| org.apache.pdfbox:jbig2-imageio | `3.0.4` | `3.0.5` |\n| com.github.RouHim:jaudiotagger | `2.0.18` | `2.0.21` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.8` | `7.6.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `3.0.2` | `3.0.3` |\n| org.glassfish.jaxb:jaxb-runtime | `4.0.7` | `4.0.8` |\n| [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `3.1.0` | `3.1.3` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.2.3` | `3.2.4` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.3` | `4.0.6` |\n| org.hibernate.orm | `7.3.0.Final` | `7.3.5.Final` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.0` | `9.5.1` |\n\n\nUpdates `org.mariadb.jdbc:mariadb-java-client` from 3.5.7 to 3.5.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/releases\"\u003eorg.mariadb.jdbc:mariadb-java-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eMariaDB Connector/Java 3.5.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/blob/main/CHANGELOG.md\"\u003eorg.mariadb.jdbc:mariadb-java-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/26b34a2f060070beb73515cfd2a49fabc8728843\"\u003e\u003ccode\u003e26b34a2\u003c/code\u003e\u003c/a\u003e Merge branch 'develop'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/06d6efee7838ab8f89ef0f7f362c6b4a95754630\"\u003e\u003ccode\u003e06d6efe\u003c/code\u003e\u003c/a\u003e bump CI actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a86a83c8fd1fa84d8d4349baab3b29df8f575192\"\u003e\u003ccode\u003ea86a83c\u003c/code\u003e\u003c/a\u003e bump 3.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/975f9919232b21f40d823423eac6e32d87ea8e35\"\u003e\u003ccode\u003e975f991\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to implement Codec directly and extract shared...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/75bb509521661603e0e90dd6dd5942d1382bf499\"\u003e\u003ccode\u003e75bb509\u003c/code\u003e\u003c/a\u003e [misc] code formatting cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/4c0b6a0ddd95f42fa866ce0d08e384caa2553d43\"\u003e\u003ccode\u003e4c0b6a0\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to extend UtilDateCodec and extract common dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a5b7fb1a26277a076052dbbd1a7ee2bacd4f602f\"\u003e\u003ccode\u003ea5b7fb1\u003c/code\u003e\u003c/a\u003e [misc] convert Reader and Writer from interfaces to final class implementatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/d31eb060fc66e9e37479e18a38bb1401d53ecb63\"\u003e\u003ccode\u003ed31eb06\u003c/code\u003e\u003c/a\u003e [misc] convert ReadableByteBuf from interface to final class implementation, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/11d45a9e6ea4d942e75747132bb8982471d890b8\"\u003e\u003ccode\u003e11d45a9\u003c/code\u003e\u003c/a\u003e [misc] optimize binary row decoder null bitmap checks and simplify signed Big...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/5aad14c381cbc2c4e0383ffed275306f359bd508\"\u003e\u003ccode\u003e5aad14c\u003c/code\u003e\u003c/a\u003e [misc] optimize BigInt column decoding and improve type safety in codec inter...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb:flyway-mysql` from 12.1.1 to 12.6.2\n\nUpdates `org.projectlombok:lombok` from 1.18.44 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.44...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.pdfbox:jbig2-imageio` from 3.0.4 to 3.0.5\n\nUpdates `com.github.RouHim:jaudiotagger` from 2.0.18 to 2.0.21\n\nUpdates `com.github.junrar:junrar` from 7.5.8 to 7.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.6.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport random access for files in solid RAR4 archives (\u003ca href=\"https://github.com/junrar/junrar/commits/e0874d2\"\u003ee0874d2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🏎 Perf\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereplace RarCRC.checkCrc with java.util.zip.CRC32 (\u003ca href=\"https://github.com/junrar/junrar/commits/5270d23\"\u003e5270d23\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump gradle-wrapper to 9.5.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/cb4b7fd\"\u003ecb4b7fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/0bb56b3\"\u003e0bb56b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/ca621b2\"\u003eca621b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.23.0 to 1.24.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/90f0548\"\u003e90f0548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/83a5d08\"\u003e83a5d08\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.github.ben-manes.versions from 0.53.0 to 0.54.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d5abcdb\"\u003ed5abcdb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated action (\u003ca href=\"https://github.com/junrar/junrar/commits/338efcb\"\u003e338efcb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Gauthier Roebroeck, Robin Schimpf\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier Roebroeck\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.9\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.10...v7.6.0\"\u003e7.6.0\u003c/a\u003e (2026-05-13)\u003c/h1\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport random access for files in solid RAR4 archives (\u003ca href=\"https://github.com/junrar/junrar/commits/e0874d2\"\u003ee0874d2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🏎 Perf\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereplace RarCRC.checkCrc with java.util.zip.CRC32 (\u003ca href=\"https://github.com/junrar/junrar/commits/5270d23\"\u003e5270d23\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump gradle-wrapper to 9.5.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/cb4b7fd\"\u003ecb4b7fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/0bb56b3\"\u003e0bb56b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/ca621b2\"\u003eca621b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.23.0 to 1.24.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/90f0548\"\u003e90f0548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/83a5d08\"\u003e83a5d08\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.github.ben-manes.versions from 0.53.0 to 0.54.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d5abcdb\"\u003ed5abcdb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated action (\u003ca href=\"https://github.com/junrar/junrar/commits/338efcb\"\u003e338efcb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.9...v7.5.10\"\u003e7.5.10\u003c/a\u003e (2026-04-15)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.9\"\u003e7.5.9\u003c/a\u003e (2026-04-13)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/cb4b7fdb84269e95741fa22120e08ceb15a06152\"\u003e\u003ccode\u003ecb4b7fd\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper to 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/0bb56b3df4e3b6d14f73de92746a2eb47dd2d7a3\"\u003e\u003ccode\u003e0bb56b3\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/ca621b22421f9e846df23112b32113230610c8d9\"\u003e\u003ccode\u003eca621b2\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e0874d213832bbeaa8eb265c79479b01b5fa7392\"\u003e\u003ccode\u003ee0874d2\u003c/code\u003e\u003c/a\u003e feat: support random access for files in solid RAR4 archives\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/90f0548c728b0bf2e94f6e26f9e6396d9d0a7262\"\u003e\u003ccode\u003e90f0548\u003c/code\u003e\u003c/a\u003e build(deps): bump org.jreleaser from 1.23.0 to 1.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/83a5d085dc84991226229fef1515cc902d129241\"\u003e\u003ccode\u003e83a5d08\u003c/code\u003e\u003c/a\u003e build(deps): bump commons-io:commons-io from 2.21.0 to 2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/338efcb5472be051989fbafd7179d561c71722eb\"\u003e\u003ccode\u003e338efcb\u003c/code\u003e\u003c/a\u003e ci: replace deprecated action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/5270d235ade54d96dfc9958ab06f495fbbd169e7\"\u003e\u003ccode\u003e5270d23\u003c/code\u003e\u003c/a\u003e perf: replace RarCRC.checkCrc with java.util.zip.CRC32\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d5abcdb9af988ddfa76e98d80787e15525488332\"\u003e\u003ccode\u003ed5abcdb\u003c/code\u003e\u003c/a\u003e build(deps): bump com.github.ben-manes.versions from 0.53.0 to 0.54.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/edadb28896962fdcf754029bafd0994aaff24530\"\u003e\u003ccode\u003eedadb28\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.10 [skip ci]\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.22.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.22.1...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.glassfish.jaxb:jaxb-runtime` from 4.0.7 to 4.0.8\n\nUpdates `tools.jackson:jackson-bom` from 3.1.0 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/c2ea79e9178f0aaa5e4f381c644140357bfc307e\"\u003e\u003ccode\u003ec2ea79e\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3906b27dcdde8fc6a4fef193147109b70bf2f0dc\"\u003e\u003ccode\u003e3906b27\u003c/code\u003e\u003c/a\u003e Prep for 3.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/b17b616c7dc264cfef26f9dd28eaf54bc40b5c4c\"\u003e\u003ccode\u003eb17b616\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/36cf9995cff15aa3e69786da1d6c52f208fddf8a\"\u003e\u003ccode\u003e36cf999\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0ae1c2ae270dabe8e21700cbcee1c266b54e84f0\"\u003e\u003ccode\u003e0ae1c2a\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3c171ebd5d6c5d8f6e8d4f3614cf9b4f0a8babb9\"\u003e\u003ccode\u003e3c171eb\u003c/code\u003e\u003c/a\u003e Prep for 3.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/8046ced071e0b36747bae0f0a96fa21914de1303\"\u003e\u003ccode\u003e8046ced\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ea00ca4cc59ba656a17a071e30a68387e51d3e0d\"\u003e\u003ccode\u003eea00ca4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0628060381a5b86e3fc07854a27b7453de559b7e\"\u003e\u003ccode\u003e0628060\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/22b8aeec79b87751a41c586404850c526eed1dbe\"\u003e\u003ccode\u003e22b8aee\u003c/code\u003e\u003c/a\u003e Prep for 3.1.1 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-3.1.0...jackson-bom-3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 4.0.3 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnversRevisionRepositoriesRegistrar should reuse \u003ccode\u003e@EnableEnversRepositories\u003c/code\u003e rather than configuring the JPA counterpart \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50039\"\u003e#50039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebFlux Cloud Foundry links endpoint includes query string from received request in resolved links \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50017\"\u003e#50017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImports on a containing test class are ignored when a nested class has imports \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50012\"\u003e#50012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49951\"\u003e#49951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e500 response from env endpoint when supplied pattern is invalid \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49946\"\u003e#49946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49945\"\u003e#49945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP method is lost when configuring excludes in EndpointRequest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49943\"\u003e#49943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor HttpMethod for reactive additional endpoint paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49880\"\u003e#49880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/artemis image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49869\"\u003e#49869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/activemq image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49866\"\u003e#49866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49854\"\u003e#49854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI versioning path strategy should be applied path last as it is not meant to yield \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49800\"\u003e#49800\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs to encourage Java fundamentals for beginners that prefer to learn that way \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50146\"\u003e#50146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP Service Interface Clients still document that API versioning can be configured via properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50126\"\u003e#50126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the observability section of the Lettuce documentation is broken \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50097\"\u003e#50097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJavadoc for StaticResourceLocation.FAVICON doesn't describe icons location \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50085\"\u003e#50085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySamlRelyingPartyConfiguration is missing a Kotlin sample \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50024\"\u003e#50024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect default value for management.httpexchanges.recording.include in configuration metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50019\"\u003e#50019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the Kubernetes documentation when discussing startup probes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50015\"\u003e#50015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in JdbcSessionAutoConfiguration Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49873\"\u003e#49873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify that configuration property default values are not available through the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49851\"\u003e#49851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument the need for Liquibase and Flyway starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49839\"\u003e#49839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKafka documentation refers to deprecated JSON serializer and deserializer classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49826\"\u003e#49826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Elasticsearch Client 9.2.8 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50027\"\u003e#50027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Groovy 5.0.5 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49911\"\u003e#49911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Hibernate 7.2.12.Final \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50134\"\u003e#50134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Jackson Bom 3.1.2 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50051\"\u003e#50051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1\"\u003eJaxen 2.0.1\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50104\"\u003e#50104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5\"\u003eJaybird 6.0.5\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49914\"\u003e#49914\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/8821ad2cd381bb4b9615a61479e1de7305a8ba39\"\u003e\u003ccode\u003e8821ad2\u003c/code\u003e\u003c/a\u003e Release v4.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9e4048a03f17adfe78057a3c4d5b4693305c0ae0\"\u003e\u003ccode\u003e9e4048a\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/20bb11c3984802990572ddbeae8b66885a8f2462\"\u003e\u003ccode\u003e20bb11c\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.15-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/98daa8ea30f39a5b0ca6768b5cbc2dc8698ef4e1\"\u003e\u003ccode\u003e98daa8e\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9dc5aa2863f598a15d3dfa116f4b89249daba7e7\"\u003e\u003ccode\u003e9dc5aa2\u003c/code\u003e\u003c/a\u003e Polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/874f6294b91da18367b8b5ab7b2fad3fa23cfba6\"\u003e\u003ccode\u003e874f629\u003c/code\u003e\u003c/a\u003e Fix default security with actuator but without health\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/e41b3bf731d1134bc18ec1f68ac01e0fe1c54923\"\u003e\u003ccode\u003ee41b3bf\u003c/code\u003e\u003c/a\u003e Enable hostname verification for SSL connections to Elasticsearch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ef8527bb0ef8f564f4f9c57a7be99a7aa96c6ab0\"\u003e\u003ccode\u003eef8527b\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f533a4549c3999aac30cb5830f07dc304933e93d\"\u003e\u003ccode\u003ef533a45\u003c/code\u003e\u003c/a\u003e Do not follow symlinks when writing PID file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4a7bd332b6d19fef1aa4cf28434985f2b03a2e0f\"\u003e\u003ccode\u003e4a7bd33\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.3...v4.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.hibernate.orm` from 7.3.0.Final to 7.3.5.Final\n\nUpdates `com.github.ben-manes.versions` from 0.53.0 to 0.54.0\n\nUpdates `gradle-wrapper` from 9.4.0 to 9.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd78213f09782e62ca4957f9cfd3d90c6c3f1767\"\u003e\u003ccode\u003efd78213\u003c/code\u003e\u003c/a\u003e Update Documentation Infrastructure: Fix scrolling issue in user manual (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37861\"\u003e#37861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7758437128d1c52702786ad719a13ade1b860aa8\"\u003e\u003ccode\u003e7758437\u003c/code\u003e\u003c/a\u003e fix scroll\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2fd605fdcd69fea10570e9eb1343bbd7ca01c9d0\"\u003e\u003ccode\u003e2fd605f\u003c/code\u003e\u003c/a\u003e Only try to run as worker thread in DefaultBuildOperationQueue (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37845\"\u003e#37845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/af6984901238402386ae263d746380504e5f9138\"\u003e\u003ccode\u003eaf69849\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37853\"\u003e#37853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f4d9d03e9bb47d2d17b6d8314fdaa32c3d0b3c1e\"\u003e\u003ccode\u003ef4d9d03\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/01eda3adf40dbe97e81475e813705409dcfe1091\"\u003e\u003ccode\u003e01eda3a\u003c/code\u003e\u003c/a\u003e Address review feedback on worker-lease retry changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7024e15139b2db9df831dd15a8b9e9052acd9a51\"\u003e\u003ccode\u003e7024e15\u003c/code\u003e\u003c/a\u003e Revert enrich file visitor with size info on \u003ccode\u003erelease\u003c/code\u003e branch (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37848\"\u003e#37848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d51476fda21330c037a04b43ec9a93a929d05b87\"\u003e\u003ccode\u003ed51476f\u003c/code\u003e\u003c/a\u003e Fix tryRunAsWorkerThread null-return test to match contract\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/090ebabc5b6f648e01c0269a321d80372fdbfe0f\"\u003e\u003ccode\u003e090ebab\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add getLength() to FilePropertyVisitor.VisitState\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/bceab24677298144860f6919bdcb031e806dbf23\"\u003e\u003ccode\u003ebceab24\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix annotation\u0026quot;\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.0...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/Owemeone/grimmory/pull/40","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Owemeone%2Fgrimmory/issues/40","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/40/packages"},{"uuid":"4450916105","node_id":"PR_kwDONdNJI87bw5Zk","number":3404,"state":"open","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 8 updates","user":"dependabot[bot]","labels":["dependencies","minor","backend"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-15T03:10:07.000Z","updated_at":"2026-05-15T03:14:55.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":8,"packages":[{"name":"org.flywaydb:flyway-mysql","old_version":"12.5.0","new_version":"12.6.1"},{"name":"com.github.RouHim:jaudiotagger","old_version":"2.0.16","new_version":"2.0.19"},{"name":"com.github.junrar:junrar","old_version":"7.5.10","new_version":"7.6.0","repository_url":"https://github.com/junrar/junrar"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"4.0.7","new_version":"4.0.8"},{"name":"tools.jackson:jackson-bom","old_version":"3.1.2","new_version":"3.1.3","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"org.hibernate.orm","old_version":"7.3.2.Final","new_version":"7.3.4.Final"},{"name":"gradle-wrapper","old_version":"9.5.0","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 8 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| org.flywaydb:flyway-mysql | `12.5.0` | `12.6.1` |\n| com.github.RouHim:jaudiotagger | `2.0.16` | `2.0.19` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.10` | `7.6.0` |\n| org.glassfish.jaxb:jaxb-runtime | `4.0.7` | `4.0.8` |\n| [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `3.1.2` | `3.1.3` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.2.3` | `3.2.4` |\n| org.hibernate.orm | `7.3.2.Final` | `7.3.4.Final` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.5.0` | `9.5.1` |\n\n\nUpdates `org.flywaydb:flyway-mysql` from 12.5.0 to 12.6.1\n\nUpdates `com.github.RouHim:jaudiotagger` from 2.0.16 to 2.0.19\n\nUpdates `com.github.junrar:junrar` from 7.5.10 to 7.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.6.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport random access for files in solid RAR4 archives (\u003ca href=\"https://github.com/junrar/junrar/commits/e0874d2\"\u003ee0874d2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🏎 Perf\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereplace RarCRC.checkCrc with java.util.zip.CRC32 (\u003ca href=\"https://github.com/junrar/junrar/commits/5270d23\"\u003e5270d23\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump gradle-wrapper to 9.5.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/cb4b7fd\"\u003ecb4b7fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/0bb56b3\"\u003e0bb56b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/ca621b2\"\u003eca621b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.23.0 to 1.24.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/90f0548\"\u003e90f0548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/83a5d08\"\u003e83a5d08\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.github.ben-manes.versions from 0.53.0 to 0.54.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d5abcdb\"\u003ed5abcdb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated action (\u003ca href=\"https://github.com/junrar/junrar/commits/338efcb\"\u003e338efcb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Gauthier Roebroeck, Robin Schimpf\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.10...v7.6.0\"\u003e7.6.0\u003c/a\u003e (2026-05-13)\u003c/h1\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport random access for files in solid RAR4 archives (\u003ca href=\"https://github.com/junrar/junrar/commits/e0874d2\"\u003ee0874d2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🏎 Perf\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereplace RarCRC.checkCrc with java.util.zip.CRC32 (\u003ca href=\"https://github.com/junrar/junrar/commits/5270d23\"\u003e5270d23\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump gradle-wrapper to 9.5.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/cb4b7fd\"\u003ecb4b7fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/0bb56b3\"\u003e0bb56b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/ca621b2\"\u003eca621b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.23.0 to 1.24.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/90f0548\"\u003e90f0548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/83a5d08\"\u003e83a5d08\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.github.ben-manes.versions from 0.53.0 to 0.54.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d5abcdb\"\u003ed5abcdb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated action (\u003ca href=\"https://github.com/junrar/junrar/commits/338efcb\"\u003e338efcb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/cb4b7fdb84269e95741fa22120e08ceb15a06152\"\u003e\u003ccode\u003ecb4b7fd\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper to 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/0bb56b3df4e3b6d14f73de92746a2eb47dd2d7a3\"\u003e\u003ccode\u003e0bb56b3\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/ca621b22421f9e846df23112b32113230610c8d9\"\u003e\u003ccode\u003eca621b2\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e0874d213832bbeaa8eb265c79479b01b5fa7392\"\u003e\u003ccode\u003ee0874d2\u003c/code\u003e\u003c/a\u003e feat: support random access for files in solid RAR4 archives\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/90f0548c728b0bf2e94f6e26f9e6396d9d0a7262\"\u003e\u003ccode\u003e90f0548\u003c/code\u003e\u003c/a\u003e build(deps): bump org.jreleaser from 1.23.0 to 1.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/83a5d085dc84991226229fef1515cc902d129241\"\u003e\u003ccode\u003e83a5d08\u003c/code\u003e\u003c/a\u003e build(deps): bump commons-io:commons-io from 2.21.0 to 2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/338efcb5472be051989fbafd7179d561c71722eb\"\u003e\u003ccode\u003e338efcb\u003c/code\u003e\u003c/a\u003e ci: replace deprecated action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/5270d235ade54d96dfc9958ab06f495fbbd169e7\"\u003e\u003ccode\u003e5270d23\u003c/code\u003e\u003c/a\u003e perf: replace RarCRC.checkCrc with java.util.zip.CRC32\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d5abcdb9af988ddfa76e98d80787e15525488332\"\u003e\u003ccode\u003ed5abcdb\u003c/code\u003e\u003c/a\u003e build(deps): bump com.github.ben-manes.versions from 0.53.0 to 0.54.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/edadb28896962fdcf754029bafd0994aaff24530\"\u003e\u003ccode\u003eedadb28\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.10 [skip ci]\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.10...v7.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.glassfish.jaxb:jaxb-runtime` from 4.0.7 to 4.0.8\n\nUpdates `tools.jackson:jackson-bom` from 3.1.2 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/c2ea79e9178f0aaa5e4f381c644140357bfc307e\"\u003e\u003ccode\u003ec2ea79e\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3906b27dcdde8fc6a4fef193147109b70bf2f0dc\"\u003e\u003ccode\u003e3906b27\u003c/code\u003e\u003c/a\u003e Prep for 3.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/b17b616c7dc264cfef26f9dd28eaf54bc40b5c4c\"\u003e\u003ccode\u003eb17b616\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/36cf9995cff15aa3e69786da1d6c52f208fddf8a\"\u003e\u003ccode\u003e36cf999\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-3.1.2...jackson-bom-3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.hibernate.orm` from 7.3.2.Final to 7.3.4.Final\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\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/booklore-app/booklore/pull/3404","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/booklore-app%2Fbooklore/issues/3404","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3404/packages"},{"uuid":"4411731466","node_id":"PR_kwDOKOpASc7Zzt2_","number":159,"state":"closed","title":"[main]: bump com.github.ben-manes.caffeine:caffeine from 3.2.3 to 3.2.4","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-09T07:44:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-09T07:42:37.000Z","updated_at":"2026-05-09T07:44:59.000Z","time_to_close":133,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"[main]","packages":[{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"}],"path":null,"ecosystem":"maven"},"body":"Bumps [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) from 3.2.3 to 3.2.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.github.ben-manes.caffeine:caffeine\u0026package-manager=gradle\u0026previous-version=3.2.3\u0026new-version=3.2.4)](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/porturl/porturl-backend/pull/159","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/porturl%2Fporturl-backend/issues/159","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/159/packages"},{"uuid":"4411219491","node_id":"PR_kwDOJFOFaM7ZyDSh","number":881,"state":"open","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 11 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-09T04:56:42.000Z","updated_at":"2026-05-09T04:57:19.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":11,"packages":[{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"},{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"org.apache.logging.log4j:log4j-slf4j2-impl","old_version":"2.25.4","new_version":"2.26.0"},{"name":"org.apache.logging.log4j:log4j-core","old_version":"2.25.4","new_version":"2.26.0"},{"name":"org.jline:jline-reader","old_version":"4.0.12","new_version":"4.1.0","repository_url":"https://github.com/jline/jline3"},{"name":"com.palantir.javapoet:javapoet","old_version":"0.14.0","new_version":"0.15.0","repository_url":"https://github.com/palantir/javapoet"},{"name":"io.netty:netty-transport-classes-epoll","old_version":"4.2.12.Final","new_version":"4.2.13.Final","repository_url":"https://github.com/netty/netty"},{"name":"io.netty:netty-transport-classes-kqueue","old_version":"4.2.12.Final","new_version":"4.2.13.Final","repository_url":"https://github.com/netty/netty"},{"name":"com.github.oshi:oshi-core","old_version":"6.12.0","new_version":"7.1.0","repository_url":"https://github.com/oshi/oshi"},{"name":"com.jetbrains.intellij.java:java-gui-forms-rt","old_version":"261.23567.143","new_version":"261.23567.174","repository_url":"https://github.com/JetBrains/intellij-community"},{"name":"io.sentry:sentry-log4j2","old_version":"8.40.0","new_version":"8.41.0","repository_url":"https://github.com/getsentry/sentry-java"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 11 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.0` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.2.3` | `3.2.4` |\n| org.apache.logging.log4j:log4j-slf4j2-impl | `2.25.4` | `2.26.0` |\n| org.apache.logging.log4j:log4j-core | `2.25.4` | `2.26.0` |\n| [org.jline:jline-reader](https://github.com/jline/jline3) | `4.0.12` | `4.1.0` |\n| [com.palantir.javapoet:javapoet](https://github.com/palantir/javapoet) | `0.14.0` | `0.15.0` |\n| [io.netty:netty-transport-classes-epoll](https://github.com/netty/netty) | `4.2.12.Final` | `4.2.13.Final` |\n| [io.netty:netty-transport-classes-kqueue](https://github.com/netty/netty) | `4.2.12.Final` | `4.2.13.Final` |\n| [com.github.oshi:oshi-core](https://github.com/oshi/oshi) | `6.12.0` | `7.1.0` |\n| [com.jetbrains.intellij.java:java-gui-forms-rt](https://github.com/JetBrains/intellij-community) | `261.23567.143` | `261.23567.174` |\n| [io.sentry:sentry-log4j2](https://github.com/getsentry/sentry-java) | `8.40.0` | `8.41.0` |\n\n\nUpdates `gradle-wrapper` from 9.4.1 to 9.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.0/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.0 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0 RC4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/3fe117d68f3907790f3809f121aa36303a9151f8\"\u003e\u003ccode\u003e3fe117d\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37703\"\u003e#37703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/33d145af6fbe7cf7c9d84646b6d7f32fea91d5e2\"\u003e\u003ccode\u003e33d145a\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7a05d1ed48442eb5da4d6e2b6593da55cdec1da\"\u003e\u003ccode\u003ef7a05d1\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37654\"\u003e#37654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/266facdcbcb0b4c60120cc118eaf0f652bfcdfe5\"\u003e\u003ccode\u003e266facd\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0ad6dd8e143455707e444aa7e3d38327a3366513\"\u003e\u003ccode\u003e0ad6dd8\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37646\"\u003e#37646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/966025d5850d46c9158a2f25e4096222277ecf57\"\u003e\u003ccode\u003e966025d\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e7455734449e422accebf44cf7b31bf93e3a770c\"\u003e\u003ccode\u003ee745573\u003c/code\u003e\u003c/a\u003e Polish IP docs (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37642\"\u003e#37642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d5cfd079acd2c8f1182edd6ec23dbab571132d0a\"\u003e\u003ccode\u003ed5cfd07\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37629\"\u003e#37629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/acdf0c36fa13ba09a7ff5b51f79b9af4b1a097ee\"\u003e\u003ccode\u003eacdf0c3\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7d0e4f6f7896426a8b24091388e4c252b62faef\"\u003e\u003ccode\u003ef7d0e4f\u003c/code\u003e\u003c/a\u003e Rename anchor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.1...v9.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.logging.log4j:log4j-slf4j2-impl` from 2.25.4 to 2.26.0\n\nUpdates `org.apache.logging.log4j:log4j-core` from 2.25.4 to 2.26.0\n\nUpdates `org.apache.logging.log4j:log4j-core` from 2.25.4 to 2.26.0\n\nUpdates `org.jline:jline-reader` from 4.0.12 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/jline/jline3/releases\"\u003eorg.jline:jline-reader's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eJLine 4.1.0\u003c/h2\u003e\n\u003cp\u003eJLine 4.1 is the first minor release of the 4.x series, bringing new features, significant performance improvements, internal refactoring, and many bug fixes across terminal handling, encoding, and platform support.\u003c/p\u003e\n\u003cp\u003eHighlights include streaming pipes with concurrent pipeline execution, a new \u003ccode\u003eSized\u003c/code\u003e interface for uniform terminal size access, optimized display rendering with direct byte buffers, modernized signal handling via Panama FFM \u003ccode\u003esigaction()\u003c/code\u003e, and a comprehensive overhaul of termios constant mappings across all supported platforms.\u003c/p\u003e\n\u003ch2\u003e🚀 New features and improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: introduce Sized interface and Size.of() factory methods (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1731\"\u003e#1731\u003c/a\u003e) \u003ca href=\"https://github.com/Elec332\"\u003e\u003ccode\u003e@​Elec332\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Added UnknownCommandException for Shell module (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1780\"\u003e#1780\u003c/a\u003e) \u003ca href=\"https://github.com/Elec332\"\u003e\u003ccode\u003e@​Elec332\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bulk read for NonBlockingPumpInputStream (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1778\"\u003e#1778\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add filterable(boolean) option to list and checkbox prompts (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1784\"\u003e#1784\u003c/a\u003e) \u003ca href=\"https://github.com/ingokegel\"\u003e\u003ccode\u003e@​ingokegel\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Deduplicate AttributedCharSequence#emitStyleChange. (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1788\"\u003e#1788\u003c/a\u003e) \u003ca href=\"https://github.com/Elec332\"\u003e\u003ccode\u003e@​Elec332\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf: optimize Display.update for minimal allocation and output bytes (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1785\"\u003e#1785\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: streaming pipes with concurrent pipeline execution (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1777\"\u003e#1777\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: optimize output rendering with direct byte buffer (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1749\"\u003e#1749\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: modernize signal handling via Panama FFM sigaction() (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1750\"\u003e#1750\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add /dev/tty fallback for terminals with piped streams (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1728\"\u003e#1728\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\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 status bar duplication after vertical resize (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1860\"\u003e#1860\u003c/a\u003e) \u003ca href=\"https://github.com/Abdelilah-AIT-HAMOU\"\u003e\u003ccode\u003e@​Abdelilah-AIT-HAMOU\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: remove proactive isNativeAccessEnabled() checks from terminal providers (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1859\"\u003e#1859\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: prevent DA response bytes from leaking to parent shell (\u003ca href=\"https://redirect.github.com/jline/jline3/issues/1856\"\u003e#1856\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1857\"\u003e#1857\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: correct inverted bounds check in readBuffered methods (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1853\"\u003e#1853\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: wire up unmapped termios constants in JNI and FFM providers (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1838\"\u003e#1838\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: correct Solaris termios constants from octal to proper hex (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1837\"\u003e#1837\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: correct FreeBSD PENDIN and NOFLSH termios constants (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1834\"\u003e#1834\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: correct Linux PENDIN termios constant (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1835\"\u003e#1835\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add missing CDTR_IFLOW readback in OsX toAttributes (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1836\"\u003e#1836\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: replace Thread.sleep() with synchronization in TmuxEncodingTest (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1827\"\u003e#1827\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add VT100 response feedback to SwingTerminal and WebTerminal (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1824\"\u003e#1824\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: use console encoding instead of default charset in Tmux (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1826\"\u003e#1826\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: tail -n counts lines correctly when input lacks trailing newline (fixes \u003ca href=\"https://redirect.github.com/jline/jline3/issues/1787\"\u003e#1787\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1823\"\u003e#1823\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: use terminal encoding instead of default charset in VirtualTerminal (fixes \u003ca href=\"https://redirect.github.com/jline/jline3/issues/1821\"\u003e#1821\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1822\"\u003e#1822\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: close terminal in PromptBuilderTest to prevent resource leak (fixes \u003ca href=\"https://redirect.github.com/jline/jline3/issues/1810\"\u003e#1810\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1820\"\u003e#1820\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: resolve redirect targets against session working directory (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1781\"\u003e#1781\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: erase probe emoji after grapheme cluster width detection (fixes \u003ca href=\"https://redirect.github.com/jline/jline3/issues/1801\"\u003e#1801\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1770\"\u003e#1770\u003c/a\u003e) \u003ca href=\"https://github.com/ingokegel\"\u003e\u003ccode\u003e@​ingokegel\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: close PTY streams before shutdown to prevent hang on macOS (fixes \u003ca href=\"https://redirect.github.com/jline/jline3/issues/1808\"\u003e#1808\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1817\"\u003e#1817\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: register all FFM foreign function signatures for GraalVM native-image (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1802\"\u003e#1802\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: close terminals properly in tests (fixes \u003ca href=\"https://redirect.github.com/jline/jline3/issues/1806\"\u003e#1806\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1814\"\u003e#1814\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: deprecate SwingTerminal.dispose() in favor of close() (fixes \u003ca href=\"https://redirect.github.com/jline/jline3/issues/1805\"\u003e#1805\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1811\"\u003e#1811\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: avoid NPE when closing terminal with null masterOutput (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1813\"\u003e#1813\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Fix AttributedStyle color chaining (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1792\"\u003e#1792\u003c/a\u003e) \u003ca href=\"https://github.com/Elec332\"\u003e\u003ccode\u003e@​Elec332\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: remove spurious (short) casts in Size setters (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1791\"\u003e#1791\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: move Terminal parameter to first position in columnSubSequence and columnSplitLength (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1790\"\u003e#1790\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: compiler error in ScreenTerminal.dump() (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1773\"\u003e#1773\u003c/a\u003e) \u003ca href=\"https://github.com/Elec332\"\u003e\u003ccode\u003e@​Elec332\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\u003echore: Bump actions/upload-pages-artifact from 4 to 5 (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1783\"\u003e#1783\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/jline/jline3/commit/bdec53e8a5fcfd51d4bc104c9ecb05cc9a082623\"\u003e\u003ccode\u003ebdec53e\u003c/code\u003e\u003c/a\u003e chore: fix release-drafter config for 4.x branches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jline/jline3/commit/2af04cf6d2a2250e1dabe85726c969e40e80a501\"\u003e\u003ccode\u003e2af04cf\u003c/code\u003e\u003c/a\u003e refactor: introduce Sized interface and Size.of() factory methods (\u003ca href=\"https://redirect.github.com/jline/jline3/issues/1731\"\u003e#1731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jline/jline3/commit/5ef0aabc4bd0e6f75528a62f0437bd621a1ab341\"\u003e\u003ccode\u003e5ef0aab\u003c/code\u003e\u003c/a\u003e fix: status bar duplication after vertical resize (\u003ca href=\"https://redirect.github.com/jline/jline3/issues/1860\"\u003e#1860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jline/jline3/commit/6141618a675884d95bc3b4be20f185483f526752\"\u003e\u003ccode\u003e6141618\u003c/code\u003e\u003c/a\u003e fix: remove proactive isNativeAccessEnabled() checks from terminal providers ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jline/jline3/commit/78189279a0d35356148b0b32ffd0f1d57aedce03\"\u003e\u003ccode\u003e7818927\u003c/code\u003e\u003c/a\u003e refactor: unify terminal probe response handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jline/jline3/commit/8a6a1d3d09aeea35bcd9a309217be3da53538fde\"\u003e\u003ccode\u003e8a6a1d3\u003c/code\u003e\u003c/a\u003e fix: prevent DA response bytes from leaking to parent shell (\u003ca href=\"https://redirect.github.com/jline/jline3/issues/1856\"\u003e#1856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jline/jline3/commit/0d19e52f9df5f7a87c9b89bfa33ebb2eddc7ab61\"\u003e\u003ccode\u003e0d19e52\u003c/code\u003e\u003c/a\u003e - Added UnknownCommandException (\u003ca href=\"https://redirect.github.com/jline/jline3/issues/1780\"\u003e#1780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jline/jline3/commit/0703cc029181bd95229a9ab673836b7e5a6e5b69\"\u003e\u003ccode\u003e0703cc0\u003c/code\u003e\u003c/a\u003e feat: bulk read(byte[], int, int) for NonBlockingPumpInputStream (\u003ca href=\"https://redirect.github.com/jline/jline3/issues/1776\"\u003e#1776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jline/jline3/commit/83257409e7262f87d6d94cdb7f7dd7a632d5fbae\"\u003e\u003ccode\u003e8325740\u003c/code\u003e\u003c/a\u003e fix: use maven.multiModuleProjectDirectory for test-jar path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jline/jline3/commit/b2e362a49d01ef49395e9c1e22d2c0a8521c2427\"\u003e\u003ccode\u003eb2e362a\u003c/code\u003e\u003c/a\u003e fix: deduplicate ReaderTestSupport between reader and builtins (\u003ca href=\"https://redirect.github.com/jline/jline3/issues/1807\"\u003e#1807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jline/jline3/compare/4.0.12...4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.palantir.javapoet:javapoet` from 0.14.0 to 0.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/palantir/javapoet/releases\"\u003ecom.palantir.javapoet:javapoet's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNo documented user-facing changes\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/palantir/javapoet/compare/0.14.0...0.15.0\"\u003e0.14.0...0.15.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/palantir/javapoet/commit/5420808534db11149a99c999e0421ab9e7b715be\"\u003e\u003ccode\u003e5420808\u003c/code\u003e\u003c/a\u003e Release 0.15.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/palantir/javapoet/commit/3ac52ca72fdba8da2265ee7b529bc7b0b2fe780b\"\u003e\u003ccode\u003e3ac52ca\u003c/code\u003e\u003c/a\u003e [High Priority] Excavator:  Upgrade baseline-error-prone (\u003ca href=\"https://redirect.github.com/palantir/javapoet/issues/448\"\u003e#448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/palantir/javapoet/commit/49b36231349e912399527467d3452733befa98bd\"\u003e\u003ccode\u003e49b3623\u003c/code\u003e\u003c/a\u003e Excavator:  Upgrades Baseline to the latest version (\u003ca href=\"https://redirect.github.com/palantir/javapoet/issues/447\"\u003e#447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/palantir/javapoet/commit/75a185b180b056399cb493555ce58a1a18a5002c\"\u003e\u003ccode\u003e75a185b\u003c/code\u003e\u003c/a\u003e Excavator:  Upgrade com.google.guava:guava to 33.6.0-jre (\u003ca href=\"https://redirect.github.com/palantir/javapoet/issues/445\"\u003e#445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/palantir/javapoet/commit/b4b90a6caca0f11707bb4583ce05777a3dd28b48\"\u003e\u003ccode\u003eb4b90a6\u003c/code\u003e\u003c/a\u003e Excavator:  Upgrade com.google.guava:guava to 33.6.0-jre (\u003ca href=\"https://redirect.github.com/palantir/javapoet/issues/444\"\u003e#444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/palantir/javapoet/commit/87d41f1abb4cd991022cd28235ad73a88041e3fb\"\u003e\u003ccode\u003e87d41f1\u003c/code\u003e\u003c/a\u003e [High Priority] Excavator:  Upgrade baseline-error-prone (\u003ca href=\"https://redirect.github.com/palantir/javapoet/issues/443\"\u003e#443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/palantir/javapoet/compare/0.14.0...0.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.netty:netty-transport-classes-epoll` from 4.2.12.Final to 4.2.13.Final\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/netty/netty/releases\"\u003eio.netty:netty-transport-classes-epoll's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003enetty-4.2.13.Final\u003c/h2\u003e\n\u003ch2\u003eCVEs Fixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-rgrr-p7gp-5xj7\"\u003eCVE-2026-42586\u003c/a\u003e (netty-codec-redis)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-45q3-82m4-75jr\"\u003eCVE-2026-42578\u003c/a\u003e (netty-handler-proxy)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-rwm7-x88c-3g2p\"\u003eCVE-2026-42577\u003c/a\u003e (netty-transport-native-epoll)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-f6hv-jmp6-3vwv\"\u003eCVE-2026-42587\u003c/a\u003e (netty-codec-http, netty-codec-http2)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-v8h7-rr48-vmmv\"\u003eCVE-2026-41417\u003c/a\u003e (netty-codec-http)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-xxqh-mfjm-7mv9\"\u003eCVE-2026-42581\u003c/a\u003e (netty-codec-http)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-m4cv-j2px-7723\"\u003eCVE-2026-42580\u003c/a\u003e (netty-codec-http)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-38f8-5428-x5cv\"\u003eCVE-2026-42585\u003c/a\u003e (netty-codec-http)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-cm33-6792-r9fm\"\u003eCVE-2026-42579\u003c/a\u003e (netty-codec-dns)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-2c5c-chwr-9hqw\"\u003eCVE-2026-42582\u003c/a\u003e (netty-codec-http3)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-mj4r-2hfc-f8p6\"\u003eCVE-2026-42583\u003c/a\u003e (netty-codec, netty-codec-compression)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-57rv-r2g8-2cj3\"\u003eCVE-2026-42584\u003c/a\u003e (netty-codec-http)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-jfg9-48mv-9qgx\"\u003eCVE-2026-44248\u003c/a\u003e (netty-codec-mqtt)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKqueue: sendfile EINTR doesn't advance offset — data duplication by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16544\"\u003enetty/netty#16544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace usage of strerror with thread-safe alternative by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16547\"\u003enetty/netty#16547\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix implementation of strerror_r_xsi for GNU by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16546\"\u003enetty/netty#16546\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazy init ArrayList in DefaultHeaders.getAll by \u003ca href=\"https://github.com/doom369\"\u003e\u003ccode\u003e@​doom369\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16526\"\u003enetty/netty#16526\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLess logging in AWS-LC build by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16565\"\u003enetty/netty#16565\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the CRYPTO_BUFFER_POOL is also freed when we fail creating the SSLContext by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16545\"\u003enetty/netty#16545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-port 4.2: Fix IndexOutOfBoundsException in StompSubframeDecoder on heartbeat by \u003ca href=\"https://github.com/netty-project-bot\"\u003e\u003ccode\u003e@​netty-project-bot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16543\"\u003enetty/netty#16543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid leak in PemReader on OutOfDirectMemoryError by \u003ca href=\"https://github.com/raipc\"\u003e\u003ccode\u003e@​raipc\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16551\"\u003enetty/netty#16551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIoUring: Disable test while we debug to unblock other builds by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16581\"\u003enetty/netty#16581\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInclude user properties and subscription IDs in MqttProperties#isEmpty by \u003ca href=\"https://github.com/ShadowySpirits\"\u003e\u003ccode\u003e@​ShadowySpirits\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16575\"\u003enetty/netty#16575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNative DNS resolver: Guard against malloc failures by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16559\"\u003enetty/netty#16559\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-port 4.2: Increase timeouts for QuicChannelConnectTest by \u003ca href=\"https://github.com/netty-project-bot\"\u003e\u003ccode\u003e@​netty-project-bot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16578\"\u003enetty/netty#16578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix parsing HTTP chunks with multiple extensions by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16579\"\u003enetty/netty#16579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.plexus:plexus-utils from 3.4.2 to 4.0.3 in /codec-native-quic 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/netty/netty/pull/16572\"\u003enetty/netty#16572\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert to PR build to Ubuntu 22.04  by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16595\"\u003enetty/netty#16595\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNative transports: Correctly create pipe when pipe2 is not supported by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16592\"\u003enetty/netty#16592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEpoll: Cleanup code to always return negative value on failure by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16591\"\u003enetty/netty#16591\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix component search fast path by \u003ca href=\"https://github.com/yawkat\"\u003e\u003ccode\u003e@​yawkat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16548\"\u003enetty/netty#16548\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize read-only toStringMultipleThreads1 by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16608\"\u003enetty/netty#16608\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize more AbstractByteBufTests by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16611\"\u003enetty/netty#16611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove note about needing 256-bit for PQC by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16605\"\u003enetty/netty#16605\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize testSessionInvalidate for Conscrypt by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16615\"\u003enetty/netty#16615\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eQuic: Correctly handle SSL_CTX_new failures by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16622\"\u003enetty/netty#16622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake LocalIoHandle public by \u003ca href=\"https://github.com/rdicroce\"\u003e\u003ccode\u003e@​rdicroce\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16621\"\u003enetty/netty#16621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eQuic: Fix shadowing of variable which leads to incorrectly handling errors by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16623\"\u003enetty/netty#16623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-port 4.2: Use stream error for maxContentLength exceeded in InboundHttp2ToHttpAdapter by \u003ca href=\"https://github.com/netty-project-bot\"\u003e\u003ccode\u003e@​netty-project-bot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16629\"\u003enetty/netty#16629\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eshutdownInput\u003c/code\u003e bug in kqueue for empty recv buffer by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16630\"\u003enetty/netty#16630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix FFM address semantics in directBufferAddress by \u003ca href=\"https://github.com/dreamlike-ocean\"\u003e\u003ccode\u003e@​dreamlike-ocean\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16603\"\u003enetty/netty#16603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP2: Ensure HTTP2 preface is always send as first message by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16636\"\u003enetty/netty#16636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove Http2FrameCodecSubClassTest to correct package by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16640\"\u003enetty/netty#16640\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKqueue: Fix usage of LOCAL_PEERPID by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16637\"\u003enetty/netty#16637\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid ArrayQueue allocation in HttpServerCodec by \u003ca href=\"https://github.com/doom369\"\u003e\u003ccode\u003e@​doom369\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16596\"\u003enetty/netty#16596\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix file descriptor reuse bug in kqueue by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16650\"\u003enetty/netty#16650\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/netty/netty/commit/b3844c8108b42f68d56144b36d4d1ed96078a688\"\u003e\u003ccode\u003eb3844c8\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release netty-4.2.13.Final\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/82f47fa53571d04d8add02e3a01762cebd139a00\"\u003e\u003ccode\u003e82f47fa\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/ada0999ae6a011c787203108c8d987e0bc25b82d\"\u003e\u003ccode\u003eada0999\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/b4051e230e2fd349892f3739d6770b006c1d7528\"\u003e\u003ccode\u003eb4051e2\u003c/code\u003e\u003c/a\u003e Fix BrotliDecoder not forwarding all decompressed chunks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/67207c19218d7962f772af234f89de4424c7cf07\"\u003e\u003ccode\u003e67207c1\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/541ca7c645b8bd04901b54136b745622be289d19\"\u003e\u003ccode\u003e541ca7c\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/943edb361423eee5574b636a8c2bf6baf5cb2464\"\u003e\u003ccode\u003e943edb3\u003c/code\u003e\u003c/a\u003e Fix codec-dns tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/6459a284e6653c90fe4b15c0e8516d8302b1cd0e\"\u003e\u003ccode\u003e6459a28\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/b4ba61bd9059156cc9dcece7a81ea389efe571c2\"\u003e\u003ccode\u003eb4ba61b\u003c/code\u003e\u003c/a\u003e Fix checkstyle in HttpObjectDecoder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/977661f71f7511ad68ca17cabd7b5185efb978f4\"\u003e\u003ccode\u003e977661f\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/netty/netty/compare/netty-4.2.12.Final...netty-4.2.13.Final\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.netty:netty-transport-classes-kqueue` from 4.2.12.Final to 4.2.13.Final\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/netty/netty/releases\"\u003eio.netty:netty-transport-classes-kqueue's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003enetty-4.2.13.Final\u003c/h2\u003e\n\u003ch2\u003eCVEs Fixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-rgrr-p7gp-5xj7\"\u003eCVE-2026-42586\u003c/a\u003e (netty-codec-redis)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-45q3-82m4-75jr\"\u003eCVE-2026-42578\u003c/a\u003e (netty-handler-proxy)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-rwm7-x88c-3g2p\"\u003eCVE-2026-42577\u003c/a\u003e (netty-transport-native-epoll)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-f6hv-jmp6-3vwv\"\u003eCVE-2026-42587\u003c/a\u003e (netty-codec-http, netty-codec-http2)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-v8h7-rr48-vmmv\"\u003eCVE-2026-41417\u003c/a\u003e (netty-codec-http)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-xxqh-mfjm-7mv9\"\u003eCVE-2026-42581\u003c/a\u003e (netty-codec-http)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-m4cv-j2px-7723\"\u003eCVE-2026-42580\u003c/a\u003e (netty-codec-http)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-38f8-5428-x5cv\"\u003eCVE-2026-42585\u003c/a\u003e (netty-codec-http)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-cm33-6792-r9fm\"\u003eCVE-2026-42579\u003c/a\u003e (netty-codec-dns)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-2c5c-chwr-9hqw\"\u003eCVE-2026-42582\u003c/a\u003e (netty-codec-http3)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-mj4r-2hfc-f8p6\"\u003eCVE-2026-42583\u003c/a\u003e (netty-codec, netty-codec-compression)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-57rv-r2g8-2cj3\"\u003eCVE-2026-42584\u003c/a\u003e (netty-codec-http)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-jfg9-48mv-9qgx\"\u003eCVE-2026-44248\u003c/a\u003e (netty-codec-mqtt)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKqueue: sendfile EINTR doesn't advance offset — data duplication by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16544\"\u003enetty/netty#16544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace usage of strerror with thread-safe alternative by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16547\"\u003enetty/netty#16547\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix implementation of strerror_r_xsi for GNU by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16546\"\u003enetty/netty#16546\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazy init ArrayList in DefaultHeaders.getAll by \u003ca href=\"https://github.com/doom369\"\u003e\u003ccode\u003e@​doom369\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16526\"\u003enetty/netty#16526\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLess logging in AWS-LC build by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16565\"\u003enetty/netty#16565\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the CRYPTO_BUFFER_POOL is also freed when we fail creating the SSLContext by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16545\"\u003enetty/netty#16545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-port 4.2: Fix IndexOutOfBoundsException in StompSubframeDecoder on heartbeat by \u003ca href=\"https://github.com/netty-project-bot\"\u003e\u003ccode\u003e@​netty-project-bot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16543\"\u003enetty/netty#16543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid leak in PemReader on OutOfDirectMemoryError by \u003ca href=\"https://github.com/raipc\"\u003e\u003ccode\u003e@​raipc\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16551\"\u003enetty/netty#16551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIoUring: Disable test while we debug to unblock other builds by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16581\"\u003enetty/netty#16581\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInclude user properties and subscription IDs in MqttProperties#isEmpty by \u003ca href=\"https://github.com/ShadowySpirits\"\u003e\u003ccode\u003e@​ShadowySpirits\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16575\"\u003enetty/netty#16575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNative DNS resolver: Guard against malloc failures by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16559\"\u003enetty/netty#16559\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-port 4.2: Increase timeouts for QuicChannelConnectTest by \u003ca href=\"https://github.com/netty-project-bot\"\u003e\u003ccode\u003e@​netty-project-bot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16578\"\u003enetty/netty#16578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix parsing HTTP chunks with multiple extensions by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16579\"\u003enetty/netty#16579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.plexus:plexus-utils from 3.4.2 to 4.0.3 in /codec-native-quic 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/netty/netty/pull/16572\"\u003enetty/netty#16572\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert to PR build to Ubuntu 22.04  by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16595\"\u003enetty/netty#16595\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNative transports: Correctly create pipe when pipe2 is not supported by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16592\"\u003enetty/netty#16592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEpoll: Cleanup code to always return negative value on failure by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16591\"\u003enetty/netty#16591\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix component search fast path by \u003ca href=\"https://github.com/yawkat\"\u003e\u003ccode\u003e@​yawkat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16548\"\u003enetty/netty#16548\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize read-only toStringMultipleThreads1 by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16608\"\u003enetty/netty#16608\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize more AbstractByteBufTests by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16611\"\u003enetty/netty#16611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove note about needing 256-bit for PQC by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16605\"\u003enetty/netty#16605\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize testSessionInvalidate for Conscrypt by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16615\"\u003enetty/netty#16615\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eQuic: Correctly handle SSL_CTX_new failures by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16622\"\u003enetty/netty#16622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake LocalIoHandle public by \u003ca href=\"https://github.com/rdicroce\"\u003e\u003ccode\u003e@​rdicroce\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16621\"\u003enetty/netty#16621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eQuic: Fix shadowing of variable which leads to incorrectly handling errors by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16623\"\u003enetty/netty#16623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-port 4.2: Use stream error for maxContentLength exceeded in InboundHttp2ToHttpAdapter by \u003ca href=\"https://github.com/netty-project-bot\"\u003e\u003ccode\u003e@​netty-project-bot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16629\"\u003enetty/netty#16629\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eshutdownInput\u003c/code\u003e bug in kqueue for empty recv buffer by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16630\"\u003enetty/netty#16630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix FFM address semantics in directBufferAddress by \u003ca href=\"https://github.com/dreamlike-ocean\"\u003e\u003ccode\u003e@​dreamlike-ocean\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16603\"\u003enetty/netty#16603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP2: Ensure HTTP2 preface is always send as first message by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16636\"\u003enetty/netty#16636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove Http2FrameCodecSubClassTest to correct package by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16640\"\u003enetty/netty#16640\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKqueue: Fix usage of LOCAL_PEERPID by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16637\"\u003enetty/netty#16637\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid ArrayQueue allocation in HttpServerCodec by \u003ca href=\"https://github.com/doom369\"\u003e\u003ccode\u003e@​doom369\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16596\"\u003enetty/netty#16596\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix file descriptor reuse bug in kqueue by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16650\"\u003enetty/netty#16650\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/netty/netty/commit/b3844c8108b42f68d56144b36d4d1ed96078a688\"\u003e\u003ccode\u003eb3844c8\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release netty-4.2.13.Final\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/82f47fa53571d04d8add02e3a01762cebd139a00\"\u003e\u003ccode\u003e82f47fa\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/ada0999ae6a011c787203108c8d987e0bc25b82d\"\u003e\u003ccode\u003eada0999\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/b4051e230e2fd349892f3739d6770b006c1d7528\"\u003e\u003ccode\u003eb4051e2\u003c/code\u003e\u003c/a\u003e Fix BrotliDecoder not forwarding all decompressed chunks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/67207c19218d7962f772af234f89de4424c7cf07\"\u003e\u003ccode\u003e67207c1\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/541ca7c645b8bd04901b54136b745622be289d19\"\u003e\u003ccode\u003e541ca7c\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/943edb361423eee5574b636a8c2bf6baf5cb2464\"\u003e\u003ccode\u003e943edb3\u003c/code\u003e\u003c/a\u003e Fix codec-dns tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/6459a284e6653c90fe4b15c0e8516d8302b1cd0e\"\u003e\u003ccode\u003e6459a28\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/b4ba61bd9059156cc9dcece7a81ea389efe571c2\"\u003e\u003ccode\u003eb4ba61b\u003c/code\u003e\u003c/a\u003e Fix checkstyle in HttpObjectDecoder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/977661f71f7511ad68ca17cabd7b5185efb978f4\"\u003e\u003ccode\u003e977661f\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/netty/netty/compare/netty-4.2.12.Final...netty-4.2.13.Final\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.netty:netty-transport-classes-kqueue` from 4.2.12.Final to 4.2.13.Final\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/netty/netty/releases\"\u003eio.netty:netty-transport-classes-kqueue's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003enetty-4.2.13.Final\u003c/h2\u003e\n\u003ch2\u003eCVEs Fixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-rgrr-p7gp-5xj7\"\u003eCVE-2026-42586\u003c/a\u003e (netty-codec-redis)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-45q3-82m4-75jr\"\u003eCVE-2026-42578\u003c/a\u003e (netty-handler-proxy)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-rwm7-x88c-3g2p\"\u003eCVE-2026-42577\u003c/a\u003e (netty-transport-native-epoll)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-f6hv-jmp6-3vwv\"\u003eCVE-2026-42587\u003c/a\u003e (netty-codec-http, netty-codec-http2)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-v8h7-rr48-vmmv\"\u003eCVE-2026-41417\u003c/a\u003e (netty-codec-http)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-xxqh-mfjm-7mv9\"\u003eCVE-2026-42581\u003c/a\u003e (netty-codec-http)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-m4cv-j2px-7723\"\u003eCVE-2026-42580\u003c/a\u003e (netty-codec-http)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-38f8-5428-x5cv\"\u003eCVE-2026-42585\u003c/a\u003e (netty-codec-http)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-cm33-6792-r9fm\"\u003eCVE-2026-42579\u003c/a\u003e (netty-codec-dns)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-2c5c-chwr-9hqw\"\u003eCVE-2026-42582\u003c/a\u003e (netty-codec-http3)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-mj4r-2hfc-f8p6\"\u003eCVE-2026-42583\u003c/a\u003e (netty-codec, netty-codec-compression)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-57rv-r2g8-2cj3\"\u003eCVE-2026-42584\u003c/a\u003e (netty-codec-http)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-jfg9-48mv-9qgx\"\u003eCVE-2026-44248\u003c/a\u003e (netty-codec-mqtt)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKqueue: sendfile EINTR doesn't advance offset — data duplication by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16544\"\u003enetty/netty#16544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace usage of strerror with thread-safe alternative by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16547\"\u003enetty/netty#16547\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix implementation of strerror_r_xsi for GNU by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16546\"\u003enetty/netty#16546\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazy init ArrayList in DefaultHeaders.getAll by \u003ca href=\"https://github.com/doom369\"\u003e\u003ccode\u003e@​doom369\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16526\"\u003enetty/netty#16526\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLess logging in AWS-LC build by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16565\"\u003enetty/netty#16565\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the CRYPTO_BUFFER_POOL is also freed when we fail creating the SSLContext by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16545\"\u003enetty/netty#16545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-port 4.2: Fix IndexOutOfBoundsException in StompSubframeDecoder on heartbeat by \u003ca href=\"https://github.com/netty-project-bot\"\u003e\u003ccode\u003e@​netty-project-bot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16543\"\u003enetty/netty#16543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid leak in PemReader on OutOfDirectMemoryError by \u003ca href=\"https://github.com/raipc\"\u003e\u003ccode\u003e@​raipc\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16551\"\u003enetty/netty#16551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIoUring: Disable test while we debug to unblock other builds by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16581\"\u003enetty/netty#16581\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInclude user properties and subscription IDs in MqttProperties#isEmpty by \u003ca href=\"https://github.com/ShadowySpirits\"\u003e\u003ccode\u003e@​ShadowySpirits\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16575\"\u003enetty/netty#16575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNative DNS resolver: Guard against malloc failures by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16559\"\u003enetty/netty#16559\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-port 4.2: Increase timeouts for QuicChannelConnectTest by \u003ca href=\"https://github.com/netty-project-bot\"\u003e\u003ccode\u003e@​netty-project-bot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16578\"\u003enetty/netty#16578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix parsing HTTP chunks with multiple extensions by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16579\"\u003enetty/netty#16579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.plexus:plexus-utils from 3.4.2 to 4.0.3 in /codec-native-quic 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/netty/netty/pull/16572\"\u003enetty/netty#16572\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert to PR build to Ubuntu 22.04  by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16595\"\u003enetty/netty#16595\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNative transports: Correctly create pipe when pipe2 is not supported by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16592\"\u003enetty/netty#16592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEpoll: Cleanup code to always return negative value on failure by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16591\"\u003enetty/netty#16591\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix component search fast path by \u003ca href=\"https://github.com/yawkat\"\u003e\u003ccode\u003e@​yawkat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16548\"\u003enetty/netty#16548\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize read-only toStringMultipleThreads1 by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16608\"\u003enetty/netty#16608\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize more AbstractByteBufTests by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16611\"\u003enetty/netty#16611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove note about needing 256-bit for PQC by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16605\"\u003enetty/netty#16605\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize testSessionInvalidate for Conscrypt by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16615\"\u003enetty/netty#16615\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eQuic: Correctly handle SSL_CTX_new failures by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16622\"\u003enetty/netty#16622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake LocalIoHandle public by \u003ca href=\"https://github.com/rdicroce\"\u003e\u003ccode\u003e@​rdicroce\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16621\"\u003enetty/netty#16621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eQuic: Fix shadowing of variable which leads to incorrectly handling errors by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16623\"\u003enetty/netty#16623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-port 4.2: Use stream error for maxContentLength exceeded in InboundHttp2ToHttpAdapter by \u003ca href=\"https://github.com/netty-project-bot\"\u003e\u003ccode\u003e@​netty-project-bot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16629\"\u003enetty/netty#16629\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eshutdownInput\u003c/code\u003e bug in kqueue for empty recv buffer by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16630\"\u003enetty/netty#16630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix FFM address semantics in directBufferAddress by \u003ca href=\"https://github.com/dreamlike-ocean\"\u003e\u003ccode\u003e@​dreamlike-ocean\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16603\"\u003enetty/netty#16603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP2: Ensure HTTP2 preface is always send as first message by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16636\"\u003enetty/netty#16636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove Http2FrameCodecSubClassTest to correct package by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16640\"\u003enetty/netty#16640\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKqueue: Fix usage of LOCAL_PEERPID by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16637\"\u003enetty/netty#16637\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid ArrayQueue allocation in HttpServerCodec by \u003ca href=\"https://github.com/doom369\"\u003e\u003ccode\u003e@​doom369\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16596\"\u003enetty/netty#16596\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix file descriptor reuse bug in kqueue by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16650\"\u003enetty/netty#16650\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/netty/netty/commit/b3844c8108b42f68d56144b36d4d1ed96078a688\"\u003e\u003ccode\u003eb3844c8\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release netty-4.2.13.Final\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/82f47fa53571d04d8add02e3a01762cebd139a00\"\u003e\u003ccode\u003e82f47fa\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/ada0999ae6a011c787203108c8d987e0bc25b82d\"\u003e\u003ccode\u003eada0999\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/b4051e230e2fd349892f3739d6770b006c1d7528\"\u003e\u003ccode\u003eb4051e2\u003c/code\u003e\u003c/a\u003e Fix BrotliDecoder not forwarding all decompressed chunks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/67207c19218d7962f772af234f89de4424c7cf07\"\u003e\u003ccode\u003e67207c1\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/541ca7c645b8bd04901b54136b745622be289d19\"\u003e\u003ccode\u003e541ca7c\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/943edb361423eee5574b636a8c2bf6baf5cb2464\"\u003e\u003ccode\u003e943edb3\u003c/code\u003e\u003c/a\u003e Fix codec-dns tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/6459a284e6653c90fe4b15c0e8516d8302b1cd0e\"\u003e\u003ccode\u003e6459a28\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/b4ba61bd9059156cc9dcece7a81ea389efe571c2\"\u003e\u003ccode\u003eb4ba61b\u003c/code\u003e\u003c/a\u003e Fix checkstyle in HttpObjectDecoder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/977661f71f7511ad68ca17cabd7b5185efb978f4\"\u003e\u003ccode\u003e977661f\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/netty/netty/compare/netty-4.2.12.Final...netty-4.2.13.Final\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.oshi:oshi-core` from 6.12.0 to 7.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oshi/oshi/releases\"\u003ecom.github.oshi:oshi-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 7.1.0\u003c/h2\u003e\n\u003ch5\u003eNew Features\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/oshi/oshi/pull/3225\"\u003e#3225\u003c/a\u003e: Add CgroupInfo API with Linux cgroup v1/v2 support - \u003ca href=\"https://github.com/rohan-coder02\"\u003e\u003ccode\u003e@​rohan-coder02\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/oshi/oshi/pull/3229\"\u003e#3229\u003c/a\u003e: Support environment variables (\u003ccode\u003eOSHI_*\u003c/code\u003e) for 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/oshi/oshi/issues/3230\"\u003e#3230\u003c/a\u003e: Add disk type information (SSD, HDD, Removable, Virtual) - \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/oshi/oshi/issues/2904\"\u003e#2904\u003c/a\u003e: Add voluntary/involuntary context switch methods to OSProcess - \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/oshi/oshi/issues/3223\"\u003e#3223\u003c/a\u003e: Add \u003ccode\u003eoshi-metrics\u003c/code\u003e module with Micrometer integration for system metrics following OpenTelemetry semantic conventions - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eBug Fixes and Improvements\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/oshi/oshi/pull/3233\"\u003e#3233\u003c/a\u003e: Use WMI formatted \u003ccode\u003e% Processor Performance\u003c/code\u003e counter for Windows CPU frequency, reporting actual turbo boost speeds above base frequency - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/oshi/oshi/blob/master/CHANGELOG.md\"\u003eFull change log\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease 7.0.1\u003c/h2\u003e\n\u003ch5\u003eJPMS Package Moves\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/oshi/oshi/pull/3220\"\u003e#3220\u003c/a\u003e: Move \u003ccode\u003eoshi-core-ffm\u003c/code\u003e utility classes from \u003ccode\u003eoshi.util.gpu\u003c/code\u003e, \u003ccode\u003eoshi.util.platform.mac\u003c/code\u003e, and \u003ccode\u003eoshi.util.platform.windows\u003c/code\u003e packages to \u003ccode\u003eoshi.ffm.util.gpu\u003c/code\u003e, \u003ccode\u003eoshi.ffm.util.platform.mac\u003c/code\u003e, and \u003ccode\u003eoshi.ffm.util.platform.windows\u003c/code\u003e. This eliminates split-package conflicts so \u003ccode\u003eoshi-core\u003c/code\u003e and \u003ccode\u003eoshi-core-ffm\u003c/code\u003e can coexist on the module path - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/oshi/oshi/blob/master/CHANGELOG.md\"\u003eFull change log\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease 7.0.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/oshi/oshi/blob/HEAD/src/site/markdown/Upgrading.md\"\u003eUpgrading\u003c/a\u003e for breaking changes and migration guide.\u003c/p\u003e\n\u003ch5\u003eBreaking Changes\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/oshi/oshi/pull/3180\"\u003e#3180\u003c/a\u003e: Rename \u003ccode\u003eoshi-core-java25\u003c/code\u003e artifact to \u003ccode\u003eoshi-core-ffm\u003c/code\u003e; rename JPMS module from \u003ccode\u003ecom.github.oshi\u003c/code\u003e to \u003ccode\u003ecom.github.oshi.ffm\u003c/code\u003e. A redirection pom is provided for the old artifact ID - \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/oshi/oshi/pull/3181\"\u003e#3181\u003c/a\u003e: Merge \u003ccode\u003eoshi-core-java11\u003c/code\u003e into \u003ccode\u003eoshi-core\u003c/code\u003e; \u003ccode\u003eoshi-core\u003c/code\u003e now includes a module descriptor (\u003ccode\u003ecom.github.oshi\u003c/code\u003e). A redirection pom is provided for the old \u003ccode\u003eoshi-core-java11\u003c/code\u003e artifact ID - \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/oshi/oshi/pull/3182\"\u003e#3182\u003c/a\u003e: Remove deprecated \u003ccode\u003eOSProcess.getResidentSetSize()\u003c/code\u003e (use \u003ccode\u003egetResidentMemory()\u003c/code\u003e or \u003ccode\u003egetPrivateResidentMemory()\u003c/code\u003e), \u003ccode\u003eoshi.PlatformEnum\u003c/code\u003e and \u003ccode\u003eoshi.PlatformEnumFFM\u003c/code\u003e (use \u003ccode\u003eoshi.util.PlatformEnum\u003c/code\u003e), \u003ccode\u003eSystemInfo.getCurrentPlatform()\u003c/code\u003e and \u003ccode\u003eSystemInfoFFM\u003c/code\u003e (use \u003ccode\u003eoshi.util.PlatformEnum.getCurrentPlatform()\u003c/code\u003e and \u003ccode\u003eoshi.ffm.SystemInfo\u003c/code\u003e), and misspelled \u003ccode\u003eGlobalConfig\u003c/code\u003e constants - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eNew Features\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/oshi/oshi/pull/3183\"\u003e#3183\u003c/a\u003e: Add \u003ccode\u003e@PublicApi\u003c/code\u003e annotation to all SemVer-guaranteed API types in \u003ccode\u003eoshi.hardware\u003c/code\u003e, \u003ccode\u003eoshi.software.os\u003c/code\u003e, both \u003ccode\u003eSystemInfo\u003c/code\u003e entry points, and \u003ccode\u003ePlatformEnum\u003c/code\u003e - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/oshi/oshi/blob/master/CHANGELOG.md\"\u003eFull change log\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/oshi/oshi/blob/master/CHANGELOG.md\"\u003ecom.github.oshi:oshi-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e7.1.0 (2026-05-06)\u003c/h1\u003e\n\u003ch5\u003eNew Features\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/oshi/oshi/pull/3225\"\u003e#3225\u003c/a\u003e: Add CgroupInfo API with Linux cgroup v1/v2 support - \u003ca href=\"https://github.com/rohan-coder02\"\u003e\u003ccode\u003e@​rohan-coder02\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/oshi/oshi/pull/3229\"\u003e#3229\u003c/a\u003e: Support environment variables (\u003ccode\u003eOSHI_*\u003c/code\u003e) for 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/oshi/oshi/issues/2857\"\u003e#2857\u003c/a\u003e: Add disk type information (SSD, HDD, Removable, Virtual) - \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/oshi/oshi/issues/2904\"\u003e#2904\u003c/a\u003e: Add voluntary/involuntary context switch methods to OSProcess - \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/oshi/oshi/issues/3223\"\u003e#3223\u003c/a\u003e: Add \u003ccode\u003eoshi-metrics\u003c/code\u003e module with Micrometer integration for system metrics following OpenTelemetry semantic conventions - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eBug Fixes and Improvements\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/oshi/oshi/pull/3233\"\u003e#3233\u003c/a\u003e: Use WMI formatted \u003ccode\u003e% Processor Performance\u003c/code\u003e counter for Windows CPU frequency, reporting actual turbo boost speeds above base frequency - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e7.0.0 (2026-04-30), 7.0.1 (2026-05-02)\u003c/h1\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/oshi/oshi/blob/master/UPGRADING.md\"\u003eUpgrading\u003c/a\u003e for breaking changes and migration guide.\u003c/p\u003e\n\u003ch5\u003eBreaking Changes\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/oshi/oshi/pull/3180\"\u003e#3180\u003c/a\u003e: Rename \u003ccode\u003eoshi-core-java25\u003c/code\u003e artifact to \u003ccode\u003eoshi-core-ffm\u003c/code\u003e; rename JPMS module from \u003ccode\u003ecom.github.oshi\u003c/code\u003e to \u003ccode\u003ecom.github.oshi.ffm\u003c/code\u003e. A redirection pom is provided for the old artifact ID - \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/oshi/oshi/pull/3181\"\u003e#3181\u003c/a\u003e: Merge \u003ccode\u003eoshi-core-java11\u003c/code\u003e into \u003ccode\u003eoshi-core\u003c/code\u003e; \u003ccode\u003eoshi-core\u003c/code\u003e now includes a module descriptor (\u003ccode\u003ecom.github.oshi\u003c/code\u003e). A redirection pom is provided for the old \u003ccode\u003eoshi-core-java11\u003c/code\u003e artifact ID - \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/oshi/oshi/pull/3182\"\u003e#3182\u003c/a\u003e: Remove deprecated \u003ccode\u003eOSProcess.getResidentSetSize()\u003c/code\u003e (use \u003ccode\u003egetResidentMemory()\u003c/code\u003e or \u003ccode\u003egetPrivateResidentMemory()\u003c/code\u003e), \u003ccode\u003eoshi.PlatformEnum\u003c/code\u003e and \u003ccode\u003eoshi.PlatformEnumFFM\u003c/code\u003e (use \u003ccode\u003eoshi.util.PlatformEnum\u003c/code\u003e), \u003ccode\u003eSystemInfo.getCurrentPlatform()\u003c/code\u003e and \u003ccode\u003eSystemInfoFFM\u003c/code\u003e (use \u003ccode\u003eoshi.util.PlatformEnum.getCurrentPlatform()\u003c/code\u003e and \u003ccode\u003eoshi.ffm.SystemInfo\u003c/code\u003e), and misspelled \u003ccode\u003eGlobalConfig\u003c/code\u003e constants - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eNew Features\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/oshi/oshi/pull/3183\"\u003e#3183\u003c/a\u003e: Add \u003ccode\u003e@PublicApi\u003c/code\u003e annotation to all SemVer-guaranteed API types in \u003ccode\u003eoshi.hardware\u003c/code...\n\n_Description has been truncated_","html_url":"https://github.com/AllayMC/Allay/pull/881","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/AllayMC%2FAllay/issues/881","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/881/packages"},{"uuid":"4404030442","node_id":"PR_kwDOSJNB6s7ZaKTG","number":12,"state":"open","title":"build(deps): bump the minor-and-patch group across 1 directory with 8 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-08T05:34:09.000Z","updated_at":"2026-05-08T05:37:06.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"minor-and-patch","update_count":8,"packages":[{"name":"io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom","old_version":"2.26.1","new_version":"2.27.0","repository_url":"https://github.com/open-telemetry/opentelemetry-java-instrumentation"},{"name":"io.github.cdimascio:dotenv-java","old_version":"3.1.0","new_version":"3.2.0","repository_url":"https://github.com/cdimascio/dotenv-java"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"software.amazon.awssdk:bom","old_version":"2.29.45","new_version":"2.44.4"},{"name":"org.keycloak:keycloak-admin-client","old_version":"26.0.8","new_version":"26.0.9","repository_url":"https://github.com/keycloak/keycloak-client"},{"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":"org.springframework.boot","old_version":"4.0.5","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the minor-and-patch group with 8 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom](https://github.com/open-telemetry/opentelemetry-java-instrumentation) | `2.26.1` | `2.27.0` |\n| [io.github.cdimascio:dotenv-java](https://github.com/cdimascio/dotenv-java) | `3.1.0` | `3.2.0` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `3.0.2` | `3.0.3` |\n| software.amazon.awssdk:bom | `2.29.45` | `2.44.4` |\n| [org.keycloak:keycloak-admin-client](https://github.com/keycloak/keycloak-client) | `26.0.8` | `26.0.9` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.1.8` | `3.2.4` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.5` | `4.0.6` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.0` |\n\n\nUpdates `io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom` from 2.26.1 to 2.27.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-instrumentation/releases\"\u003eio.opentelemetry.instrumentation:opentelemetry-instrumentation-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.27.0\u003c/h2\u003e\n\u003cp\u003eThis release targets the OpenTelemetry SDK 1.61.0.\u003c/p\u003e\n\u003cp\u003eNote that many artifacts have the \u003ccode\u003e-alpha\u003c/code\u003e suffix attached to their version number, reflecting that they will continue to have breaking changes. Please see \u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/VERSIONING.md#opentelemetry-java-instrumentation-versioning\"\u003eVERSIONING.md\u003c/a\u003e for more details.\u003c/p\u003e\n\u003ch3\u003e⚠️ Breaking changes to non-stable APIs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003eAbstractKtorServerTelemetryBuilder.isOpenTelemetryInitialized()\u003c/code\u003e protected (previously public). (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17509\"\u003e#17509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eExperimentalInstrumentationModule.injectClasses(ClassInjector)\u003c/code\u003e with \u003ccode\u003eexposedClassNames()\u003c/code\u003e for exposing helper classes to the application class loader. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17765\"\u003e#17765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMoved \u003ccode\u003eWebApplicationContextInstrumentation\u003c/code\u003e from the \u003ccode\u003espring-web\u003c/code\u003e instrumentation module to \u003ccode\u003espring-webmvc\u003c/code\u003e; users who disabled it via \u003ccode\u003eotel.instrumentation.spring-web.enabled=false\u003c/code\u003e must now use \u003ccode\u003eotel.instrumentation.spring-webmvc.enabled=false\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17856\"\u003e#17856\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🚫 Deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eKafkaTelemetryBuilder.setMessagingReceiveInstrumentationEnabled(boolean)\u003c/code\u003e in favor of \u003ccode\u003esetMessagingReceiveTelemetryEnabled(boolean)\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17092\"\u003e#17092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecated GraphQL builder methods \u003ccode\u003esetSanitizeQuery()\u003c/code\u003e and \u003ccode\u003esetAddOperationNameToSpanName()\u003c/code\u003e, and deprecated config key \u003ccode\u003eotel.instrumentation.graphql.add-operation-name-to-span-name.enabled\u003c/code\u003e in favor of \u003ccode\u003esetQuerySanitizationEnabled()\u003c/code\u003e, \u003ccode\u003esetOperationNameInSpanNameEnabled()\u003c/code\u003e, and \u003ccode\u003eotel.instrumentation.graphql.operation-name-in-span-name.enabled\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17093\"\u003e#17093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eExperimental.setEnableSqlCommenter()\u003c/code\u003e in JDBC and R2DBC instrumentation in favor of \u003ccode\u003eExperimental.setSqlCommenterEnabled()\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17094\"\u003e#17094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003eotel.instrumentation.servlet.capture-request-parameters\u003c/code\u003e to \u003ccode\u003eotel.instrumentation.servlet.experimental.capture-request-parameters\u003c/code\u003e and \u003ccode\u003eotel.instrumentation.servlet.add-trace-id-request-attribute\u003c/code\u003e to \u003ccode\u003eotel.instrumentation.servlet.experimental.trace-id-request-attribute.enabled\u003c/code\u003e; old property names are deprecated. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17113\"\u003e#17113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecated the declarative config name \u003ccode\u003estatement_sanitizer\u003c/code\u003e in favor of \u003ccode\u003equery_sanitization\u003c/code\u003e, and the declarative config group \u003ccode\u003ecommon.database\u003c/code\u003e in favor of \u003ccode\u003ecommon.db\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17116\"\u003e#17116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecated the GraphQL declarative config name \u003ccode\u003equery_sanitizer\u003c/code\u003e in favor of \u003ccode\u003equery_sanitization\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17455\"\u003e#17455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecated the DB query sanitization system property names \u003ccode\u003eotel.instrumentation.common.db-statement-sanitizer.enabled\u003c/code\u003e, \u003ccode\u003eotel.instrumentation.jdbc.statement-sanitizer.enabled\u003c/code\u003e, \u003ccode\u003eotel.instrumentation.mongo.statement-sanitizer.enabled\u003c/code\u003e, and \u003ccode\u003eotel.instrumentation.r2dbc.statement-sanitizer.enabled\u003c/code\u003e in favor of the corresponding \u003ccode\u003e*.query-sanitization.enabled\u003c/code\u003e names, deprecated \u003ccode\u003eotel.instrumentation.common.experimental.db-sqlcommenter.enabled\u003c/code\u003e in favor of \u003ccode\u003eotel.instrumentation.common.db.experimental.sqlcommenter.enabled\u003c/code\u003e, and deprecated \u003ccode\u003eotel.instrumentation.graphql.query-sanitizer.enabled\u003c/code\u003e in favor of \u003ccode\u003eotel.instrumentation.graphql.query-sanitization.enabled\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17464\"\u003e#17464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eInstrumentationModule.isIndyModule()\u003c/code\u003e; indy mode is now determined by the agent distribution configuration instead of per-module overrides. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17713\"\u003e#17713\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📈 Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003elog4j.map_message.\u003c/code\u003e prefix from MapMessage attributes when \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/13871\"\u003e#13871\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStop normalizing messaging header names (dash to underscore) when \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled, so captured header attribute keys now preserve the original header name. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14554\"\u003e#14554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003edb.system.name\u003c/code\u003e attribute to Vertx SQL client instrumentation when stable database semantic conventions are enabled (\u003ccode\u003eotel.semconv-stability.opt-in=database\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16254\"\u003e#16254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJDBC instrumentation now supports the \u003ccode\u003edb.system.name\u003c/code\u003e attribute with stable semantic convention values (e.g., \u003ccode\u003epostgresql\u003c/code\u003e, \u003ccode\u003eoracle.db\u003c/code\u003e, \u003ccode\u003eibm.db2\u003c/code\u003e, \u003ccode\u003esap.hana\u003c/code\u003e) when stable database semantic conventions are enabled (\u003ccode\u003eotel.semconv-stability.opt-in=database\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16277\"\u003e#16277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e flag that enables upcoming 3.0 breaking changes early. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16459\"\u003e#16459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimized log event MDC attribute mapping in jboss-logmanager, log4j, and logback appenders by pre-computing attribute keys at initialization. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16765\"\u003e#16765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003emessaging.kafka.bootstrap.servers\u003c/code\u003e attribute to Kafka producer spans when \u003ccode\u003eotel.instrumentation.kafka.experimental-span-attributes\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17065\"\u003e#17065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable servlet trace-id request attribute by default when \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17173\"\u003e#17173\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable thread details span processor (\u003ccode\u003eotel.javaagent.add-thread-details\u003c/code\u003e) by default when \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17215\"\u003e#17215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved javaagent startup optimization by decomposing disjunction matchers, allowing more transformations to be skipped during class loading. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17227\"\u003e#17227\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd stable \u003ccode\u003emessaging.kafka.offset\u003c/code\u003e attribute to Kafka instrumentation, gated behind \u003ccode\u003eotel.semconv-stability.preview=messaging\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17785\"\u003e#17785\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve original casing of servlet request parameter names in attribute keys when \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17822\"\u003e#17822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace reflective mutation of Byte Buddy's \u003ccode\u003eAgentBuilder.Default.transformations\u003c/code\u003e with a \u003ccode\u003eClassFileTransformer\u003c/code\u003e hook, avoiding a JDK 26 JEP 500 warning about writing to a final field via reflection. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17824\"\u003e#17824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd javaagent bridging support for OpenTelemetry API 1.61 stable methods including \u003ccode\u003eTracer.isEnabled()\u003c/code\u003e, metric instrument \u003ccode\u003eisEnabled()\u003c/code\u003e, and \u003ccode\u003eLogger.setBody(Body)\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17849\"\u003e#17849\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠️ Bug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eWebClientBeanPostProcessor\u003c/code\u003e and \u003ccode\u003eRestClientBeanPostProcessor\u003c/code\u003e to avoid replacing user-customized builder beans when the OpenTelemetry tracing filter/interceptor is already registered. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15546\"\u003e#15546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix memory leak where bridged observable metric callbacks were never closed when the application-side instrument was garbage collected. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16219\"\u003e#16219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Ktor server instrumentation leaking scope across requests due to \u003ccode\u003erestoreThreadContext\u003c/code\u003e not always being called by Ktor coroutine machinery. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16487\"\u003e#16487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing \u003ccode\u003eschemaUrl\u003c/code\u003e to servlet response instrumenter. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16560\"\u003e#16560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eOpenTelemetryContextDataProvider\u003c/code\u003e calling \u003ccode\u003eGlobalOpenTelemetry.get()\u003c/code\u003e during class initialization, which could interfere with SDK setup ordering. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16638\"\u003e#16638\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix ZIO instrumentation destroying caller thread context on fiber suspend, which caused spans created after \u003ccode\u003eunsafe.run\u003c/code\u003e to lose their parent. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16647\"\u003e#16647\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Spring Boot starter adding a duplicate OpenTelemetry logback appender when the appender is nested inside another appender. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16697\"\u003e#16697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bridging of \u003ccode\u003eVALUE\u003c/code\u003e-type attributes set via \u003ccode\u003eAttributeKey.valueKey()\u003c/code\u003e on spans and log records through the javaagent API bridge. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16750\"\u003e#16750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix unsafe deserialization in RMI instrumentation that could lead to remote code execution (\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/security/advisories/GHSA-xw7x-h9fj-p2c7\"\u003eCVE-2026-33701\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16986\"\u003e#16986\u003c/a\u003e, also released in 2.26.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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/CHANGELOG.md\"\u003eio.opentelemetry.instrumentation:opentelemetry-instrumentation-bom's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.27.0 (2026-04-21)\u003c/h2\u003e\n\u003cp\u003eThis release targets the OpenTelemetry SDK 1.61.0.\u003c/p\u003e\n\u003cp\u003eNote that many artifacts have the \u003ccode\u003e-alpha\u003c/code\u003e suffix attached to their version\nnumber, reflecting that they will continue to have breaking changes. Please see\n\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/VERSIONING.md#opentelemetry-java-instrumentation-versioning\"\u003eVERSIONING.md\u003c/a\u003e\nfor more details.\u003c/p\u003e\n\u003ch3\u003e⚠️ Breaking changes to non-stable APIs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003eAbstractKtorServerTelemetryBuilder.isOpenTelemetryInitialized()\u003c/code\u003e protected (previously\npublic).\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17509\"\u003e#17509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eExperimentalInstrumentationModule.injectClasses(ClassInjector)\u003c/code\u003e with\n\u003ccode\u003eexposedClassNames()\u003c/code\u003e for exposing helper classes to the application class loader.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17765\"\u003e#17765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMoved \u003ccode\u003eWebApplicationContextInstrumentation\u003c/code\u003e from the \u003ccode\u003espring-web\u003c/code\u003e instrumentation module to\n\u003ccode\u003espring-webmvc\u003c/code\u003e; users who disabled it via \u003ccode\u003eotel.instrumentation.spring-web.enabled=false\u003c/code\u003e must\nnow use \u003ccode\u003eotel.instrumentation.spring-webmvc.enabled=false\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17856\"\u003e#17856\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🚫 Deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eKafkaTelemetryBuilder.setMessagingReceiveInstrumentationEnabled(boolean)\u003c/code\u003e in favor of\n\u003ccode\u003esetMessagingReceiveTelemetryEnabled(boolean)\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17092\"\u003e#17092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecated GraphQL builder methods \u003ccode\u003esetSanitizeQuery()\u003c/code\u003e and \u003ccode\u003esetAddOperationNameToSpanName()\u003c/code\u003e, and\ndeprecated config key \u003ccode\u003eotel.instrumentation.graphql.add-operation-name-to-span-name.enabled\u003c/code\u003e in\nfavor of \u003ccode\u003esetQuerySanitizationEnabled()\u003c/code\u003e, \u003ccode\u003esetOperationNameInSpanNameEnabled()\u003c/code\u003e, and\n\u003ccode\u003eotel.instrumentation.graphql.operation-name-in-span-name.enabled\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17093\"\u003e#17093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eExperimental.setEnableSqlCommenter()\u003c/code\u003e in JDBC and R2DBC instrumentation in favor of\n\u003ccode\u003eExperimental.setSqlCommenterEnabled()\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17094\"\u003e#17094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003eotel.instrumentation.servlet.capture-request-parameters\u003c/code\u003e to\n\u003ccode\u003eotel.instrumentation.servlet.experimental.capture-request-parameters\u003c/code\u003e and\n\u003ccode\u003eotel.instrumentation.servlet.add-trace-id-request-attribute\u003c/code\u003e to\n\u003ccode\u003eotel.instrumentation.servlet.experimental.trace-id-request-attribute.enabled\u003c/code\u003e; old property names\nare deprecated.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17113\"\u003e#17113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecated the declarative config name \u003ccode\u003estatement_sanitizer\u003c/code\u003e in favor of \u003ccode\u003equery_sanitization\u003c/code\u003e, and\nthe declarative config group \u003ccode\u003ecommon.database\u003c/code\u003e in favor of \u003ccode\u003ecommon.db\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17116\"\u003e#17116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecated the GraphQL declarative config name \u003ccode\u003equery_sanitizer\u003c/code\u003e in favor of \u003ccode\u003equery_sanitization\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17455\"\u003e#17455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecated the DB query sanitization system property names\n\u003ccode\u003eotel.instrumentation.common.db-statement-sanitizer.enabled\u003c/code\u003e,\n\u003ccode\u003eotel.instrumentation.jdbc.statement-sanitizer.enabled\u003c/code\u003e,\n\u003ccode\u003eotel.instrumentation.mongo.statement-sanitizer.enabled\u003c/code\u003e, and\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-instrumentation/commit/f1973d410d516461d08e3799343d7e368f309b84\"\u003e\u003ccode\u003ef1973d4\u003c/code\u003e\u003c/a\u003e [release/v2.27.x] Prepare release 2.27.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/18116\"\u003e#18116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/54496737d2f680646f5756232b8c9c0de6e2cbc8\"\u003e\u003ccode\u003e5449673\u003c/code\u003e\u003c/a\u003e Review fixes for async-http-client-common-1.8:javaagent (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/18102\"\u003e#18102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/4a62affc02bdf982bb583de7a950af062e7fb245\"\u003e\u003ccode\u003e4a62aff\u003c/code\u003e\u003c/a\u003e Update changelog for upcoming release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/18105\"\u003e#18105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/e2190ed2451093b36e9989d1ea268ac17254f7bc\"\u003e\u003ccode\u003ee2190ed\u003c/code\u003e\u003c/a\u003e Rename JAX-RS 2.0 RESTEasy shared javaagent module to `jaxrs-2.0-resteasy-com...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/afcf274f14262942e40741c91593dc9f4ee38623\"\u003e\u003ccode\u003eafcf274\u003c/code\u003e\u003c/a\u003e chore: update instrumentation list [automated] (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/18109\"\u003e#18109\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/bf241bfcf7db1afaf5ea07062fc8dc04e1e99445\"\u003e\u003ccode\u003ebf241bf\u003c/code\u003e\u003c/a\u003e Split runtime telemetry JFR config from experimental metrics (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/18110\"\u003e#18110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/64d55bf05c51eca318f4bb447b86fee38fc56146\"\u003e\u003ccode\u003e64d55bf\u003c/code\u003e\u003c/a\u003e fix(deps): update gradle develocity packages to v4.4.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/18107\"\u003e#18107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/41393cceeb5055e0184fcacc95cc54698f4b5b1e\"\u003e\u003ccode\u003e41393cc\u003c/code\u003e\u003c/a\u003e fix(deps): update all patch versions to v2.0.5 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/18106\"\u003e#18106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/38914f14980e443b50e93fba708e64c01477a9be\"\u003e\u003ccode\u003e38914f1\u003c/code\u003e\u003c/a\u003e chore(deps): update actions/setup-node action to v6.4.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/18108\"\u003e#18108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/dfbf501d6a3284dd9b87a2812ffd2a11ae87e699\"\u003e\u003ccode\u003edfbf501\u003c/code\u003e\u003c/a\u003e v3_preview applied for lowercase normalization for \u0026lt;name\u0026gt; in servlet.… (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/17822\"\u003e#17822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/compare/v2.26.1...v2.27.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.cdimascio:dotenv-java` from 3.1.0 to 3.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cdimascio/dotenv-java/releases\"\u003eio.github.cdimascio:dotenv-java's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.2.0\u003c/h2\u003e\n\u003ch2\u003e(2025-02-22)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow duplicate keys for variables (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/85\"\u003e#85\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/69c3d92\"\u003e69c3d92\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/85\"\u003e#85\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCmd/melegati ml (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/79\"\u003e#79\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/6d67cbf\"\u003e6d67cbf\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/79\"\u003e#79\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandling real multi line entries. (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/78\"\u003e#78\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/f3c43ec\"\u003ef3c43ec\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/78\"\u003e#78\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate build workflow to upload JaCoCo code coverage report to \u003ca href=\"https://codacy.com\"\u003ehttps://codacy.com\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/54\"\u003e#54\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/655d880\"\u003e655d880\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/54\"\u003e#54\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate README and CONTRIBUTING (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/76\"\u003e#76\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/bd434e1\"\u003ebd434e1\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/76\"\u003e#76\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse Scanner constructor supported since Android Api Level 1 and add tests for UTF-8 values (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/86\"\u003e#86\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/dde80ff\"\u003edde80ff\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/86\"\u003e#86\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ev3.1.0 (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/80\"\u003e#80\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/f9989e1\"\u003ef9989e1\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/80\"\u003e#80\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e(2024-12-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCmd/melegati ml (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/79\"\u003e#79\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/6d67cbf\"\u003e6d67cbf\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/79\"\u003e#79\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandling real multi line entries. (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/78\"\u003e#78\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/f3c43ec\"\u003ef3c43ec\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/78\"\u003e#78\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate build workflow to upload JaCoCo code coverage report to \u003ca href=\"https://codacy.com\"\u003ehttps://codacy.com\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/54\"\u003e#54\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/655d880\"\u003e655d880\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/54\"\u003e#54\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate README and CONTRIBUTING (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/76\"\u003e#76\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/bd434e1\"\u003ebd434e1\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/76\"\u003e#76\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e(2024-09-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDelete .github/workflows/codeql.yml (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/71\"\u003e#71\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/c52803f\"\u003ec52803f\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/71\"\u003e#71\u003c/a\u003e \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/70\"\u003e#70\u003c/a\u003e \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/69\"\u003e#69\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix javadoc target (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/72\"\u003e#72\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/8c0b9c5\"\u003e8c0b9c5\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/72\"\u003e#72\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efixes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/63\"\u003e#63\u003c/a\u003e string oob with ignore malformed (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/74\"\u003e#74\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/4e23eda\"\u003e4e23eda\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/63\"\u003e#63\u003c/a\u003e \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/74\"\u003e#74\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate CHANGELOG.md (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/0fdabfd\"\u003e0fdabfd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate codeql.yml (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/70\"\u003e#70\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/1966f4f\"\u003e1966f4f\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/70\"\u003e#70\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate CONTRIBUTING.md to include signed artifact github upload (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/73\"\u003e#73\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/d216732\"\u003ed216732\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/73\"\u003e#73\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate integrates OpenSSF badging details into README and CONTRIBUTING (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/75\"\u003e#75\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/ba7ec54\"\u003eba7ec54\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/75\"\u003e#75\u003c/a\u003e \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/63\"\u003e#63\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate README.md (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/69\"\u003e#69\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/7870e4f\"\u003e7870e4f\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/69\"\u003e#69\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e(2024-09-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[StepSecurity] Apply security best practices (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/66\"\u003e#66\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/f50dd1b\"\u003ef50dd1b\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/66\"\u003e#66\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support from reading from jimfs in-memory FS (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/60\"\u003e#60\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/0c5642e\"\u003e0c5642e\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/60\"\u003e#60\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreate SECURITY.md (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/65\"\u003e#65\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/162a574\"\u003e162a574\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/65\"\u003e#65\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate CONTRIBUTING.md (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/6d60f39\"\u003e6d60f39\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate CONTRIBUTING.md (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/67\"\u003e#67\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/158a525\"\u003e158a525\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/67\"\u003e#67\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate pom.xml (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/aa8d1d5\"\u003eaa8d1d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ev3.0.1 (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/c8bf7b0\"\u003ec8bf7b0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add manoelcampos as a contributor for code, test, and infra (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/52\"\u003e#52\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/5b6c71d\"\u003e5b6c71d\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/52\"\u003e#52\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e(2023-04-30)\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/cdimascio/dotenv-java/commit/e5dd64f1b13d81d06ec8e1a036c7cc5b1617fd76\"\u003e\u003ccode\u003ee5dd64f\u003c/code\u003e\u003c/a\u003e chore: updates contributing notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/a85f9773140b526294ae19aeaabc5735676c355e\"\u003e\u003ccode\u003ea85f977\u003c/code\u003e\u003c/a\u003e v3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/136787e9d6186b6cc40e94bb2ee54c61ee87be29\"\u003e\u003ccode\u003e136787e\u003c/code\u003e\u003c/a\u003e update contributing notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/e7c273f5ae6289fde51b2955f121e1b9fed9fe5e\"\u003e\u003ccode\u003ee7c273f\u003c/code\u003e\u003c/a\u003e v3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/69c3d9217dbed0b620fe5faf76203543aa2cfe22\"\u003e\u003ccode\u003e69c3d92\u003c/code\u003e\u003c/a\u003e Allow duplicate keys for variables (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/85\"\u003e#85\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/dde80ffe42a9cf9ea3ca9d7e730efbf7315de574\"\u003e\u003ccode\u003edde80ff\u003c/code\u003e\u003c/a\u003e use Scanner constructor supported since Android Api Level 1 and add tests for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/f9989e14d4c1b09026e0a69144387ca196a0d688\"\u003e\u003ccode\u003ef9989e1\u003c/code\u003e\u003c/a\u003e v3.1.0 (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/80\"\u003e#80\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/cdimascio/dotenv-java/compare/v.3.1.0...v3.2.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.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `software.amazon.awssdk:bom` from 2.29.45 to 2.44.4\n\nUpdates `org.keycloak:keycloak-admin-client` from 26.0.8 to 26.0.9\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/keycloak/keycloak-client/commit/0d4e126942b73ca9dcf38caffe1c883447bf6ee4\"\u003e\u003ccode\u003e0d4e126\u003c/code\u003e\u003c/a\u003e Set version to 26.0.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/keycloak/keycloak-client/commit/6c3725309b11a9a8a1992354dd663e601360d2d5\"\u003e\u003ccode\u003e6c37253\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/keycloak/keycloak-client/commit/4cc43060751d695014d8508bbecd0dd33e0655d0\"\u003e\u003ccode\u003e4cc4306\u003c/code\u003e\u003c/a\u003e Sync after Keycloak server 26.6.0 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/keycloak/keycloak-client/compare/26.0.8...26.0.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.1.8 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.2.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed frequency tracking of weak keys to use the object's identity hash code (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1902\"\u003e#1902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for underscores in \u003ccode\u003eCaffeineSpec\u003c/code\u003e when using numeric literals (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1890\"\u003e#1890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved the external api to no longer lock when querying for the maximum size or weighted size (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1897\"\u003e#1897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded detection and recovery when a custom \u003ccode\u003eCompletableFuture\u003c/code\u003e is in an inconsistent state (\u003ca href=\"https://redirect.github.com/quarkusio/quarkus/issues/50513\"\u003equarkus#50513\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.2.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed characteristics returned by Spliterators (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1883\"\u003e#1883\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e for an async cache's synchronous view to retry if incomplete\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eCaffeineSpec\u003c/code\u003e when being reflectively constructed (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1839\"\u003e#1839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved the handling of negative durations with variable expiration\u003c/li\u003e\n\u003cli\u003eFixed intermittent null after replacing a weak/soft value (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1820\"\u003e#1820\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.2.0\u003c/h2\u003e\n\u003cp\u003eCache\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ca href=\"https://www.sigstore.dev/\"\u003eSigstore\u003c/a\u003e signing of maven artifacts\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eExpiry\u003c/code\u003e static factory methods (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1499\"\u003e#1499\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrated to \u003ca href=\"https://jspecify.dev/\"\u003eJSpecify\u003c/a\u003e annotations (was checker framework)\u003c/li\u003e\n\u003cli\u003eFixed variable expiration calculation when nearing overflow\u003c/li\u003e\n\u003cli\u003eAdded logging when an async cache's removal listener fails\u003c/li\u003e\n\u003cli\u003eAdded an expiration write optimization to more operations (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1320\"\u003e#1320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed when a \u003ccode\u003eWeigher\u003c/code\u003e or \u003ccode\u003eExpiry\u003c/code\u003e fail on an async completion (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1687\"\u003e#1687\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed cases when the expiration ticker was also used for statistics (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1678\"\u003e#1678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed refresh handling to skip if the async cache's entry is still loading (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1478\"\u003e#1478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003econtainsKey\u003c/code\u003e for an async cache's synchronous view while in-flight (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1626\"\u003e#1626\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed premature expiration for an async cache when using nearly immediate expiration (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1623\"\u003e#1623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFor a bulk async load returning extra mappings, wait to be added to the cache before returning (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1409\"\u003e#1409\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eGuava\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRelaxed the OSGi version requirement (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1160\"\u003e#1160\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eJCache\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAllow \u003ccode\u003ehibernate.javax.cache.uri\u003c/code\u003e to load the configuration from a jar (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1347\"\u003e#1347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.1.8...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 4.0.5 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnversRevisionRepositoriesRegistrar should reuse \u003ccode\u003e@EnableEnversRepositories\u003c/code\u003e rather than configuring the JPA counterpart \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50039\"\u003e#50039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebFlux Cloud Foundry links endpoint includes query string from received request in resolved links \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50017\"\u003e#50017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImports on a containing test class are ignored when a nested class has imports \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50012\"\u003e#50012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49951\"\u003e#49951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e500 response from env endpoint when supplied pattern is invalid \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49946\"\u003e#49946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49945\"\u003e#49945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP method is lost when configuring excludes in EndpointRequest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49943\"\u003e#49943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor HttpMethod for reactive additional endpoint paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49880\"\u003e#49880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/artemis image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49869\"\u003e#49869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/activemq image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49866\"\u003e#49866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49854\"\u003e#49854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI versioning path strategy should be applied path last as it is not meant to yield \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49800\"\u003e#49800\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs to encourage Java fundamentals for beginners that prefer to learn that way \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50146\"\u003e#50146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP Service Interface Clients still document that API versioning can be configured via properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50126\"\u003e#50126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the observability section of the Lettuce documentation is broken \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50097\"\u003e#50097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJavadoc for StaticResourceLocation.FAVICON doesn't describe icons location \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50085\"\u003e#50085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySamlRelyingPartyConfiguration is missing a Kotlin sample \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50024\"\u003e#50024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect default value for management.httpexchanges.recording.include in configuration metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50019\"\u003e#50019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the Kubernetes documentation when discussing startup probes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50015\"\u003e#50015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in JdbcSessionAutoConfiguration Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49873\"\u003e#49873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify that configuration property default values are not available through the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49851\"\u003e#49851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument the need for Liquibase and Flyway starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49839\"\u003e#49839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKafka documentation refers to deprecated JSON serializer and deserializer classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49826\"\u003e#49826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Elasticsearch Client 9.2.8 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50027\"\u003e#50027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Groovy 5.0.5 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49911\"\u003e#49911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Hibernate 7.2.12.Final \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50134\"\u003e#50134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Jackson Bom 3.1.2 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50051\"\u003e#50051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1\"\u003eJaxen 2.0.1\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50104\"\u003e#50104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5\"\u003eJaybird 6.0.5\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49914\"\u003e#49914\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/8821ad2cd381bb4b9615a61479e1de7305a8ba39\"\u003e\u003ccode\u003e8821ad2\u003c/code\u003e\u003c/a\u003e Release v4.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9e4048a03f17adfe78057a3c4d5b4693305c0ae0\"\u003e\u003ccode\u003e9e4048a\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/20bb11c3984802990572ddbeae8b66885a8f2462\"\u003e\u003ccode\u003e20bb11c\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.15-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/98daa8ea30f39a5b0ca6768b5cbc2dc8698ef4e1\"\u003e\u003ccode\u003e98daa8e\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9dc5aa2863f598a15d3dfa116f4b89249daba7e7\"\u003e\u003ccode\u003e9dc5aa2\u003c/code\u003e\u003c/a\u003e Polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/874f6294b91da18367b8b5ab7b2fad3fa23cfba6\"\u003e\u003ccode\u003e874f629\u003c/code\u003e\u003c/a\u003e Fix default security with actuator but without health\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/e41b3bf731d1134bc18ec1f68ac01e0fe1c54923\"\u003e\u003ccode\u003ee41b3bf\u003c/code\u003e\u003c/a\u003e Enable hostname verification for SSL connections to Elasticsearch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ef8527bb0ef8f564f4f9c57a7be99a7aa96c6ab0\"\u003e\u003ccode\u003eef8527b\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f533a4549c3999aac30cb5830f07dc304933e93d\"\u003e\u003ccode\u003ef533a45\u003c/code\u003e\u003c/a\u003e Do not follow symlinks when writing PID file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4a7bd332b6d19fef1aa4cf28434985f2b03a2e0f\"\u003e\u003ccode\u003e4a7bd33\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.5...v4.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gradle-wrapper` from 9.4.1 to 9.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.0/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.0 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0 RC4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/3fe117d68f3907790f3809f121aa36303a9151f8\"\u003e\u003ccode\u003e3fe117d\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37703\"\u003e#37703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/33d145af6fbe7cf7c9d84646b6d7f32fea91d5e2\"\u003e\u003ccode\u003e33d145a\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7a05d1ed48442eb5da4d6e2b6593da55cdec1da\"\u003e\u003ccode\u003ef7a05d1\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37654\"\u003e#37654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/266facdcbcb0b4c60120cc118eaf0f652bfcdfe5\"\u003e\u003ccode\u003e266facd\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0ad6dd8e143455707e444aa7e3d38327a3366513\"\u003e\u003ccode\u003e0ad6dd8\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37646\"\u003e#37646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/966025d5850d46c9158a2f25e4096222277ecf57\"\u003e\u003ccode\u003e966025d\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e7455734449e422accebf44cf7b31bf93e3a770c\"\u003e\u003ccode\u003ee745573\u003c/code\u003e\u003c/a\u003e Polish IP docs (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37642\"\u003e#37642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d5cfd079acd2c8f1182edd6ec23dbab571132d0a\"\u003e\u003ccode\u003ed5cfd07\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37629\"\u003e#37629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/acdf0c36fa13ba09a7ff5b51f79b9af4b1a097ee\"\u003e\u003ccode\u003eacdf0c3\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7d0e4f6f7896426a8b24091388e4c252b62faef\"\u003e\u003ccode\u003ef7d0e4f\u003c/code\u003e\u003c/a\u003e Rename anchor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.1...v9.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/Bonker009/hrd-room-auth/pull/12","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bonker009%2Fhrd-room-auth/issues/12","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/12/packages"},{"uuid":"4403511891","node_id":"PR_kwDORvJjTc7ZYe1x","number":26,"state":"closed","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 17 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-05-22T03:12:36.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-08T03:12:00.000Z","updated_at":"2026-05-22T03:12:38.000Z","time_to_close":1209636,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":17,"packages":[{"name":"org.mariadb.jdbc:mariadb-java-client","old_version":"3.5.7","new_version":"3.5.8","repository_url":"https://github.com/mariadb-corporation/mariadb-connector-j"},{"name":"org.flywaydb:flyway-mysql","old_version":"12.0.3","new_version":"12.5.0"},{"name":"org.projectlombok:lombok","old_version":"1.18.42","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"org.apache.pdfbox:pdfbox","old_version":"3.0.6","new_version":"3.0.7"},{"name":"com.github.RouHim:jaudiotagger","old_version":"2.0.16","new_version":"2.0.19"},{"name":"com.github.junrar:junrar","old_version":"7.5.8","new_version":"7.5.10","repository_url":"https://github.com/junrar/junrar"},{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"4.0.6","new_version":"4.0.8"},{"name":"tools.jackson:jackson-bom","old_version":"3.1.0","new_version":"3.1.3","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"org.springframework.boot","old_version":"4.0.3","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.hibernate.orm","old_version":"7.2.6.Final","new_version":"7.3.3.Final"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"gradle-wrapper","old_version":"9.4.0","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 15 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) | `3.5.7` | `3.5.8` |\n| org.flywaydb:flyway-mysql | `12.0.3` | `12.5.0` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.42` | `1.18.46` |\n| org.apache.pdfbox:pdfbox | `3.0.6` | `3.0.7` |\n| com.github.RouHim:jaudiotagger | `2.0.16` | `2.0.19` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.8` | `7.5.10` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `3.0.2` | `3.0.3` |\n| org.glassfish.jaxb:jaxb-runtime | `4.0.6` | `4.0.8` |\n| [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `3.1.0` | `3.1.3` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.2.3` | `3.2.4` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.3` | `4.0.6` |\n| org.hibernate.orm | `7.2.6.Final` | `7.3.3.Final` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.0` | `9.5.0` |\n\n\nUpdates `org.mariadb.jdbc:mariadb-java-client` from 3.5.7 to 3.5.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/releases\"\u003eorg.mariadb.jdbc:mariadb-java-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eMariaDB Connector/Java 3.5.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/blob/main/CHANGELOG.md\"\u003eorg.mariadb.jdbc:mariadb-java-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/26b34a2f060070beb73515cfd2a49fabc8728843\"\u003e\u003ccode\u003e26b34a2\u003c/code\u003e\u003c/a\u003e Merge branch 'develop'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/06d6efee7838ab8f89ef0f7f362c6b4a95754630\"\u003e\u003ccode\u003e06d6efe\u003c/code\u003e\u003c/a\u003e bump CI actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a86a83c8fd1fa84d8d4349baab3b29df8f575192\"\u003e\u003ccode\u003ea86a83c\u003c/code\u003e\u003c/a\u003e bump 3.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/975f9919232b21f40d823423eac6e32d87ea8e35\"\u003e\u003ccode\u003e975f991\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to implement Codec directly and extract shared...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/75bb509521661603e0e90dd6dd5942d1382bf499\"\u003e\u003ccode\u003e75bb509\u003c/code\u003e\u003c/a\u003e [misc] code formatting cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/4c0b6a0ddd95f42fa866ce0d08e384caa2553d43\"\u003e\u003ccode\u003e4c0b6a0\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to extend UtilDateCodec and extract common dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a5b7fb1a26277a076052dbbd1a7ee2bacd4f602f\"\u003e\u003ccode\u003ea5b7fb1\u003c/code\u003e\u003c/a\u003e [misc] convert Reader and Writer from interfaces to final class implementatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/d31eb060fc66e9e37479e18a38bb1401d53ecb63\"\u003e\u003ccode\u003ed31eb06\u003c/code\u003e\u003c/a\u003e [misc] convert ReadableByteBuf from interface to final class implementation, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/11d45a9e6ea4d942e75747132bb8982471d890b8\"\u003e\u003ccode\u003e11d45a9\u003c/code\u003e\u003c/a\u003e [misc] optimize binary row decoder null bitmap checks and simplify signed Big...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/5aad14c381cbc2c4e0383ffed275306f359bd508\"\u003e\u003ccode\u003e5aad14c\u003c/code\u003e\u003c/a\u003e [misc] optimize BigInt column decoding and improve type safety in codec inter...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb:flyway-mysql` from 12.0.3 to 12.5.0\n\nUpdates `org.projectlombok:lombok` from 1.18.42 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.44 (March 11th, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFEATURE: \u003ccode\u003e@Jacksonized\u003c/code\u003e now supports both Jackson2 and Jackson3; you'll get a warning until you configure which one (or even both!) you want lombok to generate. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3950\"\u003e#3950\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: On JDK25, \u003ccode\u003eval\u003c/code\u003e and \u003ccode\u003e@ExtensionMethod\u003c/code\u003e could sometimes cause erroneous errors (in that you see errors but compilation succeeds anyway) using javac. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3947\"\u003e#3947\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e + fields marked \u003ccode\u003etransient\u003c/code\u003e would result in those transient fields being serialised which is surprising (and thus undesired) behaviour. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3936\"\u003e#3936\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.42...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.pdfbox:pdfbox` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:pdfbox-io` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:xmpbox` from 3.0.6 to 3.0.7\n\nUpdates `com.github.RouHim:jaudiotagger` from 2.0.16 to 2.0.19\n\nUpdates `com.github.junrar:junrar` from 7.5.8 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.5.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier Roebroeck\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.9\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Ryan Campbell\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.9...v7.5.10\"\u003e7.5.10\u003c/a\u003e (2026-04-15)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.9\"\u003e7.5.9\u003c/a\u003e (2026-04-13)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e36ee091ad7311a021e1c928ada103a3eab2d890\"\u003e\u003ccode\u003ee36ee09\u003c/code\u003e\u003c/a\u003e ci: publish test results\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/154e3bf7b05bb6dcad5437a8fd8e99a8da916373\"\u003e\u003ccode\u003e154e3bf\u003c/code\u003e\u003c/a\u003e test: disable test on windows due to path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d77e9a83eb721cd51f9c23d7869d0e6ad7f952d7\"\u003e\u003ccode\u003ed77e9a8\u003c/code\u003e\u003c/a\u003e fix: better handling of files outside directory when extracting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/a60857b35c17dbd5354a37816421d7b051a8ba03\"\u003e\u003ccode\u003ea60857b\u003c/code\u003e\u003c/a\u003e ci: update homebrew action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/72cd364f47bd396e208cd82ca7aa98759ab84f01\"\u003e\u003ccode\u003e72cd364\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.9 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/7e1b5581f9d622b96e9e2a8574188027e7642634\"\u003e\u003ccode\u003e7e1b558\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/f800f10fa46f803f1220f508a40f59af29eb5118\"\u003e\u003ccode\u003ef800f10\u003c/code\u003e\u003c/a\u003e build(deps): bump org.mockito:mockito-core from 5.22.0 to 5.23.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/1886aecf253467ff8f98fc1187237605cf59fbb0\"\u003e\u003ccode\u003e1886aec\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/832f6857128bcd678d76bf263f8ee1533a1e8a86\"\u003e\u003ccode\u003e832f685\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper from 9.4.0 to 9.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/9b69c6b708dd88b925ba91fde563869cc0f8f586\"\u003e\u003ccode\u003e9b69c6b\u003c/code\u003e\u003c/a\u003e fix: ArrayIndexOutOfBoundsException in solid RAR v20 archive extraction\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.22.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.22.1...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.glassfish.jaxb:jaxb-runtime` from 4.0.6 to 4.0.8\n\nUpdates `tools.jackson:jackson-bom` from 3.1.0 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/c2ea79e9178f0aaa5e4f381c644140357bfc307e\"\u003e\u003ccode\u003ec2ea79e\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3906b27dcdde8fc6a4fef193147109b70bf2f0dc\"\u003e\u003ccode\u003e3906b27\u003c/code\u003e\u003c/a\u003e Prep for 3.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/b17b616c7dc264cfef26f9dd28eaf54bc40b5c4c\"\u003e\u003ccode\u003eb17b616\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/36cf9995cff15aa3e69786da1d6c52f208fddf8a\"\u003e\u003ccode\u003e36cf999\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0ae1c2ae270dabe8e21700cbcee1c266b54e84f0\"\u003e\u003ccode\u003e0ae1c2a\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3c171ebd5d6c5d8f6e8d4f3614cf9b4f0a8babb9\"\u003e\u003ccode\u003e3c171eb\u003c/code\u003e\u003c/a\u003e Prep for 3.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/8046ced071e0b36747bae0f0a96fa21914de1303\"\u003e\u003ccode\u003e8046ced\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ea00ca4cc59ba656a17a071e30a68387e51d3e0d\"\u003e\u003ccode\u003eea00ca4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0628060381a5b86e3fc07854a27b7453de559b7e\"\u003e\u003ccode\u003e0628060\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/22b8aeec79b87751a41c586404850c526eed1dbe\"\u003e\u003ccode\u003e22b8aee\u003c/code\u003e\u003c/a\u003e Prep for 3.1.1 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-3.1.0...jackson-bom-3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 4.0.3 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnversRevisionRepositoriesRegistrar should reuse \u003ccode\u003e@EnableEnversRepositories\u003c/code\u003e rather than configuring the JPA counterpart \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50039\"\u003e#50039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebFlux Cloud Foundry links endpoint includes query string from received request in resolved links \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50017\"\u003e#50017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImports on a containing test class are ignored when a nested class has imports \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50012\"\u003e#50012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49951\"\u003e#49951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e500 response from env endpoint when supplied pattern is invalid \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49946\"\u003e#49946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49945\"\u003e#49945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP method is lost when configuring excludes in EndpointRequest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49943\"\u003e#49943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor HttpMethod for reactive additional endpoint paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49880\"\u003e#49880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/artemis image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49869\"\u003e#49869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/activemq image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49866\"\u003e#49866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49854\"\u003e#49854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI versioning path strategy should be applied path last as it is not meant to yield \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49800\"\u003e#49800\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs to encourage Java fundamentals for beginners that prefer to learn that way \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50146\"\u003e#50146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP Service Interface Clients still document that API versioning can be configured via properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50126\"\u003e#50126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the observability section of the Lettuce documentation is broken \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50097\"\u003e#50097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJavadoc for StaticResourceLocation.FAVICON doesn't describe icons location \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50085\"\u003e#50085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySamlRelyingPartyConfiguration is missing a Kotlin sample \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50024\"\u003e#50024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect default value for management.httpexchanges.recording.include in configuration metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50019\"\u003e#50019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the Kubernetes documentation when discussing startup probes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50015\"\u003e#50015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in JdbcSessionAutoConfiguration Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49873\"\u003e#49873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify that configuration property default values are not available through the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49851\"\u003e#49851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument the need for Liquibase and Flyway starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49839\"\u003e#49839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKafka documentation refers to deprecated JSON serializer and deserializer classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49826\"\u003e#49826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Elasticsearch Client 9.2.8 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50027\"\u003e#50027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Groovy 5.0.5 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49911\"\u003e#49911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Hibernate 7.2.12.Final \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50134\"\u003e#50134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Jackson Bom 3.1.2 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50051\"\u003e#50051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1\"\u003eJaxen 2.0.1\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50104\"\u003e#50104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5\"\u003eJaybird 6.0.5\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49914\"\u003e#49914\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/8821ad2cd381bb4b9615a61479e1de7305a8ba39\"\u003e\u003ccode\u003e8821ad2\u003c/code\u003e\u003c/a\u003e Release v4.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9e4048a03f17adfe78057a3c4d5b4693305c0ae0\"\u003e\u003ccode\u003e9e4048a\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/20bb11c3984802990572ddbeae8b66885a8f2462\"\u003e\u003ccode\u003e20bb11c\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.15-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/98daa8ea30f39a5b0ca6768b5cbc2dc8698ef4e1\"\u003e\u003ccode\u003e98daa8e\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9dc5aa2863f598a15d3dfa116f4b89249daba7e7\"\u003e\u003ccode\u003e9dc5aa2\u003c/code\u003e\u003c/a\u003e Polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/874f6294b91da18367b8b5ab7b2fad3fa23cfba6\"\u003e\u003ccode\u003e874f629\u003c/code\u003e\u003c/a\u003e Fix default security with actuator but without health\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/e41b3bf731d1134bc18ec1f68ac01e0fe1c54923\"\u003e\u003ccode\u003ee41b3bf\u003c/code\u003e\u003c/a\u003e Enable hostname verification for SSL connections to Elasticsearch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ef8527bb0ef8f564f4f9c57a7be99a7aa96c6ab0\"\u003e\u003ccode\u003eef8527b\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f533a4549c3999aac30cb5830f07dc304933e93d\"\u003e\u003ccode\u003ef533a45\u003c/code\u003e\u003c/a\u003e Do not follow symlinks when writing PID file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4a7bd332b6d19fef1aa4cf28434985f2b03a2e0f\"\u003e\u003ccode\u003e4a7bd33\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.3...v4.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.hibernate.orm` from 7.2.6.Final to 7.3.3.Final\n\nUpdates `com.github.ben-manes.versions` from 0.53.0 to 0.54.0\n\nUpdates `gradle-wrapper` from 9.4.0 to 9.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.0/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.0 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0 RC4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/3fe117d68f3907790f3809f121aa36303a9151f8\"\u003e\u003ccode\u003e3fe117d\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37703\"\u003e#37703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/33d145af6fbe7cf7c9d84646b6d7f32fea91d5e2\"\u003e\u003ccode\u003e33d145a\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7a05d1ed48442eb5da4d6e2b6593da55cdec1da\"\u003e\u003ccode\u003ef7a05d1\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37654\"\u003e#37654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/266facdcbcb0b4c60120cc118eaf0f652bfcdfe5\"\u003e\u003ccode\u003e266facd\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0ad6dd8e143455707e444aa7e3d38327a3366513\"\u003e\u003ccode\u003e0ad6dd8\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37646\"\u003e#37646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/966025d5850d46c9158a2f25e4096222277ecf57\"\u003e\u003ccode\u003e966025d\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e7455734449e422accebf44cf7b31bf93e3a770c\"\u003e\u003ccode\u003ee745573\u003c/code\u003e\u003c/a\u003e Polish IP docs (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37642\"\u003e#37642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d5cfd079acd2c8f1182edd6ec23dbab571132d0a\"\u003e\u003ccode\u003ed5cfd07\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37629\"\u003e#37629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/acdf0c36fa13ba09a7ff5b51f79b9af4b1a097ee\"\u003e\u003ccode\u003eacdf0c3\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7d0e4f6f7896426a8b24091388e4c252b62faef\"\u003e\u003ccode\u003ef7d0e4f\u003c/code\u003e\u003c/a\u003e Rename anchor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.0...v9.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/cdome/ollumi/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdome%2Follumi/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"},{"uuid":"4392739855","node_id":"PR_kwDOMN8xpM7Y1jy4","number":544,"state":"closed","title":"Bump the minor group across 1 directory with 3 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-11T23:32:52.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-06T15:56:32.000Z","updated_at":"2026-05-11T23:32:54.000Z","time_to_close":459380,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"minor","update_count":3,"packages":[{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"com.fasterxml.jackson.datatype:jackson-datatype-jsr310","old_version":"2.21.2","new_version":"2.21.3"},{"name":"redis.clients:jedis","old_version":"7.4.1","new_version":"7.5.0","repository_url":"https://github.com/redis/jedis"}],"path":null,"ecosystem":"maven"},"body":"Bumps the minor group with 3 updates in the / directory: [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine), com.fasterxml.jackson.datatype:jackson-datatype-jsr310 and [redis.clients:jedis](https://github.com/redis/jedis).\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.21.2 to 2.21.3\n\nUpdates `redis.clients:jedis` from 7.4.1 to 7.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/jedis/releases\"\u003eredis.clients:jedis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.5.0\u003c/h2\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003cp\u003eThis release refines TLS behaviour to enhance security and begins consolidating TLS configuration on \u003ccode\u003eSslOptions\u003c/code\u003e. The introduction of hostname verification by default significantly improves the safety of TLS connections. For further details, see \u003ca href=\"https://redirect.github.com/redis/jedis/issues/4497\"\u003e#4497\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e🔧 Change in Behaviour\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe legacy \u003ccode\u003essl(true)\u003c/code\u003e TLS path now enables hostname verification by default (\u003ca href=\"https://redirect.github.com/redis/jedis/issues/4497\"\u003e#4497\u003c/a\u003e). It now rejects certificates whose SAN/CN does not match the target host, making TLS connections safer. The \u003ccode\u003eSslOptions\u003c/code\u003e-based configuration remains unchanged.\u003c/li\u003e\n\u003cli\u003eDeprecate legacy SSL configuration in favor of \u003ccode\u003eSslOptions\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/redis/jedis/issues/4497\"\u003e#4497\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/ggivo\"\u003e\u003ccode\u003e@​ggivo\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/redis/jedis/compare/v7.4.1...v7.5.0\"\u003ehttps://github.com/redis/jedis/compare/v7.4.1...v7.5.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/redis/jedis/commit/028bfeea0d02c8425b8210d6112dbae6dd20aa9f\"\u003e\u003ccode\u003e028bfee\u003c/code\u003e\u003c/a\u003e [7.5] Backport \u003ca href=\"https://redirect.github.com/redis/jedis/issues/4495\"\u003e#4495\u003c/a\u003e: Enforce hostname verification by default for TLS connec...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/jedis/commit/43dec3ba9628415540b1b4e0e7df27d4b7daa96a\"\u003e\u003ccode\u003e43dec3b\u003c/code\u003e\u003c/a\u003e bump version to 7.5.0-SNAPSHOT (\u003ca href=\"https://redirect.github.com/redis/jedis/issues/4496\"\u003e#4496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/redis/jedis/compare/v7.4.1...v7.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e","html_url":"https://github.com/navikt/aap-tilgang/pull/544","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Faap-tilgang/issues/544","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/544/packages"},{"uuid":"4389329810","node_id":"PR_kwDOMPQJ687YqQ1V","number":819,"state":"closed","title":"Bump the minor group across 1 directory with 2 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-11T08:13:29.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-06T06:44:23.000Z","updated_at":"2026-05-11T08:13:32.000Z","time_to_close":437346,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"minor","update_count":2,"packages":[{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"org.postgresql:postgresql","old_version":"42.7.10","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"}],"path":null,"ecosystem":"maven"},"body":"Bumps the minor group with 2 updates in the / directory: [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) and [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc).\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.postgresql:postgresql` from 42.7.10 to 42.7.11\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.11\u003c/h2\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Add sources and javadocs to shaded published lib generation \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/4043\"\u003e#4043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate Changelog and website for release of 42.7.11 \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/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scram fix location in changelog and update published artifact developer list \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/4041\"\u003e#4041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict test with scram_iterations to v16+ and release notes \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/4040\"\u003e#4040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update ubuntu:24.04 docker digest to 84e77de \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4017\"\u003e#4017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add tests for QueryExecutor#getTransactionState \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/4006\"\u003e#4006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update actions/create-github-app-token action to v2.2.2 \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3983\"\u003e#3983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky CopyBothResponseTest by using WAL flush LSN \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/3979\"\u003e#3979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky replication restart tests by waiting for confirmed_flush_lsn \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/3975\"\u003e#3975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix flaky LogicalReplicationStatusTest by polling pg_stat_replication \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/3974\"\u003e#3974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace Appveyor with ikalnytskyi/action-setup-postgres \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/3966\"\u003e#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: move test table creation from \u003ca href=\"https://github.com/BeforeEach\"\u003e\u003ccode\u003e@​BeforeEach\u003c/code\u003e\u003c/a\u003e to \u003ca href=\"https://github.com/BeforeAll\"\u003e\u003ccode\u003e@​BeforeAll\u003c/code\u003e\u003c/a\u003e \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/3967\"\u003e#3967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn jsonb as PGObject fixes Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3926\"\u003e#3926\u003c/a\u003e \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/3956\"\u003e#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docker scripts  \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/3958\"\u003e#3958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement require_auth, this is pretty much how libpq does this.  \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/3895\"\u003e#3895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add SCRAM authentication test setup section to TESTING.md \u003ca href=\"https://github.com/emmaeng700\"\u003e\u003ccode\u003e@​emmaeng700\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3945\"\u003e#3945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RequireServerVersion annotation for tests \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/3939\"\u003e#3939\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message \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/3728\"\u003e#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command \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/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW \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/3973\"\u003e#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in \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/3968\"\u003e#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers \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/3962\"\u003e#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison \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/3961\"\u003e#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e) \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/3960\"\u003e#3960\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc \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/4035\"\u003e#4035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use \u003ccode\u003e@​vlsi/github-actions-random-matrix\u003c/code\u003e npm package \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/4008\"\u003e#4008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use tag names for pinning github actions, pin ikalnytskyi/action-setup-postgres \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/4007\"\u003e#4007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: bump errorprone to 2.48.0 \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/4005\"\u003e#4005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add \u003ca href=\"https://github.com/DisableLogger\"\u003e\u003ccode\u003e@​DisableLogger\u003c/code\u003e\u003c/a\u003e annotation to suppress expected log warnings in tests \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/3971\"\u003e#3971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: suppress deprecations in test code to reduce build verbosity \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/3972\"\u003e#3972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace log warning in ConnectionFactory.closeStream with Throwable.addSuppressed \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/3970\"\u003e#3970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use greedy pairwise coverage for CI matrix generation \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/3965\"\u003e#3965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use full version tags in GitHub Actions comments \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/3963\"\u003e#3963\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⬆️ Dependencies\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/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.11] (2026-04-28)\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: implement require_auth connection property, aligning with libpq behavior [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3895\"\u003epgjdbc/pgjdbc#3895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace Appveyor CI with ikalnytskyi/action-setup-postgres [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3966\"\u003epgjdbc/pgjdbc#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: upgrade Gradle to v9 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3978\"\u003e#3978\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3978\"\u003epgjdbc/pgjdbc#3978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3728\"\u003epgjdbc/pgjdbc#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3996\"\u003epgjdbc/pgjdbc#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3973\"\u003epgjdbc/pgjdbc#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: make sure the driver honours connectTimeout when retrying the connection [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3962\"\u003epgjdbc/pgjdbc#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison to handle unsigned values correctly [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3961\"\u003epgjdbc/pgjdbc#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3957\"\u003epgjdbc/pgjdbc#3957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: return jsonb as PGObject instead of String [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3956\"\u003epgjdbc/pgjdbc#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: align SSL key file permission check with libpq [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3952\"\u003e#3952\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3952\"\u003epgjdbc/pgjdbc#3952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: guard connection closed flag with a reentrant lock to protect against concurrent close [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3905\"\u003e#3905\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3905\"\u003epgjdbc/pgjdbc#3905\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/pgjdbc/pgjdbc/commit/78e261ff2a7f16a37bdceb2204f67e484387da2f\"\u003e\u003ccode\u003e78e261f\u003c/code\u003e\u003c/a\u003e fix: Add sources and javadocs to shaded published lib generation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/1e09fa0496377296c9e2ef3bfd2b409945fba17a\"\u003e\u003ccode\u003e1e09fa0\u003c/code\u003e\u003c/a\u003e update Changelog and website for release of 42.7.11 (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/d479fa5b8c8c915a441ce1f2448f69f23dd0b66c\"\u003e\u003ccode\u003ed479fa5\u003c/code\u003e\u003c/a\u003e Fix scram fix location in changelog and update published artifact developer l...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/b04fc46af6c207bc7ce9e788fea8c43d18b73d0f\"\u003e\u003ccode\u003eb04fc46\u003c/code\u003e\u003c/a\u003e docs: Add scram max iters fix to changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/cf548225b4078db954765339720ffdf3bc94e5a6\"\u003e\u003ccode\u003ecf54822\u003c/code\u003e\u003c/a\u003e test: Disable scram test on older version without scram_iterations GUC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/7dbcc79b2b4adf7b71458c9434d2c43cec7713b9\"\u003e\u003ccode\u003e7dbcc79\u003c/code\u003e\u003c/a\u003e test: Add SCRAM max iteration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/c9d41d1332a7426fcef19ff89f2e6b1116429143\"\u003e\u003ccode\u003ec9d41d1\u003c/code\u003e\u003c/a\u003e fix: Limit SCRAM PBKDF2 iterations accepted from the server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/a340cb2b0ae24c0d98ad9dec569200ebb704d6aa\"\u003e\u003ccode\u003ea340cb2\u003c/code\u003e\u003c/a\u003e style: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/77837f80c0c20a9f33f9e21b091f4d4552f8e753\"\u003e\u003ccode\u003e77837f8\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.openrewrite.rewrite:org.openrewrite.rewrite....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/23af03bc839af5217ea141946ae41e648264061c\"\u003e\u003ccode\u003e23af03b\u003c/code\u003e\u003c/a\u003e chore(deps): update actions/checkout action to v6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgjdbc/pgjdbc/compare/REL42.7.10...REL42.7.11\"\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/navikt/aap-statistikk/pull/819","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Faap-statistikk/issues/819","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/819/packages"},{"uuid":"4380820137","node_id":"PR_kwDOLgSwgM7YOhCH","number":719,"state":"open","title":"build(deps): bump com.github.ben-manes.caffeine:caffeine from 3.2.3 to 3.2.4","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-05T01:23:26.000Z","updated_at":"2026-05-08T12:32:58.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"}],"path":null,"ecosystem":"maven"},"body":"Bumps [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) from 3.2.3 to 3.2.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/metaschema-framework/metaschema-java/pull/719","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/metaschema-framework%2Fmetaschema-java/issues/719","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/719/packages"},{"uuid":"4380175452","node_id":"PR_kwDOClijW87YMZ-J","number":67,"state":"closed","title":"Bump com.github.ben-manes.caffeine:caffeine from 3.2.3 to 3.2.4","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-05T08:51:38.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-04T22:47:55.000Z","updated_at":"2026-05-05T08:51:46.000Z","time_to_close":36223,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"}],"path":null,"ecosystem":"maven"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) from 3.2.3 to 3.2.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/hibernate/quarkus-local-cache/pull/67","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hibernate%2Fquarkus-local-cache/issues/67","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/67/packages"},{"uuid":"4380019310","node_id":"PR_kwDOCRWrec7YL5Av","number":1524,"state":"open","title":"Bump com.github.ben-manes.caffeine:caffeine from 3.2.3 to 3.2.4","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":["tommystendahl"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-04T22:12:08.000Z","updated_at":"2026-05-05T07:04:38.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"}],"path":null,"ecosystem":"maven"},"body":"Bumps [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) from 3.2.3 to 3.2.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/Ericsson/ecchronos/pull/1524","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ericsson%2Fecchronos/issues/1524","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1524/packages"},{"uuid":"4376331058","node_id":"PR_kwDOSDva4M7X_tB7","number":1122,"state":"open","title":"Bump the gradle-minor-patch group in /tools/krit-types 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-05-04T11:54:04.000Z","updated_at":"2026-05-04T11:54:05.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"gradle-minor-patch","update_count":2,"packages":[{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"}],"path":"/tools/krit-types","ecosystem":"maven"},"body":"Bumps the gradle-minor-patch group in /tools/krit-types with 2 updates: [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) and [gradle-wrapper](https://github.com/gradle/gradle).\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gradle-wrapper` from 9.4.1 to 9.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.0/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.0 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0 RC4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/3fe117d68f3907790f3809f121aa36303a9151f8\"\u003e\u003ccode\u003e3fe117d\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37703\"\u003e#37703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/33d145af6fbe7cf7c9d84646b6d7f32fea91d5e2\"\u003e\u003ccode\u003e33d145a\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7a05d1ed48442eb5da4d6e2b6593da55cdec1da\"\u003e\u003ccode\u003ef7a05d1\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37654\"\u003e#37654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/266facdcbcb0b4c60120cc118eaf0f652bfcdfe5\"\u003e\u003ccode\u003e266facd\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0ad6dd8e143455707e444aa7e3d38327a3366513\"\u003e\u003ccode\u003e0ad6dd8\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37646\"\u003e#37646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/966025d5850d46c9158a2f25e4096222277ecf57\"\u003e\u003ccode\u003e966025d\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e7455734449e422accebf44cf7b31bf93e3a770c\"\u003e\u003ccode\u003ee745573\u003c/code\u003e\u003c/a\u003e Polish IP docs (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37642\"\u003e#37642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d5cfd079acd2c8f1182edd6ec23dbab571132d0a\"\u003e\u003ccode\u003ed5cfd07\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37629\"\u003e#37629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/acdf0c36fa13ba09a7ff5b51f79b9af4b1a097ee\"\u003e\u003ccode\u003eacdf0c3\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7d0e4f6f7896426a8b24091388e4c252b62faef\"\u003e\u003ccode\u003ef7d0e4f\u003c/code\u003e\u003c/a\u003e Rename anchor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.1...v9.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/kaeawc/krit/pull/1122","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaeawc%2Fkrit/issues/1122","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1122/packages"},{"uuid":"4374550175","node_id":"PR_kwDOSNGU187X5yHh","number":34,"state":"open","title":"build(deps): bump com.github.ben-manes.caffeine:caffeine from 3.2.3 to 3.2.4 in the maven-minor-and-patch group","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-05-04T06:53:04.000Z","updated_at":"2026-05-04T06:53:06.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"}],"path":"the maven-minor-and-patch group","ecosystem":"maven"},"body":"Bumps the maven-minor-and-patch group with 1 update: [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine).\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.github.ben-manes.caffeine:caffeine\u0026package-manager=maven\u0026previous-version=3.2.3\u0026new-version=3.2.4)](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/karlkauc/findatex-validator/pull/34","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/karlkauc%2Ffindatex-validator/issues/34","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/34/packages"},{"uuid":"4374497173","node_id":"PR_kwDORw-J0s7X5m9Q","number":53,"state":"open","title":"chore(deps): bump the backend-dependencies group with 41 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-04T06:42:37.000Z","updated_at":"2026-05-04T06:46:13.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"backend-dependencies","update_count":41,"packages":[{"name":"com.google.cloud:spring-cloud-gcp-dependencies","old_version":"5.1.2","new_version":"8.0.2","repository_url":"https://github.com/GoogleCloudPlatform/spring-cloud-gcp"},{"name":"com.google.firebase:firebase-admin","old_version":"9.2.0","new_version":"9.8.0","repository_url":"https://github.com/firebase/firebase-admin-java"},{"name":"com.google.auth:google-auth-library-oauth2-http","old_version":"1.14.0","new_version":"1.46.0"},{"name":"software.amazon.awssdk:secretsmanager","old_version":"2.25.36","new_version":"2.44.0"},{"name":"software.amazon.awssdk:regions","old_version":"2.25.36","new_version":"2.44.0"},{"name":"com.azure:azure-identity","old_version":"1.12.2","new_version":"1.18.3","repository_url":"https://github.com/Azure/azure-sdk-for-java"},{"name":"com.azure:azure-security-keyvault-secrets","old_version":"4.8.2","new_version":"4.10.6","repository_url":"https://github.com/Azure/azure-sdk-for-java"},{"name":"com.squareup.okhttp3:okhttp","old_version":"4.12.0","new_version":"5.3.2","repository_url":"https://github.com/square/okhttp"},{"name":"com.squareup.okhttp3:logging-interceptor","old_version":"4.12.0","new_version":"5.3.2","repository_url":"https://github.com/square/okhttp"},{"name":"com.fasterxml.jackson.core:jackson-core","old_version":"2.17.0","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson-core"},{"name":"com.fasterxml.jackson.core:jackson-annotations","old_version":"2.17.0","new_version":"2.21.3"},{"name":"com.fasterxml.jackson.core:jackson-databind","old_version":"2.17.0","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson"},{"name":"com.fasterxml.jackson.datatype:jackson-datatype-jsr310","old_version":"2.17.0","new_version":"2.21.3"},{"name":"com.fasterxml.jackson.module:jackson-module-afterburner","old_version":"2.17.0","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson-modules-base"},{"name":"org.jsoup:jsoup","old_version":"1.17.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.slf4j:slf4j-api","old_version":"2.0.16","new_version":"2.0.17"},{"name":"ch.qos.logback:logback-classic","old_version":"1.5.8","new_version":"1.5.32","repository_url":"https://github.com/qos-ch/logback"},{"name":"ch.qos.logback:logback-core","old_version":"1.5.8","new_version":"1.5.32","repository_url":"https://github.com/qos-ch/logback"},{"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":"jakarta.servlet:jakarta.servlet-api","old_version":"6.0.0","new_version":"6.1.0","repository_url":"https://github.com/eclipse-ee4j/servlet-api"},{"name":"io.github.resilience4j:resilience4j-core","old_version":"2.1.0","new_version":"2.4.0","repository_url":"https://github.com/resilience4j/resilience4j"},{"name":"io.github.resilience4j:resilience4j-retry","old_version":"2.1.0","new_version":"2.4.0","repository_url":"https://github.com/resilience4j/resilience4j"},{"name":"io.github.resilience4j:resilience4j-circuitbreaker","old_version":"2.1.0","new_version":"2.4.0","repository_url":"https://github.com/resilience4j/resilience4j"},{"name":"com.github.vladimir-bukhtoyarov:bucket4j-core","old_version":"7.6.0","new_version":"8.0.1","repository_url":"https://github.com/vladimir-bukhtoyarov/bucket4j"},{"name":"io.micrometer:micrometer-core","old_version":"1.12.3","new_version":"1.16.5","repository_url":"https://github.com/micrometer-metrics/micrometer"},{"name":"io.micrometer:micrometer-registry-prometheus","old_version":"1.12.3","new_version":"1.16.5","repository_url":"https://github.com/micrometer-metrics/micrometer"},{"name":"io.opentelemetry:opentelemetry-api","old_version":"1.36.0","new_version":"1.61.0","repository_url":"https://github.com/open-telemetry/opentelemetry-java"},{"name":"io.opentelemetry:opentelemetry-sdk","old_version":"1.36.0","new_version":"1.61.0","repository_url":"https://github.com/open-telemetry/opentelemetry-java"},{"name":"io.opentelemetry:opentelemetry-exporter-otlp","old_version":"1.36.0","new_version":"1.61.0","repository_url":"https://github.com/open-telemetry/opentelemetry-java"},{"name":"io.lettuce:lettuce-core","old_version":"6.3.0.RELEASE","new_version":"7.5.1.RELEASE","repository_url":"https://github.com/redis/lettuce"},{"name":"org.apache.commons:commons-pool2","old_version":"2.12.0","new_version":"2.13.1"},{"name":"com.zaxxer:HikariCP","old_version":"5.1.0","new_version":"7.0.2","repository_url":"https://github.com/brettwooldridge/HikariCP"},{"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":"org.projectlombok:lombok","old_version":"1.18.34","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"org.junit:junit-bom","old_version":"5.10.0","new_version":"6.0.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.mockito:mockito-core","old_version":"5.7.0","new_version":"5.23.0","repository_url":"https://github.com/mockito/mockito"},{"name":"org.mockito:mockito-junit-jupiter","old_version":"5.7.0","new_version":"5.23.0","repository_url":"https://github.com/mockito/mockito"},{"name":"org.springframework.boot","old_version":"3.3.4","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"gradle-wrapper","old_version":"8.10","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the backend-dependencies group with 41 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [com.google.cloud:spring-cloud-gcp-dependencies](https://github.com/GoogleCloudPlatform/spring-cloud-gcp) | `5.1.2` | `8.0.2` |\n| [com.google.firebase:firebase-admin](https://github.com/firebase/firebase-admin-java) | `9.2.0` | `9.8.0` |\n| com.google.auth:google-auth-library-oauth2-http | `1.14.0` | `1.46.0` |\n| software.amazon.awssdk:secretsmanager | `2.25.36` | `2.44.0` |\n| software.amazon.awssdk:regions | `2.25.36` | `2.44.0` |\n| [com.azure:azure-identity](https://github.com/Azure/azure-sdk-for-java) | `1.12.2` | `1.18.3` |\n| [com.azure:azure-security-keyvault-secrets](https://github.com/Azure/azure-sdk-for-java) | `4.8.2` | `4.10.6` |\n| [com.squareup.okhttp3:okhttp](https://github.com/square/okhttp) | `4.12.0` | `5.3.2` |\n| [com.squareup.okhttp3:logging-interceptor](https://github.com/square/okhttp) | `4.12.0` | `5.3.2` |\n| [com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) | `2.17.0` | `2.21.3` |\n| com.fasterxml.jackson.core:jackson-annotations | `2.17.0` | `2.21.3` |\n| [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) | `2.17.0` | `2.21.3` |\n| com.fasterxml.jackson.datatype:jackson-datatype-jsr310 | `2.17.0` | `2.21.3` |\n| [com.fasterxml.jackson.module:jackson-module-afterburner](https://github.com/FasterXML/jackson-modules-base) | `2.17.0` | `2.21.3` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.17.1` | `1.22.2` |\n| org.slf4j:slf4j-api | `2.0.16` | `2.0.17` |\n| [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) | `1.5.8` | `1.5.32` |\n| [ch.qos.logback:logback-core](https://github.com/qos-ch/logback) | `1.5.8` | `1.5.32` |\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| [jakarta.servlet:jakarta.servlet-api](https://github.com/eclipse-ee4j/servlet-api) | `6.0.0` | `6.1.0` |\n| [io.github.resilience4j:resilience4j-core](https://github.com/resilience4j/resilience4j) | `2.1.0` | `2.4.0` |\n| [io.github.resilience4j:resilience4j-retry](https://github.com/resilience4j/resilience4j) | `2.1.0` | `2.4.0` |\n| [io.github.resilience4j:resilience4j-circuitbreaker](https://github.com/resilience4j/resilience4j) | `2.1.0` | `2.4.0` |\n| [com.github.vladimir-bukhtoyarov:bucket4j-core](https://github.com/vladimir-bukhtoyarov/bucket4j) | `7.6.0` | `8.0.1` |\n| [io.micrometer:micrometer-core](https://github.com/micrometer-metrics/micrometer) | `1.12.3` | `1.16.5` |\n| [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) | `1.12.3` | `1.16.5` |\n| [io.opentelemetry:opentelemetry-api](https://github.com/open-telemetry/opentelemetry-java) | `1.36.0` | `1.61.0` |\n| [io.opentelemetry:opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-java) | `1.36.0` | `1.61.0` |\n| [io.opentelemetry:opentelemetry-exporter-otlp](https://github.com/open-telemetry/opentelemetry-java) | `1.36.0` | `1.61.0` |\n| [io.lettuce:lettuce-core](https://github.com/redis/lettuce) | `6.3.0.RELEASE` | `7.5.1.RELEASE` |\n| org.apache.commons:commons-pool2 | `2.12.0` | `2.13.1` |\n| [com.zaxxer:HikariCP](https://github.com/brettwooldridge/HikariCP) | `5.1.0` | `7.0.2` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.1.8` | `3.2.4` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.34` | `1.18.46` |\n| [org.junit:junit-bom](https://github.com/junit-team/junit-framework) | `5.10.0` | `6.0.3` |\n| [org.mockito:mockito-core](https://github.com/mockito/mockito) | `5.7.0` | `5.23.0` |\n| [org.mockito:mockito-junit-jupiter](https://github.com/mockito/mockito) | `5.7.0` | `5.23.0` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `3.3.4` | `4.0.6` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.10` | `9.5.0` |\n\nUpdates `com.google.cloud:spring-cloud-gcp-dependencies` from 5.1.2 to 8.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/releases\"\u003ecom.google.cloud:spring-cloud-gcp-dependencies's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/compare/v8.0.1...v8.0.2\"\u003e8.0.2\u003c/a\u003e (2026-04-09)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update dependency com.google.cloud:libraries-bom to v26.79.0 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4401\"\u003e#4401\u003c/a\u003e) (\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/ea49ad19ea80c460ada05f7e8efd602ec6abeb99\"\u003eea49ad1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update gapic-generator-java-bom.version to v2.68.0 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4400\"\u003e#4400\u003c/a\u003e) (\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/23eb6e881c6a1ac2ff2d3bddadb537c4a1bdd4cc\"\u003e23eb6e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eenhance check with maven central (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4369\"\u003e#4369\u003c/a\u003e) (\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/bc21fe7d6472459a8b3b20e1a2013d1d97650170\"\u003ebc21fe7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFlaky Test \u003ccode\u003eConverterAwareMappingSpannerEntityReaderTests.readUnmatachableTypesTest()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4187\"\u003e#4187\u003c/a\u003e) (\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/3c1ce61d201d732a8886ca06900fd83962f36c2a\"\u003e3c1ce61\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNullPointerException in spring-cloud-gcp-data-spanner (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4383\"\u003e#4383\u003c/a\u003e) (\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/366c6fe5791aff9bf05e3e55bdaff9fcc2354067\"\u003e366c6fe\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4381\"\u003e#4381\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd Spring Boot 4.0 migration release notes (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4355\"\u003e#4355\u003c/a\u003e) (\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/20f22d31d89b2441eb81d8d03914220ba7e37b62\"\u003e20f22d3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev8.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/compare/v8.0.0...v8.0.1\"\u003e8.0.1\u003c/a\u003e (2026-03-09)\u003c/h2\u003e\n\u003cp\u003eSpring Boot 4.0 / Spring 7 Migration\nThis release marks a major architectural upgrade, moving the project baseline to Java 17 (with JDK 25 for Native Image) and Jakarta EE 11. This version focuses on achieving compatibility with the new modular architecture of Spring Boot 4.0, the refactored SpEL evaluation engine in Spring Data 2025.1, and enhanced AOT support for GraalVM. For a comprehensive overview of upstream changes, please refer to the official \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Migration-Guide\"\u003eSpring Boot 4.0 Migration Guide\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003e⚠️ Breaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSpring Data 4.0 (SpEL Evaluation): Multiple constructors removed due to the removal of QueryMethodEvaluationContextProvider. Users must migrate to constructors accepting ValueExpressionDelegate.\nAffected Classes: DatastoreQueryLookupStrategy, GqlDatastoreQuery, SpannerQueryLookupStrategy, SqlSpannerQuery.\nUser Action: If you manually instantiate these classes (e.g., in custom repository implementations), you must replace the   QueryMethodEvaluationContextProvider parameter with ValueExpressionDelegate.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMapping Exceptions: In Spring Data 4.0 (2025.1), metadata discovery and entity mapping failures are now uniformly wrapped in a top-level org.springframework.data.mapping.MappingException.\nImpact: Previously caught module-specific exceptions (e.g., SpannerDataException) may now be nested inside a MappingException.\nUser Action: Update error handling logic to check for the underlying cause. \u0026quot;Use NestedExceptionUtils.getMostSpecificCause() to retrieve specific error message details..\u0026quot;\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNested Exceptions: Following Spring Framework 7.0's changes to NestedRuntimeException, nested exception messages are no longer automatically appended to the top-level getMessage() output.\nUser Action: When constructing custom error messages, you must now explicitly access the cause. \u0026quot;Use NestedExceptionUtils.getMostSpecificCause() to retrieve specific error message details.\u0026quot;\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eActuator Health API: \u003ca href=\"https://docs.spring.io/spring-boot/reference/actuator/endpoints.html#actuator.endpoints.health\"\u003eThe Actuator Health API\u003c/a\u003e has been restructured to support better grouping through the org.springframework.boot.health.contributor package. PubSubHealthIndicator and SpannerHealthIndicator are now registered as HealthContributor beans.\nUser Action: These indicators are now always wrapped into a CompositeHealthContributor by the framework's auto-configuration.    Users who previously injected PubSubHealthIndicator or HealthIndicator directly must now inject HealthContributor and navigate the composite hierarchy if direct access is needed.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebump org.springframework.boot:spring-boot-dependencies from 3.5.3 to 4.0.0\u003c/li\u003e\n\u003cli\u003ebump org.springframework.cloud:spring-cloud-dependencies from 2025.0.0 to 2025.1.0\u003c/li\u003e\n\u003cli\u003ebump com.google.cloud:cloud-sql-socket-factory-bom from 1.25.0 to 1.28.0\u003c/li\u003e\n\u003cli\u003ebump io.r2dbc:r2dbc-postgresql from 1.0.7.RELEASE to 1.1.1.RELEASE\u003c/li\u003e\n\u003cli\u003ebump org.graalvm.buildtools:native-maven-plugin from 0.10.5 to 0.11.3\u003c/li\u003e\n\u003cli\u003ebump jakarta.annotation:jakarta.annotation-api from 1.3.5 to 2.1.1\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson:jackson-bom from 2.18.2 to 3.0.2 (via tools.jackson)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.4.6\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/compare/v7.4.5...v7.4.6\"\u003e7.4.6\u003c/a\u003e (2026-04-07)\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/GoogleCloudPlatform/spring-cloud-gcp/blob/main/CHANGELOG.md\"\u003ecom.google.cloud:spring-cloud-gcp-dependencies's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/compare/v8.0.1...v8.0.2\"\u003e8.0.2\u003c/a\u003e (2026-04-09)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update dependency com.google.cloud:libraries-bom to v26.79.0 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4401\"\u003e#4401\u003c/a\u003e) (\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/ea49ad19ea80c460ada05f7e8efd602ec6abeb99\"\u003eea49ad1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update gapic-generator-java-bom.version to v2.68.0 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4400\"\u003e#4400\u003c/a\u003e) (\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/23eb6e881c6a1ac2ff2d3bddadb537c4a1bdd4cc\"\u003e23eb6e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eenhance check with maven central (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4369\"\u003e#4369\u003c/a\u003e) (\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/bc21fe7d6472459a8b3b20e1a2013d1d97650170\"\u003ebc21fe7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFlaky Test \u003ccode\u003eConverterAwareMappingSpannerEntityReaderTests.readUnmatachableTypesTest()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4187\"\u003e#4187\u003c/a\u003e) (\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/3c1ce61d201d732a8886ca06900fd83962f36c2a\"\u003e3c1ce61\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNullPointerException in spring-cloud-gcp-data-spanner (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4383\"\u003e#4383\u003c/a\u003e) (\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/366c6fe5791aff9bf05e3e55bdaff9fcc2354067\"\u003e366c6fe\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4381\"\u003e#4381\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd Spring Boot 4.0 migration release notes (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4355\"\u003e#4355\u003c/a\u003e) (\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/20f22d31d89b2441eb81d8d03914220ba7e37b62\"\u003e20f22d3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.0.1] Spring Boot 4.0 / Spring 7 Migration\u003c/h2\u003e\n\u003cp\u003eThis release marks a major architectural upgrade, moving the project baseline to \u003cstrong\u003eJava 17\u003c/strong\u003e (with \u003cstrong\u003eJDK 25\u003c/strong\u003e for Native Image) and \u003cstrong\u003eJakarta EE 11\u003c/strong\u003e.\nThis version focuses on achieving compatibility with the new modular architecture of Spring Boot 4.0, the refactored SpEL evaluation engine in Spring Data 2025.1, and enhanced AOT support for GraalVM.\nFor a comprehensive overview of upstream changes, please refer to the official \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Migration-Guide\"\u003eSpring Boot 4.0 Migration Guide\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003e⚠️ Breaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSpring Data 4.0 (SpEL Evaluation):\u003c/strong\u003e Multiple constructors removed due to the removal of \u003ccode\u003eQueryMethodEvaluationContextProvider\u003c/code\u003e. Users must migrate to constructors accepting \u003ccode\u003eValueExpressionDelegate\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eAffected Classes:\u003c/strong\u003e \u003ccode\u003eDatastoreQueryLookupStrategy\u003c/code\u003e, \u003ccode\u003eGqlDatastoreQuery\u003c/code\u003e, \u003ccode\u003eSpannerQueryLookupStrategy\u003c/code\u003e, \u003ccode\u003eSqlSpannerQuery\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUser Action:\u003c/strong\u003e If you manually instantiate these classes (e.g., in custom repository implementations), you must replace the \u003ccode\u003eQueryMethodEvaluationContextProvider\u003c/code\u003e parameter with \u003ccode\u003eValueExpressionDelegate\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMapping Exceptions:\u003c/strong\u003e In Spring Data 4.0 (2025.1), metadata discovery and entity mapping failures are now uniformly wrapped in a top-level \u003ccode\u003eorg.springframework.data.mapping.MappingException\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eImpact:\u003c/strong\u003e Previously caught module-specific exceptions (e.g., \u003ccode\u003eSpannerDataException\u003c/code\u003e) may now be nested inside a \u003ccode\u003eMappingException\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUser Action:\u003c/strong\u003e Update error handling logic to check for the underlying cause. \u0026quot;Use \u003ccode\u003eNestedExceptionUtils.getMostSpecificCause()\u003c/code\u003e to retrieve specific error message details..\u0026quot;\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNested Exceptions:\u003c/strong\u003e Following Spring Framework 7.0's changes to \u003ccode\u003eNestedRuntimeException\u003c/code\u003e, nested exception messages are no longer automatically appended to the top-level \u003ccode\u003egetMessage()\u003c/code\u003e output.\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUser Action:\u003c/strong\u003e When constructing custom error messages, you must now explicitly access the cause. \u0026quot;Use \u003ccode\u003eNestedExceptionUtils.getMostSpecificCause()\u003c/code\u003e to retrieve specific error message details.\u0026quot;\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eActuator Health API:\u003c/strong\u003e \u003ca href=\"https://docs.spring.io/spring-boot/reference/actuator/endpoints.html#actuator.endpoints.health\"\u003eThe Actuator Health API\u003c/a\u003e has been restructured to support better grouping through the \u003ccode\u003eorg.springframework.boot.health.contributor\u003c/code\u003e package. \u003ccode\u003ePubSubHealthIndicator\u003c/code\u003e and \u003ccode\u003eSpannerHealthIndicator\u003c/code\u003e are now registered as \u003ccode\u003eHealthContributor\u003c/code\u003e beans.\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUser Action:\u003c/strong\u003e These indicators are now \u003cstrong\u003ealways\u003c/strong\u003e wrapped into a \u003ccode\u003eCompositeHealthContributor\u003c/code\u003e by the framework's auto-configuration. Users who previously injected \u003ccode\u003ePubSubHealthIndicator\u003c/code\u003e or \u003ccode\u003eHealthIndicator\u003c/code\u003e directly must now inject \u003ccode\u003eHealthContributor\u003c/code\u003e and navigate the composite hierarchy if direct access is needed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebump \u003ccode\u003eorg.springframework.boot:spring-boot-dependencies\u003c/code\u003e from \u003ccode\u003e3.5.3\u003c/code\u003e to \u003ccode\u003e4.0.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebump \u003ccode\u003eorg.springframework.cloud:spring-cloud-dependencies\u003c/code\u003e from \u003ccode\u003e2025.0.0\u003c/code\u003e to \u003ccode\u003e2025.1.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebump \u003ccode\u003ecom.google.cloud:cloud-sql-socket-factory-bom\u003c/code\u003e from \u003ccode\u003e1.25.0\u003c/code\u003e to \u003ccode\u003e1.28.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebump \u003ccode\u003eio.r2dbc:r2dbc-postgresql\u003c/code\u003e from \u003ccode\u003e1.0.7.RELEASE\u003c/code\u003e to \u003ccode\u003e1.1.1.RELEASE\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebump \u003ccode\u003eorg.graalvm.buildtools:native-maven-plugin\u003c/code\u003e from \u003ccode\u003e0.10.5\u003c/code\u003e to \u003ccode\u003e0.11.3\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebump \u003ccode\u003ejakarta.annotation:jakarta.annotation-api\u003c/code\u003e from \u003ccode\u003e1.3.5\u003c/code\u003e to \u003ccode\u003e2.1.1\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebump \u003ccode\u003ecom.fasterxml.jackson:jackson-bom\u003c/code\u003e from \u003ccode\u003e2.18.2\u003c/code\u003e to \u003ccode\u003e3.0.2\u003c/code\u003e (via \u003ccode\u003etools.jackson\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/compare/v7.4.4...v7.4.5\"\u003e7.4.5\u003c/a\u003e (2026-02-21)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\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/GoogleCloudPlatform/spring-cloud-gcp/commit/107eb9af6500caff1a509c044b5169fe5345cff5\"\u003e\u003ccode\u003e107eb9a\u003c/code\u003e\u003c/a\u003e chore(main): release 8.0.2 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/ea49ad19ea80c460ada05f7e8efd602ec6abeb99\"\u003e\u003ccode\u003eea49ad1\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency com.google.cloud:libraries-bom to v26.79.0 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4401\"\u003e#4401\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/23eb6e881c6a1ac2ff2d3bddadb537c4a1bdd4cc\"\u003e\u003ccode\u003e23eb6e8\u003c/code\u003e\u003c/a\u003e fix(deps): update gapic-generator-java-bom.version to v2.68.0 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4400\"\u003e#4400\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/80241822cd5b79ac60793cb18d624601714513d0\"\u003e\u003ccode\u003e8024182\u003c/code\u003e\u003c/a\u003e chore: remove duplicate code (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/3c1ce61d201d732a8886ca06900fd83962f36c2a\"\u003e\u003ccode\u003e3c1ce61\u003c/code\u003e\u003c/a\u003e fix: Flaky Test `ConverterAwareMappingSpannerEntityReaderTests.readUnmatachab...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/366c6fe5791aff9bf05e3e55bdaff9fcc2354067\"\u003e\u003ccode\u003e366c6fe\u003c/code\u003e\u003c/a\u003e fix: NullPointerException in spring-cloud-gcp-data-spanner (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4383\"\u003e#4383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/8a2fb16a9fa461b039687c399215948a147940c5\"\u003e\u003ccode\u003e8a2fb16\u003c/code\u003e\u003c/a\u003e util: sync fork with upstream before Initializr PR creation (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4372\"\u003e#4372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/b41442ece15328a04385ee45af8972ae23117fde\"\u003e\u003ccode\u003eb41442e\u003c/code\u003e\u003c/a\u003e util: add DCO sign-off to Spring Initializr PRs (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/a2885024b2fdb5780a1efe478e27345f97a3143e\"\u003e\u003ccode\u003ea288502\u003c/code\u003e\u003c/a\u003e chore: add support for restarting release script from specific step (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4370\"\u003e#4370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/bc21fe7d6472459a8b3b20e1a2013d1d97650170\"\u003e\u003ccode\u003ebc21fe7\u003c/code\u003e\u003c/a\u003e fix: enhance check with maven central (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4369\"\u003e#4369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/compare/v5.1.2...v8.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.firebase:firebase-admin` from 9.2.0 to 9.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/firebase/firebase-admin-java/releases\"\u003ecom.google.firebase:firebase-admin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eFirebase Admin Java SDK v9.8.0\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(rc): Support Remote Config managed value types (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1167\"\u003e#1167\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: Reimplement HTTP/2 response entity consumption using ApacheHttp2AsyncEntityConsumer and ApacheHttp2Entity (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1181\"\u003e#1181\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[chore] Release 9.8.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1184\"\u003e#1184\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd javadocs to public methods (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1187\"\u003e#1187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump com.google.cloud:libraries-bom from 26.75.0 to 26.76.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1185\"\u003e#1185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump netty.version from 4.2.9.Final to 4.2.10.Final (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1178\"\u003e#1178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps-dev): Bump org.apache.maven.plugins:maven-compiler-plugin (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1180\"\u003e#1180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump com.google.cloud:libraries-bom from 26.74.0 to 26.75.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1179\"\u003e#1179\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFirebase Admin Java SDK v9.7.1\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(fcm): Preserve unmapped \u003ccode\u003eTopicManagementResponse\u003c/code\u003e error reasons (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1073\"\u003e#1073\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[chore] Release 9.7.1 Take 2 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1177\"\u003e#1177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;[chore] Release 9.7.1 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1175\"\u003e#1175\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1176\"\u003e#1176\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[chore] Release 9.7.1 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1175\"\u003e#1175\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: Update release workflow for push triggers (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1174\"\u003e#1174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: Update copyright headers to Google LLC (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1132\"\u003e#1132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump org.codehaus.mojo:exec-maven-plugin (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1165\"\u003e#1165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump com.google.cloud:libraries-bom from 26.72.0 to 26.73.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1163\"\u003e#1163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump org.sonatype.central:central-publishing-maven-plugin (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1169\"\u003e#1169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: Update Github action resources (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1172\"\u003e#1172\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: Update github actions workflows and integration test resources (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1168\"\u003e#1168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: Bump \u003ccode\u003eio.netty\u003c/code\u003e to \u003ccode\u003e4.2.9\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1159\"\u003e#1159\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump org.sonatype.central:central-publishing-maven-plugin (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1140\"\u003e#1140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump org.apache.maven.plugins:maven-source-plugin (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1153\"\u003e#1153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump org.apache.maven.plugins:maven-antrun-plugin (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1154\"\u003e#1154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump io.netty:netty-codec-http (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1157\"\u003e#1157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump com.google.cloud:libraries-bom from 26.71.0 to 26.72.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1155\"\u003e#1155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: Rename default branch to main (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1156\"\u003e#1156\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump org.apache.maven.plugins:maven-compiler-plugin (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1152\"\u003e#1152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump org.jacoco:jacoco-maven-plugin from 0.8.13 to 0.8.14 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1151\"\u003e#1151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump org.apache.maven.plugins:maven-failsafe-plugin (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1150\"\u003e#1150\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump org.codehaus.mojo:exec-maven-plugin (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1148\"\u003e#1148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump netty.version from 4.2.6.Final to 4.2.7.Final (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1147\"\u003e#1147\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump org.apache.maven.plugins:maven-javadoc-plugin (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1141\"\u003e#1141\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/firebase/firebase-admin-java/commit/5169aae2642a27ca8d423aa28365ca111d34a4d2\"\u003e\u003ccode\u003e5169aae\u003c/code\u003e\u003c/a\u003e [chore] Release 9.8.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1184\"\u003e#1184\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-java/commit/a568b65964a596a78e1b3d468c9e7243778d6fe7\"\u003e\u003ccode\u003ea568b65\u003c/code\u003e\u003c/a\u003e Add javadocs to public methods (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1187\"\u003e#1187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-java/commit/b29ac825c7d78b7aa17c01ee0775352cdbd6c849\"\u003e\u003ccode\u003eb29ac82\u003c/code\u003e\u003c/a\u003e chore(deps): Bump com.google.cloud:libraries-bom from 26.75.0 to 26.76.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1185\"\u003e#1185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-java/commit/2d66ae93ef62e8e6c3d3a7a24dbb7684319ad747\"\u003e\u003ccode\u003e2d66ae9\u003c/code\u003e\u003c/a\u003e fix: Reimplement HTTP/2 response entity consumption using ApacheHttp2AsyncEnt...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-java/commit/b095a066e97c53e38c328515312e75701dbfe3e1\"\u003e\u003ccode\u003eb095a06\u003c/code\u003e\u003c/a\u003e chore(deps): Bump netty.version from 4.2.9.Final to 4.2.10.Final (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1178\"\u003e#1178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-java/commit/72d4b7da451700e80d9608ea0b2ac1d0a5bfc0b3\"\u003e\u003ccode\u003e72d4b7d\u003c/code\u003e\u003c/a\u003e chore(deps-dev): Bump org.apache.maven.plugins:maven-compiler-plugin (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1180\"\u003e#1180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-java/commit/472d0aca64d88b7c0abf4b45ebfc08022538f270\"\u003e\u003ccode\u003e472d0ac\u003c/code\u003e\u003c/a\u003e chore(deps): Bump com.google.cloud:libraries-bom from 26.74.0 to 26.75.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1179\"\u003e#1179\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-java/commit/584742fb6a080a98fb0a2ac5e332b253a0d0b263\"\u003e\u003ccode\u003e584742f\u003c/code\u003e\u003c/a\u003e feat(rc): Support Remote Config managed value types (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1167\"\u003e#1167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-java/commit/0e86e0928f3c45af021ed6b47b314ac397020f86\"\u003e\u003ccode\u003e0e86e09\u003c/code\u003e\u003c/a\u003e [chore] Release 9.7.1 Take 2 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1177\"\u003e#1177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-java/commit/c32438204a97eef1888487331895b2b2ad0fac43\"\u003e\u003ccode\u003ec324382\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;[chore] Release 9.7.1 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1175\"\u003e#1175\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1176\"\u003e#1176\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/firebase/firebase-admin-java/compare/v9.2.0...v9.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.auth:google-auth-library-oauth2-http` from 1.14.0 to 1.46.0\n\nUpdates `software.amazon.awssdk:secretsmanager` from 2.25.36 to 2.44.0\n\nUpdates `software.amazon.awssdk:regions` from 2.25.36 to 2.44.0\n\nUpdates `com.azure:azure-identity` from 1.12.2 to 1.18.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Azure/azure-sdk-for-java/releases\"\u003ecom.azure:azure-identity's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ecom.azure+azure-identity_1.18.3\u003c/h2\u003e\n\u003ch2\u003e1.18.3 (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003ch4\u003eDependency Updates\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eUpgraded \u003ccode\u003eazure-core\u003c/code\u003e from \u003ccode\u003e1.57.1\u003c/code\u003e to version \u003ccode\u003e1.58.0\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpgraded \u003ccode\u003eazure-core-http-netty\u003c/code\u003e from \u003ccode\u003e1.16.3\u003c/code\u003e to version \u003ccode\u003e1.16.4\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ecom.azure+azure-core-http-okhttp_1.13.4\u003c/h2\u003e\n\u003ch2\u003e1.13.4 (2026-04-28)\u003c/h2\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003ch4\u003eDependency Updates\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eUpgraded \u003ccode\u003eazure-core\u003c/code\u003e from \u003ccode\u003e1.57.1\u003c/code\u003e to \u003ccode\u003e1.58.0\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpgraded Reactor from \u003ccode\u003e3.7.14\u003c/code\u003e to \u003ccode\u003e3.7.17\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ecom.azure+azure-core-http-netty_1.16.4\u003c/h2\u003e\n\u003ch2\u003e1.16.4 (2026-04-28)\u003c/h2\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003ch4\u003eDependency Updates\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eUpgraded \u003ccode\u003eazure-core\u003c/code\u003e from \u003ccode\u003e1.57.1\u003c/code\u003e to \u003ccode\u003e1.58.0\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpgraded Reactor from \u003ccode\u003e3.7.14\u003c/code\u003e to \u003ccode\u003e3.7.17\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpgraded Reactor Netty from \u003ccode\u003e1.2.13\u003c/code\u003e to \u003ccode\u003e1.2.16\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpgraded Netty dependencies from \u003ccode\u003e4.1.130.Final\u003c/code\u003e to \u003ccode\u003e4.1.132.Final\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/Azure/azure-sdk-for-java/commit/94bdae4562612bf3fa4b89214b665e85a3543eed\"\u003e\u003ccode\u003e94bdae4\u003c/code\u003e\u003c/a\u003e Fixing broken links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/bdb5558a91faeac9725009597757ee5749142bcd\"\u003e\u003ccode\u003ebdb5558\u003c/code\u003e\u003c/a\u003e Updating the SDK dependencies for azure-identity-broker\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/2417a333a08587673071b5c5f98c591f6386a869\"\u003e\u003ccode\u003e2417a33\u003c/code\u003e\u003c/a\u003e Reset changes to the patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/c094303efdd089528673e2dbce200e761d194864\"\u003e\u003ccode\u003ec094303\u003c/code\u003e\u003c/a\u003e Updating the SDK dependencies for azure-identity\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/36c6eba92c3358f2297ac5bab54a6696db8a9307\"\u003e\u003ccode\u003e36c6eba\u003c/code\u003e\u003c/a\u003e Reset changes to the patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/dbb57c4913ff55734c6f22af5caf6f9ca92ddbfb\"\u003e\u003ccode\u003edbb57c4\u003c/code\u003e\u003c/a\u003e Add missing \u003ccode\u003e@​Azure/azure-java-sdk\u003c/code\u003e owners (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-java/issues/48993\"\u003e#48993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/555b864c7dce8125025b2bcf9e942dd13be6f18f\"\u003e\u003ccode\u003e555b864\u003c/code\u003e\u003c/a\u003e Increment package versions for core releases (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-java/issues/48983\"\u003e#48983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/da7b1072d0c72f2719a4c050971916e3e5c46a70\"\u003e\u003ccode\u003eda7b107\u003c/code\u003e\u003c/a\u003e Increment package versions for storagecache releases (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-java/issues/48992\"\u003e#48992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/5ed8574821d1f2ea522d8e12e2ed9a9f1f01ec08\"\u003e\u003ccode\u003e5ed8574\u003c/code\u003e\u003c/a\u003e [AutoPR azure-resourcemanager-storagecache]-generated-from-SDK Generation - J...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/7c9c1fb4b625f0a25b7894e5250fd02bbfbe1700\"\u003e\u003ccode\u003e7c9c1fb\u003c/code\u003e\u003c/a\u003e Configurations:  'specification/appconfiguration/resource-manager/Microsoft.A...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Azure/azure-sdk-for-java/compare/azure-identity_1.12.2...com.azure+azure-identity_1.18.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.azure:azure-security-keyvault-secrets` from 4.8.2 to 4.10.6\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/1b5c5c79d85a5c9a9cfd07f6cdff6fd0f50eccf9\"\u003e\u003ccode\u003e1b5c5c7\u003c/code\u003e\u003c/a\u003e [Key Vault] Prepare new stable release for all 4 libraries (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-java/issues/48476\"\u003e#48476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/920a6368dfce94d69c08b5551b342149fc2e97b5\"\u003e\u003ccode\u003e920a636\u003c/code\u003e\u003c/a\u003e Promote Full Text Search BETA APIs to GA in azure-cosmos (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-java/issues/48538\"\u003e#48538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/4e4285eb54c97b8c9babddf81f201a74e19fa8c7\"\u003e\u003ccode\u003e4e4285e\u003c/code\u003e\u003c/a\u003e [Query] Fix: \u003ccode\u003eSELECT VALUE ... GROUP BY\u003c/code\u003e throws ClassCastException (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-java/issues/48507\"\u003e#48507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/d61c05ec019d941bb64f76128ab127a1685d1474\"\u003e\u003ccode\u003ed61c05e\u003c/code\u003e\u003c/a\u003e Increment package versions for datafactory releases (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-java/issues/48556\"\u003e#48556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/7b8eedeaf641776660dc67aba7aaddf67481df0f\"\u003e\u003ccode\u003e7b8eede\u003c/code\u003e\u003c/a\u003e External dependencies upgrade - Spring Boot 4.0.4 and Spring Cloud 2025.1.0 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/85bf709e04e3823c91257ea88221fc4471946f40\"\u003e\u003ccode\u003e85bf709\u003c/code\u003e\u003c/a\u003e [AutoPR azure-resourcemanager-datafactory]-generated-from-SDK Generation - Ja...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/8912ce571f8d76494a14ca97e0a558fb6c3d6a2d\"\u003e\u003ccode\u003e8912ce5\u003c/code\u003e\u003c/a\u003e Increment package versions for containerregistry releases (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-java/issues/48533\"\u003e#48533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/3311abfc6b094680f09c19d2d3726499429429d8\"\u003e\u003ccode\u003e3311abf\u003c/code\u003e\u003c/a\u003e Increment package versions for nginx releases (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-java/issues/48528\"\u003e#48528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/e073934222ac304c24d70ef6eced6dbf004742e3\"\u003e\u003ccode\u003ee073934\u003c/code\u003e\u003c/a\u003e Increment package versions for netapp releases (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-java/issues/48509\"\u003e#48509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/48880837ed3a2c1887b1d4a859f47ae6a5c9b1a3\"\u003e\u003ccode\u003e4888083\u003c/code\u003e\u003c/a\u003e [VoiceLive] Fix issues: remove unnecessary subscribeOn, fix Disposable leaks,...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Azure/azure-sdk-for-java/compare/azure-security-keyvault-keys_4.8.2...com.azure+azure-security-keyvault-keys_4.10.6\"\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` from 4.12.0 to 5.3.2\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's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 5.3.2\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-11-18\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: Don't delay triggering timeouts. In Okio 3.16.0 we introduced a regression that caused\ntimeouts to fire later than they were supposed to.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade: [Okio 3.16.4][okio_3_16_4].\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 5.3.1\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-11-16\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003eThis release is the same as 5.3.0. Okio 3.16.3 didn't have a necessary fix!\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade: [Okio 3.16.3][okio_3_16_3].\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 5.3.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-10-30\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNew: Add tags to \u003ccode\u003eCall\u003c/code\u003e, including computable tags. Use this to attach application-specific\nmetadata to a \u003ccode\u003eCall\u003c/code\u003e in an \u003ccode\u003eEventListener\u003c/code\u003e or \u003ccode\u003eInterceptor\u003c/code\u003e. The tag can be read in any other\n\u003ccode\u003eEventListener\u003c/code\u003e or \u003ccode\u003eInterceptor\u003c/code\u003e.\u003c/p\u003e\n\u003cpre lang=\"kotlin\"\u003e\u003ccode\u003e  override fun intercept(chain: Interceptor.Chain): Response {\n    chain.call().tag(MyAnalyticsTag::class) {\n      MyAnalyticsTag(...)\n    }\n\u003cpre\u003e\u003ccode\u003ereturn chain.proceed(chain.request())\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e}\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew: Support request bodies on HTTP/1.1 connection upgrades.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew: \u003ccode\u003eEventListener.plus()\u003c/code\u003e makes it easier to observe events in multiple listeners.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: Don't spam logs with \u003cem\u003e‘Method isLoggable in android.util.Log not mocked.’\u003c/em\u003e when using\nOkHttp in Robolectric and Paparazzi tests.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade: [Kotlin 2.2.21][kotlin_2_2_21].\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade: [Okio 3.16.2][okio_3_16_2].\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade: [ZSTD-KMP 0.4.0][zstd_kmp_0_4_0]. This update fixes a bug that caused APKs to fail\n[16 KB ELF alignment checks][elf_alignment].\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 5.2.3\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-11-18\u003c/em\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/square/okhttp/commit/75b9c267744cdd2e8b222d247052748ff0954304\"\u003e\u003ccode\u003e75b9c26\u003c/code\u003e\u003c/a\u003e Prepare for release 5.3.2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/ab48e5d86d0c0b16b3679b9b9522acf65db73da4\"\u003e\u003ccode\u003eab48e5d\u003c/code\u003e\u003c/a\u003e Okio 3.16.4 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9200\"\u003e#9200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/a9a4638b3d38b83782a959514b4183ddea0f071f\"\u003e\u003ccode\u003ea9a4638\u003c/code\u003e\u003c/a\u003e Prepare next development version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/ef72228d270c21962ab632b4c5a0dfd7ab4fd661\"\u003e\u003ccode\u003eef72228\u003c/code\u003e\u003c/a\u003e Prepare for release 5.3.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/674716746bb4efce30501b711ea3ec188c0d670d\"\u003e\u003ccode\u003e6747167\u003c/code\u003e\u003c/a\u003e Update com.squareup.okio to v3.16.3 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9197\"\u003e#9197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/0960b47ec28a02e893499d2a7e53bf462a62875e\"\u003e\u003ccode\u003e0960b47\u003c/code\u003e\u003c/a\u003e Prepare for release 5.3.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/bfb24eb90b3be7fb73541ea02ce8d5dfc4021709\"\u003e\u003ccode\u003ebfb24eb\u003c/code\u003e\u003c/a\u003e Support Request Bodies on HTTP1.1 Connection Upgrades (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9159\"\u003e#9159\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/cf4a86439568e640c39da5e4e73af6565a5510b1\"\u003e\u003ccode\u003ecf4a864\u003c/code\u003e\u003c/a\u003e Update Gradle to v9.2.0 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9171\"\u003e#9171\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/4e7dbec1ea6c9cf8d80422ac9d44b9b185c749a3\"\u003e\u003ccode\u003e4e7dbec\u003c/code\u003e\u003c/a\u003e Update dependency com.puppycrawl.tools:checkstyle to v12.1.1 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9169\"\u003e#9169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/0470853d724ec9e3c68a6ef83a4d1a60a73ef289\"\u003e\u003ccode\u003e0470853\u003c/code\u003e\u003c/a\u003e Add tags to calls, including computable tags (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9168\"\u003e#9168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/square/okhttp/compare/parent-4.12.0...parent-5.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.squareup.okhttp3:logging-interceptor` from 4.12.0 to 5.3.2\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:logging-interceptor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 5.3.2\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-11-18\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: Don't delay triggering timeouts. In Okio 3.16.0 we introduced a regression that caused\ntimeouts to fire later than they were supposed to.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade: [Okio 3.16.4][okio_3_16_4].\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 5.3.1\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-11-16\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003eThis release is the same as 5.3.0. Okio 3.16.3 didn't have a necessary fix!\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade: [Okio 3.16.3][okio_3_16_3].\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 5.3.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-10-30\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNew: Add tags to \u003ccode\u003eCall\u003c/code\u003e, including computable tags. Use this to attach application-specific\nmetadata to a \u003ccode\u003eCall\u003c/code\u003e in an \u003ccode\u003eEventListener\u003c/code\u003e or \u003ccode\u003eInterceptor\u003c/code\u003e. The tag can be read in any other\n\u003ccode\u003eEventListener\u003c/code\u003e or \u003ccode\u003eInterceptor\u003c/code\u003e.\u003c/p\u003e\n\u003cpre lang=\"kotlin\"\u003e\u003ccode\u003e  override fun intercept(chain: Interceptor.Chain): Response {\n    chain.call().tag(MyAnalyticsTag::class) {\n      MyAnalyticsTag(...)\n    }\n\u003cpre\u003e\u003ccode\u003ereturn chain.proceed(chain.request())\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e}\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew: Support request bodies on HTTP/1.1 connection upgrades.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew: \u003ccode\u003eEventListener.plus()\u003c/code\u003e makes it easier to observe events in multiple listeners.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: Don't spam logs with \u003cem\u003e‘Method isLoggable in android.util.Log not mocked.’\u003c/em\u003e when using\nOkHttp in Robolectric and Paparazzi tests.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade: [Kotlin 2.2.21][kotlin_2_2_21].\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade: [Okio 3.16.2][okio_3_16_2].\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade: [ZSTD-KMP 0.4.0][zstd_kmp_0_4_0]. This update fixes a bug that caused APKs to fail\n[16 KB ELF alignment checks][elf_alignment].\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 5.2.3\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-11-18\u003c/em\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/square/okhttp/commit/75b9c267744cdd2e8b222d247052748ff0954304\"\u003e\u003ccode\u003e75b9c26\u003c/code\u003e\u003c/a\u003e Prepare for release 5.3.2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/ab48e5d86d0c0b16b3679b9b9522acf65db73da4\"\u003e\u003ccode\u003eab48e5d\u003c/code\u003e\u003c/a\u003e Okio 3.16.4 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9200\"\u003e#9200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/a9a4638b3d38b83782a959514b4183ddea0f071f\"\u003e\u003ccode\u003ea9a4638\u003c/code\u003e\u003c/a\u003e Prepare next development version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/ef72228d270c21962ab632b4c5a0dfd7ab4fd661\"\u003e\u003ccode\u003eef72228\u003c/code\u003e\u003c/a\u003e Prepare for release 5.3.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/674716746bb4efce30501b711ea3ec188c0d670d\"\u003e\u003ccode\u003e6747167\u003c/code\u003e\u003c/a\u003e Update com.squareup.okio to v3.16.3 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9197\"\u003e#9197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/0960b47ec28a02e893499d2a7e53bf462a62875e\"\u003e\u003ccode\u003e0960b47\u003c/code\u003e\u003c/a\u003e Prepare for release 5.3.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/bfb24eb90b3be7fb73541ea02ce8d5dfc4021709\"\u003e\u003ccode\u003ebfb24eb\u003c/code\u003e\u003c/a\u003e Support Request Bodies on HTTP1.1 Connection Upgrades (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9159\"\u003e#9159\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/cf4a86439568e640c39da5e4e73af6565a5510b1\"\u003e\u003ccode\u003ecf4a864\u003c/code\u003e\u003c/a\u003e Update Gradle to v9.2.0 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9171\"\u003e#9171\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/4e7dbec1ea6c9cf8d80422ac9d44b9b185c749a3\"\u003e\u003ccode\u003e4e7dbec\u003c/code\u003e\u003c/a\u003e Update dependency com.puppycrawl.tools:checkstyle to v12.1.1 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9169\"\u003e#9169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/0470853d724ec9e3c68a6ef83a4d1a60a73ef289\"\u003e\u003ccode\u003e0470853\u003c/code\u003e\u003c/a\u003e Add tags to calls, including computable tags (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9168\"\u003e#9168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/square/okhttp/compare/parent-4.12.0...parent-5.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.core:jackson-core` from 2.17.0 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/5815636064ca5f5f2f5af0a91c7ad96368c239e7\"\u003e\u003ccode\u003e5815636\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/6e728f9bde605f98e34d67d5db0a1b530b0a9bfd\"\u003e\u003ccode\u003e6e728f9\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/4e30cf21ca4faeffa062ae13730fade890ce2540\"\u003e\u003ccode\u003e4e30cf2\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/1429fffeca1eee24d7c3d7a0887c5ac10cac7a58\"\u003e\u003ccode\u003e1429fff\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/8f622c5cf177509989eaa154e4cb86d64b28f5a6\"\u003e\u003ccode\u003e8f622c5\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/cd4d6b2baf575fd84419368717ddf12eb21fc8d7\"\u003e\u003ccode\u003ecd4d6b2\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/03458823cc3cf78f1ea19cfe5f045475628ee834\"\u003e\u003ccode\u003e0345882\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/a7a5562c0215da3e1297e4825fc5fc4d4f237c68\"\u003e\u003ccode\u003ea7a5562\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.18.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/cd647ea2cf15ee7740f1e3eb447335f667dd3a7a\"\u003e\u003ccode\u003ecd647ea\u003c/code\u003e\u003c/a\u003e Prep for 2.18.7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/0ac2f771ad5fdceb60f908352c4dee2ffa498146\"\u003e\u003ccode\u003e0ac2f77\u003c/code\u003e\u003c/a\u003e Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-core/compare/jackson-core-2.17.0...jackson-core-2.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.core:jackson-annotations` from 2.17.0 to 2.21.3\n\nUpdates `com.fasterxml.jackson.core:jackson-databind` from 2.17.0 to 2.21.3\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 `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.17.0 to 2.21.3\n\nUpdates `com.fasterxml.jackson.module:jackson-module-afterburner` from 2.17.0 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/3290598ecbbd8bbb0b34a35a7361ff54e1050463\"\u003e\u003ccode\u003e3290598\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-modules-base-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/ff548e5773b62aef719c2104ecfccbe70dadcedc\"\u003e\u003ccode\u003eff548e5\u003c/code\u003e\u003c/a\u003e undo version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/1c5c59c5a3fc09a17d1027879ebca459842cda8e\"\u003e\u003ccode\u003e1c5c59c\u003c/code\u003e\u003c/a\u003e re-do release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/64b246c236e6d424eb4469131bbd76c3056dc2a3\"\u003e\u003ccode\u003e64b246c\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/38be1635960bed69c4f52bfbbdd3297447bd7506\"\u003e\u003ccode\u003e38be163\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/b3506d8b74b64a5f7e3f5884df8e5246f1c03bf0\"\u003e\u003ccode\u003eb3506d8\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/2f51aa35660e9af07415c54b6bc8185622d91288\"\u003e\u003ccode\u003e2f51aa3\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/88adb497be38f7b4de3cbcd49ec8d641933214ce\"\u003e\u003ccode\u003e88adb49\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/5a89cc181bf92f40730a6d297dbb32e2cfd29300\"\u003e\u003ccode\u003e5a89cc1\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-modules-base/commit/6cad130d2e9f61aff310212ab6fb5b03a09f720a\"\u003e\u003ccode\u003e6cad130\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-modules-base-2.18.7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-modules-base/compare/jackson-modules-base-2.17.0...jackson-modules-base-2.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.17.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.1\u003c/strong\u003e is out now, adding support for the \u003ccode\u003ere2j\u003c/code\u003e regular expression engine for regex-based CSS selectors, a configurable maximum parser depth, and numerous bug fixes and improvements.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jsoup.org/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for using the \u003ccode\u003ere2j\u003c/code\u003e regular expression engine for regex-based CSS selectors (e.g. \u003ccode\u003e[attr~=regex]\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e), which ensures linear-time performance for regex evaluation. This allows safer handling of arbitrary user-supplied query regexes. To enable, add the \u003ccode\u003ecom.google.re2j\u003c/code\u003e dependency to your classpath, e.g.:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"xml\"\u003e\u003ccode\u003e  \u0026lt;dependency\u0026gt;\r\n    \u0026lt;groupId\u0026gt;com.google.re2j\u0026lt;/groupId\u0026gt;\r\n    \u0026lt;artifactId\u0026gt;re2j\u0026lt;/artifactId\u0026gt;\r\n    \u0026lt;version\u0026gt;1.8\u0026lt;/version\u0026gt;\r\n  \u0026lt;/dependency\u0026gt;\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e(If you already have that dependency in your classpath, but you want to keep using the Java regex engine, you can disable re2j via \u003ccode\u003eSystem.setProperty(\u0026quot;jsoup.useRe2j\u0026quot;, \u0026quot;false\u0026quot;)\u003c/code\u003e.) You can confirm that the re2j engine has been enabled correctly by calling \u003ccode\u003eRegex.usingRe2j()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2407\"\u003e#2407\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.22.1 (2026-Jan-01)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for using the \u003ccode\u003ere2j\u003c/code\u003e regular expression engine for regex-based CSS selectors (e.g. \u003ccode\u003e[attr~=regex]\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e), which ensures linear-time performance for regex evaluation. This allows safer handling of arbitrary user-supplied query regexes. To enable, add the \u003ccode\u003ecom.google.re2j\u003c/code\u003e dependency to your classpath, e.g.:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"xml\"\u003e\u003ccode\u003e  \u0026lt;dependency\u0026gt;\n    \u0026lt;groupId\u0026gt;com.google.re2j\u0026lt;/groupId\u0026gt;\n    \u0026lt;artifactId\u0026gt;re2j\u0026lt;/artifactId\u0026gt;\n    \u0026lt;version\u0026gt;1.8\u0026lt;/version\u0026gt;\n  \u0026lt;/dependency\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e(If you already have that dependency in your classpath, but you want to keep using the Java regex engine, you can disable re2j via \u003ccode\u003eSystem.setProperty(\u0026quot;jsoup.useRe2j\u0026quot;, \u0026quot;false\u0026quot;)\u003c/code\u003e.) You can confirm that the re2j engine has been enabled correctly by calling \u003ccode\u003eorg.jsoup.helper.Regex.usingRe2j()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2407\"\u003e#2407\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an instance method \u003ccode\u003eParser#unescape(String, boolean)\u003c/code\u003e that unescapes HTML entities using the parser's configuration (e.g. to support error tracking), complementing the existing static utility \u003ccode\u003eParser.unescapeEntities(String, boolean)\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2396\"\u003e#2396\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded a configurable maximum parser depth (to limit the number of open elements on stack) to both HTML and XML parsers. The HTML parser now defaults to a depth of 512 to match browser behavior, and protect against unbounded stack growth, while the XML parser keeps unlimited depth by default, but can opt into a limit via \u003ccode\u003eorg.jsoup.parser.Parser#setMaxDepth\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2421\"\u003e#2421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild: added CI coverage for JDK 25 \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2403\"\u003e#2403\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild: added a CI fuzzer for contextual fragment parsing (in addition to existing full body HTML and XML fuzzers). [oss-fuzz \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/14041\"\u003e#14041\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/google/oss-fuzz/pull/14041\"\u003egoogle/oss-fuzz#14041\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSet a removal schedule of jsoup 1.24.1 for previously deprecated APIs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreviously cached child \u003ccode\u003eElements\u003c/code\u003e of an \u003ccode\u003eElement\u003c/code\u003e were not correctly invalidated in \u003ccode\u003eNode#replaceWith(Node)\u003c/code\u003e, which could lead to incorrect results when subsequently calling \u003ccode\u003eElement#children()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2391\"\u003e#2391\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAttribute selector values are now compared literally without trimming. Previously, jsoup trimmed whitespace from selector values and from element attribute values, which could cause mismatches with browser behavior (e.g. \u003ccode\u003e[attr=\u0026quot; foo \u0026quot;]\u003c/code\u003e). Now matches align with the CSS specification and browser engines. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2380\"\u003e#2380\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using the JDK HttpClient, any system default proxy (\u003ccode\u003eProxySelector.getDefault()\u003c/code\u003e) was ignored. Now, the system proxy is used if a per-request proxy is not set. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2388\"\u003e#2388\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2390\"\u003e#2390\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003eValidationException\u003c/code\u003e could be thrown in the adoption agency algorith...\n\n_Description has been truncated_","html_url":"https://github.com/paykaribazaronline/supremeai/pull/53","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/paykaribazaronline%2Fsupremeai/issues/53","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/53/packages"}],"issue_packages":[{"old_version":"3.2.3","new_version":"3.2.4","update_type":"patch","path":null,"pr_created_at":"2026-06-12T12:52:23.000Z","version_change":"3.2.3 → 3.2.4","issue":{"uuid":"4649364612","node_id":"PR_kwDOBNJpF87lwvUg","number":984,"state":"open","title":"Bump com.github.ben-manes.caffeine:caffeine from 3.2.3 to 3.2.4","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-12T12:52:23.000Z","updated_at":"2026-06-12T12:54:04.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"}],"path":null,"ecosystem":"maven"},"body":"Bumps [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) from 3.2.3 to 3.2.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.github.ben-manes.caffeine:caffeine\u0026package-manager=maven\u0026previous-version=3.2.3\u0026new-version=3.2.4)](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/stevespringett/Alpine/pull/984","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevespringett%2FAlpine/issues/984","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/984/packages"}},{"old_version":"3.2.0","new_version":"3.2.4","update_type":"patch","path":"/hiero-dependency-versions","pr_created_at":"2026-06-09T22:43:31.000Z","version_change":"3.2.0 → 3.2.4","issue":{"uuid":"4626200271","node_id":"PR_kwDOD5sxF87kl2uU","number":25838,"state":"open","title":"build(deps): bump com.github.ben-manes.caffeine:caffeine from 3.2.0 to 3.2.4 in /hiero-dependency-versions","user":"dependabot[bot]","labels":["dependencies","Java"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-09T22:43:31.000Z","updated_at":"2026-06-09T23:41:33.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.0","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"}],"path":"/hiero-dependency-versions","ecosystem":"maven"},"body":"Bumps [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) from 3.2.0 to 3.2.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.2.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed frequency tracking of weak keys to use the object's identity hash code (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1902\"\u003e#1902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for underscores in \u003ccode\u003eCaffeineSpec\u003c/code\u003e when using numeric literals (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1890\"\u003e#1890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved the external api to no longer lock when querying for the maximum size or weighted size (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1897\"\u003e#1897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded detection and recovery when a custom \u003ccode\u003eCompletableFuture\u003c/code\u003e is in an inconsistent state (\u003ca href=\"https://redirect.github.com/quarkusio/quarkus/issues/50513\"\u003equarkus#50513\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.2.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed characteristics returned by Spliterators (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1883\"\u003e#1883\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e for an async cache's synchronous view to retry if incomplete\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eCaffeineSpec\u003c/code\u003e when being reflectively constructed (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1839\"\u003e#1839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved the handling of negative durations with variable expiration\u003c/li\u003e\n\u003cli\u003eFixed intermittent null after replacing a weak/soft value (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1820\"\u003e#1820\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.0...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.github.ben-manes.caffeine:caffeine\u0026package-manager=gradle\u0026previous-version=3.2.0\u0026new-version=3.2.4)](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/hiero-ledger/hiero-consensus-node/pull/25838","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiero-ledger%2Fhiero-consensus-node/issues/25838","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/25838/packages"}},{"old_version":"3.2.3","new_version":"3.2.4","update_type":"patch","path":null,"pr_created_at":"2026-05-25T05:48:29.000Z","version_change":"3.2.3 → 3.2.4","issue":{"uuid":"4514594038","node_id":"PR_kwDOCPoAuM7e68et","number":361,"state":"open","title":"fix(deps): bump the prod-deps group across 1 directory with 8 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-25T05:48:29.000Z","updated_at":"2026-05-25T05:51:46.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"fix(deps): bump","group_name":"prod-deps","update_count":8,"packages":[{"name":"org.junit:junit-bom","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.apache.logging.log4j:log4j-bom","old_version":"2.25.3","new_version":"2.26.0","repository_url":"https://github.com/apache/logging-log4j2"},{"name":"io.vertx:vertx-stack-depchain","old_version":"5.0.8","new_version":"5.0.12"},{"name":"io.vertx:vertx-core","old_version":"5.0.8","new_version":"5.0.12","repository_url":"https://github.com/eclipse/vert.x"},{"name":"io.vertx:vertx-web","old_version":"5.0.8","new_version":"5.0.12","repository_url":"https://github.com/vert-x3/vertx-web"},{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"org.springframework:spring-context","old_version":"7.0.6","new_version":"7.0.7","repository_url":"https://github.com/spring-projects/spring-framework"},{"name":"org.springframework:spring-test","old_version":"7.0.6","new_version":"7.0.7","repository_url":"https://github.com/spring-projects/spring-framework"}],"path":null,"ecosystem":"maven"},"body":"Bumps the prod-deps group with 8 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.junit:junit-bom](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\n| [org.apache.logging.log4j:log4j-bom](https://github.com/apache/logging-log4j2) | `2.25.3` | `2.26.0` |\n| io.vertx:vertx-stack-depchain | `5.0.8` | `5.0.12` |\n| [io.vertx:vertx-core](https://github.com/eclipse/vert.x) | `5.0.8` | `5.0.12` |\n| [io.vertx:vertx-web](https://github.com/vert-x3/vertx-web) | `5.0.8` | `5.0.12` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.2.3` | `3.2.4` |\n| [org.springframework:spring-context](https://github.com/spring-projects/spring-framework) | `7.0.6` | `7.0.7` |\n| [org.springframework:spring-test](https://github.com/spring-projects/spring-framework) | `7.0.6` | `7.0.7` |\n\n\nUpdates `org.junit:junit-bom` from 6.0.3 to 6.1.0\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.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\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\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/0dc3af1cb1973d257b5bc75d81e02454d5e4e556\"\u003e\u003ccode\u003e0dc3af1\u003c/code\u003e\u003c/a\u003e Release 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1d130020c85170edcb46ce7ed1f7f78824e37c04\"\u003e\u003ccode\u003e1d13002\u003c/code\u003e\u003c/a\u003e Prepare 6.1.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/072b2175bbd7b0b3b26f5d928550ec7a21e68268\"\u003e\u003ccode\u003e072b217\u003c/code\u003e\u003c/a\u003e Update plugin spotless to v8.5.0 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5668\"\u003e#5668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/3a53480218f4b752a9ca77506e10632cd483c0f8\"\u003e\u003ccode\u003e3a53480\u003c/code\u003e\u003c/a\u003e Update Gradle to v9.5.1 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5666\"\u003e#5666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0e18a20a9f98d063ae02b3ba19329143f5c7f034\"\u003e\u003ccode\u003e0e18a20\u003c/code\u003e\u003c/a\u003e Update zizmorcore/zizmor-action action to v0.5.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5669\"\u003e#5669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0a2634fb9cbbd057b02cf629d7d272c16d62be4b\"\u003e\u003ccode\u003e0a2634f\u003c/code\u003e\u003c/a\u003e Update github/codeql-action action to v4.35.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5671\"\u003e#5671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/4dbd5561b00ac761a62c516bfaec51c212a2d60c\"\u003e\u003ccode\u003e4dbd556\u003c/code\u003e\u003c/a\u003e Restructure workflows to have single \u0026quot;status\u0026quot; job (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5670\"\u003e#5670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f2194cebe377512cb0ade388c62a881a0bcf5d3e\"\u003e\u003ccode\u003ef2194ce\u003c/code\u003e\u003c/a\u003e Increase timeout to reduce flakiness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fdd2df65b763151cccbe669ea9e1c3155efcd\"\u003e\u003ccode\u003e5c8fdd2\u003c/code\u003e\u003c/a\u003e Update dependency org.apache.groovy:groovy to v5.0.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5659\"\u003e#5659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/43c6982324602582902c9bdb213fd5e007f9cf3d\"\u003e\u003ccode\u003e43c6982\u003c/code\u003e\u003c/a\u003e Update dependency org.slf4j:slf4j-jdk14 to v2.0.18 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5667\"\u003e#5667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.logging.log4j:log4j-bom` from 2.25.3 to 2.26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/logging-log4j2/releases\"\u003eorg.apache.logging.log4j:log4j-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.26.0\u003c/h2\u003e\n\u003cp\u003eThis minor release delivers all the fixes in the \u003ccode\u003e[2.25.0, 2.25.4]\u003c/code\u003e version range, plus some new fixes, and several other improvements and features.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a new \u003ccode\u003eConfigurationFactory::getConfiguration\u003c/code\u003e method accepting multiple \u003ccode\u003eURI\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3775\"\u003e#3775\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3921\"\u003e#3921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd and export \u003ccode\u003eorg.apache.logging.log4j.core.pattern.NamedInstantPattern\u003c/code\u003e enabling users to programmatically access named date \u0026amp; time patterns supported by Pattern Layout (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3789\"\u003e#3789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003elog4j.plugin.processor.minAllowedMessageKind\u003c/code\u003e annotation processor option to \u003ccode\u003ePluginProcessor\u003c/code\u003e to filter diagnostic messages by severity. This allows builds that treat compiler notes as errors (e.g. Maven with \u003ccode\u003e-Werror\u003c/code\u003e) to suppress informational notes emitted during normal plugin processing. (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/discussions/3380%5B#3380%5D(https://redirect.github.com/apache/logging-log4j2/issues/3380)\"\u003eapache/logging-log4j2#3380\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4063\"\u003e#4063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing setters to \u003ccode\u003eRfc5424LayoutBuilder\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure scripts in the global \u003ccode\u003eScripts\u003c/code\u003e element have explicit names by throwing a \u003ccode\u003eConfigurationException\u003c/code\u003e for unnamed ones. (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3176\"\u003e#3176\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify file manager registry factory methods (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3968\"\u003e#3968\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated withers in builder classes in favor of setters. This change improves API consistency with Log4j Core 3 and helps users adapt to the upcoming changes. (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3750\"\u003e#3750\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix script resolution failure when the \u003ccode\u003eScripts\u003c/code\u003e element is placed after a \u003ccode\u003eScriptRef\u003c/code\u003e in the configuration. (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3336\"\u003e#3336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e thrown by \u003ccode\u003eThrowableStackTraceRenderer\u003c/code\u003e when the stack trace is modified concurrently (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3940\"\u003e#3940\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3955\"\u003e#3955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eSLF4JLogger.atFatal()\u003c/code\u003e returning \u003ccode\u003eatLevel(Level.TRACE)\u003c/code\u003e instead of \u003ccode\u003eatLevel(Level.FATAL)\u003c/code\u003e. This was causing \u003ccode\u003eFATAL\u003c/code\u003e-level log events to be silently discarded when using the fluent API through the \u003ccode\u003elog4j-to-slf4j\u003c/code\u003e bridge. (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4068\"\u003e#4068\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4089\"\u003e#4089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Javadoc references across module boundaries (i.e., cross-references) (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4099\"\u003e#4099\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4100\"\u003e#4100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix header write in \u003ccode\u003eRollingRandomAccessFileManager\u003c/code\u003e that was being incorrectly skipped if \u003ccode\u003eappend=true\u003c/code\u003e and the file didn't exist before\u003c/li\u003e\n\u003cli\u003eFix a properties file configuration regression caused by not referenced loggers, appenders, and filters (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4036\"\u003e#4036\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4069\"\u003e#4069\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove the \u003ccode\u003ejvmrunargs\u003c/code\u003e lookup. (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3874\"\u003e#3874\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003eorg.junit:junit-bom\u003c/code\u003e to version \u003ccode\u003e5.13.4\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3850\"\u003e#3850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eorg.mongodb:bson\u003c/code\u003e to version \u003ccode\u003e5.6.1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3961\"\u003e#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eorg.xerial.snappy:snappy-java\u003c/code\u003e to version \u003ccode\u003e1.1.10.8\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3841\"\u003e#3841\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.25.4\u003c/h2\u003e\n\u003cp\u003eThis patch release delivers fixes for configuration inconsistencies and formatting issues across several layouts.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRestores alignment between documented and actual configuration attributes.\u003c/li\u003e\n\u003cli\u003eFixes formatting and sanitization issues in XML and RFC5424 layouts.\u003c/li\u003e\n\u003cli\u003eImproves handling of invalid characters and non-standard values.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe authoritative list of recognized configuration attributes is available in the \u003ca href=\"https://logging.apache.org/log4j/2.x/plugin-reference.html\"\u003ePluginReference\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't issue warnings if extra argument in parameterized logging is \u003ccode\u003enull\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3975\"\u003e#3975\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/apache/logging-log4j2/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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/c1ad2a66cc90e643ec319b9e131764c9710bebc5\"\u003e\u003ccode\u003ec1ad2a6\u003c/code\u003e\u003c/a\u003e Update the \u003ccode\u003eproject.build.outputTimestamp\u003c/code\u003e property\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/8b3a7990421ec5cff2a44914c07d0676067c31ad\"\u003e\u003ccode\u003e8b3a799\u003c/code\u003e\u003c/a\u003e Set version to \u003ccode\u003e2.26.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/96486ebb8a2176f7bd14c797b334da84d90e801b\"\u003e\u003ccode\u003e96486eb\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/2.x' into release/2.26.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/82432570e8bb9a67c32de51dc63ebcfcec939818\"\u003e\u003ccode\u003e8243257\u003c/code\u003e\u003c/a\u003e Add documentation for \u003ccode\u003eMessageRewritePolicy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/2a15414e839fea3f3ba61cc7403dd8e4130a15cf\"\u003e\u003ccode\u003e2a15414\u003c/code\u003e\u003c/a\u003e Add documentation pointer to the Async HTTP Appender of \u003ccode\u003emore-log4j2\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4062\"\u003e#4062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/b178cb1f926b3db43c65e69e9b7be7b76431f824\"\u003e\u003ccode\u003eb178cb1\u003c/code\u003e\u003c/a\u003e Switch CI to \u003ccode\u003egha/v0\u003c/code\u003e and remove Develocity (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4108\"\u003e#4108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/23321deb0e1e1509ac16c5453653c86c1a4d5867\"\u003e\u003ccode\u003e23321de\u003c/code\u003e\u003c/a\u003e Remove changelog entries for already released changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/def55fcf441b2a9ec2e6454e8fa8e1053d7d59ba\"\u003e\u003ccode\u003edef55fc\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e.release.xml\u003c/code\u003e and \u003ccode\u003e.release-notes.adoc.ftl\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/0e019f23b001219fd32c78397224b134fa41e431\"\u003e\u003ccode\u003e0e019f2\u003c/code\u003e\u003c/a\u003e Move changelog entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/a487a5d029697fc0b276a20c4277b24bf1f66b50\"\u003e\u003ccode\u003ea487a5d\u003c/code\u003e\u003c/a\u003e Tidy up changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/logging-log4j2/compare/rel/2.25.3...rel/2.26.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.vertx:vertx-stack-depchain` from 5.0.8 to 5.0.12\n\nUpdates `io.vertx:vertx-core` from 5.0.8 to 5.0.12\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/244f9e7d87f854961df930b2383a990999523be9\"\u003e\u003ccode\u003e244f9e7\u003c/code\u003e\u003c/a\u003e Releasing 5.0.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/c64a707b6de83feeb0317e848345684860f0ab2f\"\u003e\u003ccode\u003ec64a707\u003c/code\u003e\u003c/a\u003e Define a bounded capacity for the internal SNI to SslContext cache.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/b1b817892996b31451884ae44d439cd1408e85a3\"\u003e\u003ccode\u003eb1b8178\u003c/code\u003e\u003c/a\u003e Upgrade Brotli4j to 1.23.0 for testing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/93b9cde134665883f01cec02e611f4ce0d6d3e6f\"\u003e\u003ccode\u003e93b9cde\u003c/code\u003e\u003c/a\u003e Move http2 compression handling from connection to stream level\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/325d607efc6aa32f35dec681ba6b37bfbc41c296\"\u003e\u003ccode\u003e325d607\u003c/code\u003e\u003c/a\u003e Set next snapshot version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/17daa03e93011f338d207db41fd6aefd6b63add0\"\u003e\u003ccode\u003e17daa03\u003c/code\u003e\u003c/a\u003e Releasing 5.0.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/7f77d1e983481d77ac0c2e7b84c8681b5f2a3c23\"\u003e\u003ccode\u003e7f77d1e\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Work around HTTP/2 decompression padding issue.\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/3894859e72f858fa3130b1d5d52dd0ef807b0a0a\"\u003e\u003ccode\u003e3894859\u003c/code\u003e\u003c/a\u003e Let the HTTP/2 max number of small continuation frames allowed to be configur...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/82b01d9db6c9e262c6068c203b564f6b65bd14e6\"\u003e\u003ccode\u003e82b01d9\u003c/code\u003e\u003c/a\u003e Fix HttpClientResponse body()/end() race (5.0 backport)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/89878bd72d3e969544b12797f1df0670cce8574d\"\u003e\u003ccode\u003e89878bd\u003c/code\u003e\u003c/a\u003e Improve the resiliency of Vert.x Logger.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eclipse/vert.x/compare/5.0.8...5.0.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.vertx:vertx-web` from 5.0.8 to 5.0.12\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/c0e402818ec6f0cc7ec6d30df3d94ef157befe2f\"\u003e\u003ccode\u003ec0e4028\u003c/code\u003e\u003c/a\u003e Releasing 5.0.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/07a6c31a5b8f12d6528b8bcfbb846ffabbf36321\"\u003e\u003ccode\u003e07a6c31\u003c/code\u003e\u003c/a\u003e Upgrade to webauthn4j 0.30.3.RELEASE (\u003ca href=\"https://redirect.github.com/vert-x3/vertx-web/issues/2872\"\u003e#2872\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vert-x3/vertx-web/issues/2873\"\u003e#2873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/e91354f61862dce7e1d475d1fe55bd28ff100ad0\"\u003e\u003ccode\u003ee91354f\u003c/code\u003e\u003c/a\u003e Set next snapshot version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/177f6f3e7d5efc6500333f24372e3834465a988a\"\u003e\u003ccode\u003e177f6f3\u003c/code\u003e\u003c/a\u003e Releasing 5.0.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/a968e6d40057ba115ad72c267afb73ff66daea39\"\u003e\u003ccode\u003ea968e6d\u003c/code\u003e\u003c/a\u003e Set next snapshot version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/347f25d78f3fafc9edc7905c52e58c8ce75ba0f6\"\u003e\u003ccode\u003e347f25d\u003c/code\u003e\u003c/a\u003e Releasing 5.0.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/57b1072083dadde59649b40433e21f619aa33118\"\u003e\u003ccode\u003e57b1072\u003c/code\u003e\u003c/a\u003e Set next snapshot version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/d449af80ff54d798f5aac002c8b184efef5c85f7\"\u003e\u003ccode\u003ed449af8\u003c/code\u003e\u003c/a\u003e Releasing 5.0.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/965fec81cf50b2273a1a8a6f6ad7f3214c4712ca\"\u003e\u003ccode\u003e965fec8\u003c/code\u003e\u003c/a\u003e Fix missing Accept/Allow headers in 415/405 responses with sub-routers (\u003ca href=\"https://redirect.github.com/vert-x3/vertx-web/issues/2863\"\u003e#2863\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/398214cb48e113ad0160569284f48a00b3a45eb0\"\u003e\u003ccode\u003e398214c\u003c/code\u003e\u003c/a\u003e Subrouter failure handler is ignored (\u003ca href=\"https://redirect.github.com/vert-x3/vertx-web/issues/2779\"\u003e#2779\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vert-x3/vertx-web/issues/2857\"\u003e#2857\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vert-x3/vertx-web/compare/5.0.8...5.0.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.vertx:vertx-core` from 5.0.8 to 5.0.12\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/244f9e7d87f854961df930b2383a990999523be9\"\u003e\u003ccode\u003e244f9e7\u003c/code\u003e\u003c/a\u003e Releasing 5.0.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/c64a707b6de83feeb0317e848345684860f0ab2f\"\u003e\u003ccode\u003ec64a707\u003c/code\u003e\u003c/a\u003e Define a bounded capacity for the internal SNI to SslContext cache.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/b1b817892996b31451884ae44d439cd1408e85a3\"\u003e\u003ccode\u003eb1b8178\u003c/code\u003e\u003c/a\u003e Upgrade Brotli4j to 1.23.0 for testing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/93b9cde134665883f01cec02e611f4ce0d6d3e6f\"\u003e\u003ccode\u003e93b9cde\u003c/code\u003e\u003c/a\u003e Move http2 compression handling from connection to stream level\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/325d607efc6aa32f35dec681ba6b37bfbc41c296\"\u003e\u003ccode\u003e325d607\u003c/code\u003e\u003c/a\u003e Set next snapshot version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/17daa03e93011f338d207db41fd6aefd6b63add0\"\u003e\u003ccode\u003e17daa03\u003c/code\u003e\u003c/a\u003e Releasing 5.0.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/7f77d1e983481d77ac0c2e7b84c8681b5f2a3c23\"\u003e\u003ccode\u003e7f77d1e\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Work around HTTP/2 decompression padding issue.\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/3894859e72f858fa3130b1d5d52dd0ef807b0a0a\"\u003e\u003ccode\u003e3894859\u003c/code\u003e\u003c/a\u003e Let the HTTP/2 max number of small continuation frames allowed to be configur...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/82b01d9db6c9e262c6068c203b564f6b65bd14e6\"\u003e\u003ccode\u003e82b01d9\u003c/code\u003e\u003c/a\u003e Fix HttpClientResponse body()/end() race (5.0 backport)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eclipse-vertx/vert.x/commit/89878bd72d3e969544b12797f1df0670cce8574d\"\u003e\u003ccode\u003e89878bd\u003c/code\u003e\u003c/a\u003e Improve the resiliency of Vert.x Logger.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eclipse/vert.x/compare/5.0.8...5.0.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.vertx:vertx-web` from 5.0.8 to 5.0.12\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/c0e402818ec6f0cc7ec6d30df3d94ef157befe2f\"\u003e\u003ccode\u003ec0e4028\u003c/code\u003e\u003c/a\u003e Releasing 5.0.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/07a6c31a5b8f12d6528b8bcfbb846ffabbf36321\"\u003e\u003ccode\u003e07a6c31\u003c/code\u003e\u003c/a\u003e Upgrade to webauthn4j 0.30.3.RELEASE (\u003ca href=\"https://redirect.github.com/vert-x3/vertx-web/issues/2872\"\u003e#2872\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vert-x3/vertx-web/issues/2873\"\u003e#2873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/e91354f61862dce7e1d475d1fe55bd28ff100ad0\"\u003e\u003ccode\u003ee91354f\u003c/code\u003e\u003c/a\u003e Set next snapshot version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/177f6f3e7d5efc6500333f24372e3834465a988a\"\u003e\u003ccode\u003e177f6f3\u003c/code\u003e\u003c/a\u003e Releasing 5.0.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/a968e6d40057ba115ad72c267afb73ff66daea39\"\u003e\u003ccode\u003ea968e6d\u003c/code\u003e\u003c/a\u003e Set next snapshot version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/347f25d78f3fafc9edc7905c52e58c8ce75ba0f6\"\u003e\u003ccode\u003e347f25d\u003c/code\u003e\u003c/a\u003e Releasing 5.0.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/57b1072083dadde59649b40433e21f619aa33118\"\u003e\u003ccode\u003e57b1072\u003c/code\u003e\u003c/a\u003e Set next snapshot version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/d449af80ff54d798f5aac002c8b184efef5c85f7\"\u003e\u003ccode\u003ed449af8\u003c/code\u003e\u003c/a\u003e Releasing 5.0.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/965fec81cf50b2273a1a8a6f6ad7f3214c4712ca\"\u003e\u003ccode\u003e965fec8\u003c/code\u003e\u003c/a\u003e Fix missing Accept/Allow headers in 415/405 responses with sub-routers (\u003ca href=\"https://redirect.github.com/vert-x3/vertx-web/issues/2863\"\u003e#2863\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vert-x3/vertx-web/commit/398214cb48e113ad0160569284f48a00b3a45eb0\"\u003e\u003ccode\u003e398214c\u003c/code\u003e\u003c/a\u003e Subrouter failure handler is ignored (\u003ca href=\"https://redirect.github.com/vert-x3/vertx-web/issues/2779\"\u003e#2779\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vert-x3/vertx-web/issues/2857\"\u003e#2857\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vert-x3/vertx-web/compare/5.0.8...5.0.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework:spring-context` from 7.0.6 to 7.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-framework/releases\"\u003eorg.springframework:spring-context's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.0.7\u003c/h2\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove \u003ccode\u003eSpringValidatorAdapter\u003c/code\u003e and \u003ccode\u003eMethodValidationAdapter\u003c/code\u003e performance \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36621\"\u003e#36621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport JSON array decoding to \u003ccode\u003eFlux\u003c/code\u003e in \u003ccode\u003eKotlinSerializationJsonDecoder\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36597\"\u003e#36597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003emethodIdentification()\u003c/code\u003e in \u003ccode\u003eCacheAspectSupport\u003c/code\u003e for removal \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36575\"\u003e#36575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd MockRestServiceServer#createServer variant for RestClient \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36572\"\u003e#36572\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreate RestClientXhrTransport variant replacing RestTemplateXhrTransport \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36566\"\u003e#36566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove error handling in multipart codecs \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36563\"\u003e#36563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eApplicationListenerMethodAdapter#getTargetMethod()\u003c/code\u003e public \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36558\"\u003e#36558\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApiVersionConfigurer.setSupportedVersionPredicate() returns void instead of ApiVersionConfigurer \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36551\"\u003e#36551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazyConnectionDataSourceProxy does not work well with Hibernate's multi-tenancy by schema strategy \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36527\"\u003e#36527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd registerManagedResource variant with bean key argument to MBeanExporter \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36520\"\u003e#36520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle blank Accept-Language header in AcceptHeaderLocaleResolver \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36513\"\u003e#36513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake AbstractStreamingClientHttpRequest and AbstractBufferingClientHttpRequest public \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36501\"\u003e#36501\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySQL Error 149 (Galera/WSREP conflict) not translated to ConcurrencyFailureException in Spring JDBC/ORM \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36499\"\u003e#36499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd PreFlightRequestFilter \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36482\"\u003e#36482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport configuration of extension context scope for \u003ccode\u003eSpringExtension\u003c/code\u003e via Spring or JUnit properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36460\"\u003e#36460\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLower log level of \u0026quot;Cache miss for REQUEST dispatch\u0026quot; in HandlerMappingIntrospector \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36309\"\u003e#36309\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\u003eWebDataBinder unnecessarily instantiates collections when using the \u0026quot;!\u0026quot; and \u0026quot;_\u0026quot; prefixes \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36625\"\u003e#36625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCache pollution from high-cardinality FieldError default messages in MessageSourceSupport \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36609\"\u003e#36609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMergedAnnotation\u003c/code\u003e does not use \u003ccode\u003eClassLoader\u003c/code\u003e for method or field \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36606\"\u003e#36606\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@Sql\u003c/code\u003e fails if \u003ccode\u003eDataSource\u003c/code\u003e is wrapped in a \u003ccode\u003eTransactionAwareDataSourceProxy\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36611\"\u003e#36611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnnotatedTypeMetadata\u003c/code\u003e no longer retains source declaration order on Java 24+ \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36598\"\u003e#36598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMergedAnnotation.asMap()\u003c/code\u003e fails when an attribute references a non-existent class \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36586\"\u003e#36586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFileSystemResource\u003c/code\u003e does not strictly follow the \u003ccode\u003eResource#isReadable()\u003c/code\u003e contract \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36584\"\u003e#36584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConverter overrides in HttpMessageConverters only apply when defaults are registered \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36579\"\u003e#36579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInvalid method return type metadata for ClassFile variant on JDK 24+ \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36577\"\u003e#36577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Writer lifecycle for \u003ccode\u003eAbstractJsonHttpMessageConverter.writeInternal(Object, Type, Writer)\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36565\"\u003e#36565\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFlushing-related regression in \u003ccode\u003eSseServerResponse\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36537\"\u003e#36537\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazyConnectionDataSourceProxy does not pass on holdability to target Connection \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36528\"\u003e#36528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnnotationBeanNameGenerator\u003c/code\u003e fails when an annotation references a non-existent class \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36524\"\u003e#36524\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePerserve default API version in RestClientAdapter \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36514\"\u003e#36514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInconsistent codings resolution in resource resolvers \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36507\"\u003e#36507\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eDefaultJmsListenerContainer\u003c/code\u003e may hang in an endless loop in \u003ccode\u003edoShutdown\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36506\"\u003e#36506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eQuery not hidden in DefaultClientResponse checkpoint \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36502\"\u003e#36502\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestClient closes stream for ResponseEntity\u003c!-- raw HTML omitted --\u003e responses \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36492\"\u003e#36492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIllegalStateException when using websocket handshake headers with Tomcat \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36486\"\u003e#36486\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInvalid nullness information for ParameterizedTypeReference \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36477\"\u003e#36477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebTestClient cannot assert null list elements \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36476\"\u003e#36476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle Kotlin nullable value class param correctly in \u003ccode\u003eCoroutineUtils\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36449\"\u003e#36449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove RFC 2047 encoding from Content-Disposition filename \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36328\"\u003e#36328\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\u003eClarify semantics of HttpMethod.valueOf() \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36652\"\u003e#36652\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument whitespace semantics in SpEL expressions \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36628\"\u003e#36628\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-framework/commit/c997d4018d3dc6a7dde2e20eae3627599a01e169\"\u003e\u003ccode\u003ec997d40\u003c/code\u003e\u003c/a\u003e Release v7.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/91852546d92aeeae933ad77f8c938d4cfd9b0305\"\u003e\u003ccode\u003e9185254\u003c/code\u003e\u003c/a\u003e Upgrade to Reactor 2025.0.5 and Micrometer 1.16.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/802fa4d65e1f99c948a59629d4adcb4e3603e2cf\"\u003e\u003ccode\u003e802fa4d\u003c/code\u003e\u003c/a\u003e Refine RetryListener example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/7052da453285658215efc1dd5ecb0d472fde2de1\"\u003e\u003ccode\u003e7052da4\u003c/code\u003e\u003c/a\u003e Add doOnDiscard in MultipartHttpMessageReader\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/63817ce2021172338ce7900703678bfaee186a0a\"\u003e\u003ccode\u003e63817ce\u003c/code\u003e\u003c/a\u003e Add missing tests for WebRequestDataBinder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/61bd79017f7c4c3a4fafbb0da061376204593a68\"\u003e\u003ccode\u003e61bd790\u003c/code\u003e\u003c/a\u003e Polish WebRequestDataBinderTests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/ab6637c67024facf521e8f82c4bcb076308925a6\"\u003e\u003ccode\u003eab6637c\u003c/code\u003e\u003c/a\u003e Completely extract ServletRequestParameterPropertyValuesTests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/c9b88b4ebd47c7616816602204b106dd2c1275ef\"\u003e\u003ccode\u003ec9b88b4\u003c/code\u003e\u003c/a\u003e Extract ServletRequestParameterPropertyValuesTests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/68c575ab14057e04dba86beae64167bbfe3ac9fe\"\u003e\u003ccode\u003e68c575a\u003c/code\u003e\u003c/a\u003e Revise \u0026quot;Skip binding entirely when field is not allowed\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/cb320468dbc88f07b72d8a949b525c5ab911bd74\"\u003e\u003ccode\u003ecb32046\u003c/code\u003e\u003c/a\u003e Further clarify semantics of HttpMethod.valueOf()\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-framework/compare/v7.0.6...v7.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:spring-test` from 7.0.6 to 7.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-framework/releases\"\u003eorg.springframework:spring-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.0.7\u003c/h2\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove \u003ccode\u003eSpringValidatorAdapter\u003c/code\u003e and \u003ccode\u003eMethodValidationAdapter\u003c/code\u003e performance \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36621\"\u003e#36621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport JSON array decoding to \u003ccode\u003eFlux\u003c/code\u003e in \u003ccode\u003eKotlinSerializationJsonDecoder\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36597\"\u003e#36597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003emethodIdentification()\u003c/code\u003e in \u003ccode\u003eCacheAspectSupport\u003c/code\u003e for removal \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36575\"\u003e#36575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd MockRestServiceServer#createServer variant for RestClient \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36572\"\u003e#36572\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreate RestClientXhrTransport variant replacing RestTemplateXhrTransport \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36566\"\u003e#36566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove error handling in multipart codecs \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36563\"\u003e#36563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eApplicationListenerMethodAdapter#getTargetMethod()\u003c/code\u003e public \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36558\"\u003e#36558\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApiVersionConfigurer.setSupportedVersionPredicate() returns void instead of ApiVersionConfigurer \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36551\"\u003e#36551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazyConnectionDataSourceProxy does not work well with Hibernate's multi-tenancy by schema strategy \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36527\"\u003e#36527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd registerManagedResource variant with bean key argument to MBeanExporter \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36520\"\u003e#36520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle blank Accept-Language header in AcceptHeaderLocaleResolver \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36513\"\u003e#36513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake AbstractStreamingClientHttpRequest and AbstractBufferingClientHttpRequest public \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36501\"\u003e#36501\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySQL Error 149 (Galera/WSREP conflict) not translated to ConcurrencyFailureException in Spring JDBC/ORM \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36499\"\u003e#36499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd PreFlightRequestFilter \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36482\"\u003e#36482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport configuration of extension context scope for \u003ccode\u003eSpringExtension\u003c/code\u003e via Spring or JUnit properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36460\"\u003e#36460\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLower log level of \u0026quot;Cache miss for REQUEST dispatch\u0026quot; in HandlerMappingIntrospector \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36309\"\u003e#36309\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\u003eWebDataBinder unnecessarily instantiates collections when using the \u0026quot;!\u0026quot; and \u0026quot;_\u0026quot; prefixes \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36625\"\u003e#36625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCache pollution from high-cardinality FieldError default messages in MessageSourceSupport \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36609\"\u003e#36609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMergedAnnotation\u003c/code\u003e does not use \u003ccode\u003eClassLoader\u003c/code\u003e for method or field \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36606\"\u003e#36606\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@Sql\u003c/code\u003e fails if \u003ccode\u003eDataSource\u003c/code\u003e is wrapped in a \u003ccode\u003eTransactionAwareDataSourceProxy\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36611\"\u003e#36611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnnotatedTypeMetadata\u003c/code\u003e no longer retains source declaration order on Java 24+ \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36598\"\u003e#36598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMergedAnnotation.asMap()\u003c/code\u003e fails when an attribute references a non-existent class \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36586\"\u003e#36586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFileSystemResource\u003c/code\u003e does not strictly follow the \u003ccode\u003eResource#isReadable()\u003c/code\u003e contract \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36584\"\u003e#36584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConverter overrides in HttpMessageConverters only apply when defaults are registered \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36579\"\u003e#36579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInvalid method return type metadata for ClassFile variant on JDK 24+ \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36577\"\u003e#36577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Writer lifecycle for \u003ccode\u003eAbstractJsonHttpMessageConverter.writeInternal(Object, Type, Writer)\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36565\"\u003e#36565\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFlushing-related regression in \u003ccode\u003eSseServerResponse\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36537\"\u003e#36537\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazyConnectionDataSourceProxy does not pass on holdability to target Connection \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36528\"\u003e#36528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnnotationBeanNameGenerator\u003c/code\u003e fails when an annotation references a non-existent class \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36524\"\u003e#36524\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePerserve default API version in RestClientAdapter \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36514\"\u003e#36514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInconsistent codings resolution in resource resolvers \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36507\"\u003e#36507\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eDefaultJmsListenerContainer\u003c/code\u003e may hang in an endless loop in \u003ccode\u003edoShutdown\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36506\"\u003e#36506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eQuery not hidden in DefaultClientResponse checkpoint \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36502\"\u003e#36502\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestClient closes stream for ResponseEntity\u003c!-- raw HTML omitted --\u003e responses \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36492\"\u003e#36492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIllegalStateException when using websocket handshake headers with Tomcat \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36486\"\u003e#36486\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInvalid nullness information for ParameterizedTypeReference \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36477\"\u003e#36477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebTestClient cannot assert null list elements \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36476\"\u003e#36476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle Kotlin nullable value class param correctly in \u003ccode\u003eCoroutineUtils\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36449\"\u003e#36449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove RFC 2047 encoding from Content-Disposition filename \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36328\"\u003e#36328\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\u003eClarify semantics of HttpMethod.valueOf() \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36652\"\u003e#36652\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument whitespace semantics in SpEL expressions \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36628\"\u003e#36628\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-framework/commit/c997d4018d3dc6a7dde2e20eae3627599a01e169\"\u003e\u003ccode\u003ec997d40\u003c/code\u003e\u003c/a\u003e Release v7.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/91852546d92aeeae933ad77f8c938d4cfd9b0305\"\u003e\u003ccode\u003e9185254\u003c/code\u003e\u003c/a\u003e Upgrade to Reactor 2025.0.5 and Micrometer 1.16.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/802fa4d65e1f99c948a59629d4adcb4e3603e2cf\"\u003e\u003ccode\u003e802fa4d\u003c/code\u003e\u003c/a\u003e Refine RetryListener example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/7052da453285658215efc1dd5ecb0d472fde2de1\"\u003e\u003ccode\u003e7052da4\u003c/code\u003e\u003c/a\u003e Add doOnDiscard in MultipartHttpMessageReader\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/63817ce2021172338ce7900703678bfaee186a0a\"\u003e\u003ccode\u003e63817ce\u003c/code\u003e\u003c/a\u003e Add missing tests for WebRequestDataBinder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/61bd79017f7c4c3a4fafbb0da061376204593a68\"\u003e\u003ccode\u003e61bd790\u003c/code\u003e\u003c/a\u003e Polish WebRequestDataBinderTests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/ab6637c67024facf521e8f82c4bcb076308925a6\"\u003e\u003ccode\u003eab6637c\u003c/code\u003e\u003c/a\u003e Completely extract ServletRequestParameterPropertyValuesTests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/c9b88b4ebd47c7616816602204b106dd2c1275ef\"\u003e\u003ccode\u003ec9b88b4\u003c/code\u003e\u003c/a\u003e Extract ServletRequestParameterPropertyValuesTests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/68c575ab14057e04dba86beae64167bbfe3ac9fe\"\u003e\u003ccode\u003e68c575a\u003c/code\u003e\u003c/a\u003e Revise \u0026quot;Skip binding entirely when field is not allowed\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/cb320468dbc88f07b72d8a949b525c5ab911bd74\"\u003e\u003ccode\u003ecb32046\u003c/code\u003e\u003c/a\u003e Further clarify semantics of HttpMethod.valueOf()\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-framework/compare/v7.0.6...v7.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:spring-test` from 7.0.6 to 7.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-framework/releases\"\u003eorg.springframework:spring-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.0.7\u003c/h2\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove \u003ccode\u003eSpringValidatorAdapter\u003c/code\u003e and \u003ccode\u003eMethodValidationAdapter\u003c/code\u003e performance \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36621\"\u003e#36621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport JSON array decoding to \u003ccode\u003eFlux\u003c/code\u003e in \u003ccode\u003eKotlinSerializationJsonDecoder\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36597\"\u003e#36597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003emethodIdentification()\u003c/code\u003e in \u003ccode\u003eCacheAspectSupport\u003c/code\u003e for removal \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36575\"\u003e#36575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd MockRestServiceServer#createServer variant for RestClient \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36572\"\u003e#36572\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreate RestClientXhrTransport variant replacing RestTemplateXhrTransport \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36566\"\u003e#36566\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove error handling in multipart codecs \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36563\"\u003e#36563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eApplicationListenerMethodAdapter#getTargetMethod()\u003c/code\u003e public \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36558\"\u003e#36558\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApiVersionConfigurer.setSupportedVersionPredicate() returns void instead of ApiVersionConfigurer \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36551\"\u003e#36551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazyConnectionDataSourceProxy does not work well with Hibernate's multi-tenancy by schema strategy \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36527\"\u003e#36527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd registerManagedResource variant with bean key argument to MBeanExporter \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36520\"\u003e#36520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle blank Accept-Language header in AcceptHeaderLocaleResolver \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36513\"\u003e#36513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake AbstractStreamingClientHttpRequest and AbstractBufferingClientHttpRequest public \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36501\"\u003e#36501\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySQL Error 149 (Galera/WSREP conflict) not translated to ConcurrencyFailureException in Spring JDBC/ORM \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36499\"\u003e#36499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd PreFlightRequestFilter \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36482\"\u003e#36482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport configuration of extension context scope for \u003ccode\u003eSpringExtension\u003c/code\u003e via Spring or JUnit properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36460\"\u003e#36460\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLower log level of \u0026quot;Cache miss for REQUEST dispatch\u0026quot; in HandlerMappingIntrospector \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36309\"\u003e#36309\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\u003eWebDataBinder unnecessarily instantiates collections when using the \u0026quot;!\u0026quot; and \u0026quot;_\u0026quot; prefixes \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36625\"\u003e#36625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCache pollution from high-cardinality FieldError default messages in MessageSourceSupport \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36609\"\u003e#36609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMergedAnnotation\u003c/code\u003e does not use \u003ccode\u003eClassLoader\u003c/code\u003e for method or field \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36606\"\u003e#36606\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@Sql\u003c/code\u003e fails if \u003ccode\u003eDataSource\u003c/code\u003e is wrapped in a \u003ccode\u003eTransactionAwareDataSourceProxy\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36611\"\u003e#36611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnnotatedTypeMetadata\u003c/code\u003e no longer retains source declaration order on Java 24+ \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36598\"\u003e#36598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMergedAnnotation.asMap()\u003c/code\u003e fails when an attribute references a non-existent class \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36586\"\u003e#36586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eFileSystemResource\u003c/code\u003e does not strictly follow the \u003ccode\u003eResource#isReadable()\u003c/code\u003e contract \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36584\"\u003e#36584\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConverter overrides in HttpMessageConverters only apply when defaults are registered \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36579\"\u003e#36579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInvalid method return type metadata for ClassFile variant on JDK 24+ \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36577\"\u003e#36577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Writer lifecycle for \u003ccode\u003eAbstractJsonHttpMessageConverter.writeInternal(Object, Type, Writer)\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36565\"\u003e#36565\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFlushing-related regression in \u003ccode\u003eSseServerResponse\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36537\"\u003e#36537\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazyConnectionDataSourceProxy does not pass on holdability to target Connection \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36528\"\u003e#36528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAnnotationBeanNameGenerator\u003c/code\u003e fails when an annotation references a non-existent class \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36524\"\u003e#36524\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePerserve default API version in RestClientAdapter \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36514\"\u003e#36514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInconsistent codings resolution in resource resolvers \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36507\"\u003e#36507\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eDefaultJmsListenerContainer\u003c/code\u003e may hang in an endless loop in \u003ccode\u003edoShutdown\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36506\"\u003e#36506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eQuery not hidden in DefaultClientResponse checkpoint \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36502\"\u003e#36502\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestClient closes stream for ResponseEntity\u003c!-- raw HTML omitted --\u003e responses \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36492\"\u003e#36492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIllegalStateException when using websocket handshake headers with Tomcat \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36486\"\u003e#36486\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInvalid nullness information for ParameterizedTypeReference \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36477\"\u003e#36477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebTestClient cannot assert null list elements \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36476\"\u003e#36476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle Kotlin nullable value class param correctly in \u003ccode\u003eCoroutineUtils\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36449\"\u003e#36449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove RFC 2047 encoding from Content-Disposition filename \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36328\"\u003e#36328\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\u003eClarify semantics of HttpMethod.valueOf() \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/pull/36652\"\u003e#36652\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument whitespace semantics in SpEL expressions \u003ca href=\"https://redirect.github.com/spring-projects/spring-framework/issues/36628\"\u003e#36628\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-framework/commit/c997d4018d3dc6a7dde2e20eae3627599a01e169\"\u003e\u003ccode\u003ec997d40\u003c/code\u003e\u003c/a\u003e Release v7.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/91852546d92aeeae933ad77f8c938d4cfd9b0305\"\u003e\u003ccode\u003e9185254\u003c/code\u003e\u003c/a\u003e Upgrade to Reactor 2025.0.5 and Micrometer 1.16.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/802fa4d65e1f99c948a59629d4adcb4e3603e2cf\"\u003e\u003ccode\u003e802fa4d\u003c/code\u003e\u003c/a\u003e Refine RetryListener example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/7052da453285658215efc1dd5ecb0d472fde2de1\"\u003e\u003ccode\u003e7052da4\u003c/code\u003e\u003c/a\u003e Add doOnDiscard in MultipartHttpMessageReader\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/63817ce2021172338ce7900703678bfaee186a0a\"\u003e\u003ccode\u003e63817ce\u003c/code\u003e\u003c/a\u003e Add missing tests for WebRequestDataBinder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/61bd79017f7c4c3a4fafbb0da061376204593a68\"\u003e\u003ccode\u003e61bd790\u003c/code\u003e\u003c/a\u003e Polish WebRequestDataBinderTests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/ab6637c67024facf521e8f82c4bcb076308925a6\"\u003e\u003ccode\u003eab6637c\u003c/code\u003e\u003c/a\u003e Completely extract ServletRequestParameterPropertyValuesTests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/c9b88b4ebd47c7616816602204b106dd2c1275ef\"\u003e\u003ccode\u003ec9b88b4\u003c/code\u003e\u003c/a\u003e Extract ServletRequestParameterPropertyValuesTests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/68c575ab14057e04dba86beae64167bbfe3ac9fe\"\u003e\u003ccode\u003e68c575a\u003c/code\u003e\u003c/a\u003e Revise \u0026quot;Skip binding entirely when field is not allowed\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-framework/commit/cb320468dbc88f07b72d8a949b525c5ab911bd74\"\u003e\u003ccode\u003ecb32046\u003c/code\u003e\u003c/a\u003e Further clarify semantics of HttpMethod.valueOf()\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-framework/compare/v7.0.6...v7.0.7\"\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/folio-org/mod-finance/pull/361","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/folio-org%2Fmod-finance/issues/361","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/361/packages"}},{"old_version":"3.2.3","new_version":"3.2.4","update_type":"patch","path":null,"pr_created_at":"2026-05-25T01:16:22.000Z","version_change":"3.2.3 → 3.2.4","issue":{"uuid":"4513607424","node_id":"PR_kwDORhK5Oc7e32QQ","number":45,"state":"open","title":"Bump the gradle-minor-and-patch group with 16 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-25T01:16:22.000Z","updated_at":"2026-05-25T01:22:23.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"gradle-minor-and-patch","update_count":16,"packages":[{"name":"org.springframework.boot:spring-boot-dependencies","old_version":"4.0.5","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.assertj:assertj-core","old_version":"3.27.3","new_version":"3.27.7","repository_url":"https://github.com/assertj/assertj"},{"name":"org.springframework.boot","old_version":"4.0.5","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.cyclonedx.bom","old_version":"3.2.2","new_version":"3.2.4"},{"name":"com.autonomousapps.build-health","old_version":"3.6.1","new_version":"3.13.0","repository_url":"https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin"},{"name":"me.champeau.jmh","old_version":"0.7.2","new_version":"0.7.3"},{"name":"io.grpc:grpc-netty-shaded","old_version":"1.80.0","new_version":"1.81.0","repository_url":"https://github.com/grpc/grpc-java"},{"name":"io.grpc:grpc-protobuf","old_version":"1.80.0","new_version":"1.81.0","repository_url":"https://github.com/grpc/grpc-java"},{"name":"io.grpc:grpc-stub","old_version":"1.80.0","new_version":"1.81.0","repository_url":"https://github.com/grpc/grpc-java"},{"name":"io.grpc:grpc-inprocess","old_version":"1.80.0","new_version":"1.81.0","repository_url":"https://github.com/grpc/grpc-java"},{"name":"io.grpc:protoc-gen-grpc-java","old_version":"1.80.0","new_version":"1.81.0","repository_url":"https://github.com/grpc/grpc-java"},{"name":"com.google.protobuf:protobuf-java","old_version":"4.29.3","new_version":"4.35.0","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"com.google.protobuf:protoc","old_version":"4.29.3","new_version":"4.35.0","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"com.google.protobuf","old_version":"0.9.6","new_version":"0.10.0"},{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-minor-and-patch group with 16 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.springframework.boot:spring-boot-dependencies](https://github.com/spring-projects/spring-boot) | `4.0.5` | `4.0.6` |\n| [org.assertj:assertj-core](https://github.com/assertj/assertj) | `3.27.3` | `3.27.7` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.5` | `4.0.6` |\n| org.cyclonedx.bom | `3.2.2` | `3.2.4` |\n| [com.autonomousapps.build-health](https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin) | `3.6.1` | `3.13.0` |\n| me.champeau.jmh | `0.7.2` | `0.7.3` |\n| [io.grpc:grpc-netty-shaded](https://github.com/grpc/grpc-java) | `1.80.0` | `1.81.0` |\n| [io.grpc:grpc-protobuf](https://github.com/grpc/grpc-java) | `1.80.0` | `1.81.0` |\n| [io.grpc:grpc-stub](https://github.com/grpc/grpc-java) | `1.80.0` | `1.81.0` |\n| [io.grpc:grpc-inprocess](https://github.com/grpc/grpc-java) | `1.80.0` | `1.81.0` |\n| [io.grpc:protoc-gen-grpc-java](https://github.com/grpc/grpc-java) | `1.80.0` | `1.81.0` |\n| [com.google.protobuf:protobuf-java](https://github.com/protocolbuffers/protobuf) | `4.29.3` | `4.35.0` |\n| [com.google.protobuf:protoc](https://github.com/protocolbuffers/protobuf) | `4.29.3` | `4.35.0` |\n| com.google.protobuf | `0.9.6` | `0.10.0` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.2.3` | `3.2.4` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.1` |\n\nUpdates `org.springframework.boot:spring-boot-dependencies` from 4.0.5 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot:spring-boot-dependencies's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnversRevisionRepositoriesRegistrar should reuse \u003ccode\u003e@EnableEnversRepositories\u003c/code\u003e rather than configuring the JPA counterpart \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50039\"\u003e#50039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebFlux Cloud Foundry links endpoint includes query string from received request in resolved links \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50017\"\u003e#50017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImports on a containing test class are ignored when a nested class has imports \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50012\"\u003e#50012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49951\"\u003e#49951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e500 response from env endpoint when supplied pattern is invalid \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49946\"\u003e#49946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49945\"\u003e#49945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP method is lost when configuring excludes in EndpointRequest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49943\"\u003e#49943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor HttpMethod for reactive additional endpoint paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49880\"\u003e#49880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/artemis image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49869\"\u003e#49869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/activemq image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49866\"\u003e#49866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49854\"\u003e#49854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI versioning path strategy should be applied path last as it is not meant to yield \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49800\"\u003e#49800\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs to encourage Java fundamentals for beginners that prefer to learn that way \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50146\"\u003e#50146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP Service Interface Clients still document that API versioning can be configured via properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50126\"\u003e#50126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the observability section of the Lettuce documentation is broken \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50097\"\u003e#50097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJavadoc for StaticResourceLocation.FAVICON doesn't describe icons location \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50085\"\u003e#50085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySamlRelyingPartyConfiguration is missing a Kotlin sample \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50024\"\u003e#50024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect default value for management.httpexchanges.recording.include in configuration metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50019\"\u003e#50019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the Kubernetes documentation when discussing startup probes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50015\"\u003e#50015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in JdbcSessionAutoConfiguration Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49873\"\u003e#49873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify that configuration property default values are not available through the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49851\"\u003e#49851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument the need for Liquibase and Flyway starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49839\"\u003e#49839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKafka documentation refers to deprecated JSON serializer and deserializer classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49826\"\u003e#49826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Elasticsearch Client 9.2.8 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50027\"\u003e#50027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Groovy 5.0.5 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49911\"\u003e#49911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Hibernate 7.2.12.Final \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50134\"\u003e#50134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Jackson Bom 3.1.2 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50051\"\u003e#50051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1\"\u003eJaxen 2.0.1\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50104\"\u003e#50104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5\"\u003eJaybird 6.0.5\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49914\"\u003e#49914\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/8821ad2cd381bb4b9615a61479e1de7305a8ba39\"\u003e\u003ccode\u003e8821ad2\u003c/code\u003e\u003c/a\u003e Release v4.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9e4048a03f17adfe78057a3c4d5b4693305c0ae0\"\u003e\u003ccode\u003e9e4048a\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/20bb11c3984802990572ddbeae8b66885a8f2462\"\u003e\u003ccode\u003e20bb11c\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.15-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/98daa8ea30f39a5b0ca6768b5cbc2dc8698ef4e1\"\u003e\u003ccode\u003e98daa8e\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9dc5aa2863f598a15d3dfa116f4b89249daba7e7\"\u003e\u003ccode\u003e9dc5aa2\u003c/code\u003e\u003c/a\u003e Polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/874f6294b91da18367b8b5ab7b2fad3fa23cfba6\"\u003e\u003ccode\u003e874f629\u003c/code\u003e\u003c/a\u003e Fix default security with actuator but without health\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/e41b3bf731d1134bc18ec1f68ac01e0fe1c54923\"\u003e\u003ccode\u003ee41b3bf\u003c/code\u003e\u003c/a\u003e Enable hostname verification for SSL connections to Elasticsearch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ef8527bb0ef8f564f4f9c57a7be99a7aa96c6ab0\"\u003e\u003ccode\u003eef8527b\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f533a4549c3999aac30cb5830f07dc304933e93d\"\u003e\u003ccode\u003ef533a45\u003c/code\u003e\u003c/a\u003e Do not follow symlinks when writing PID file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4a7bd332b6d19fef1aa4cf28434985f2b03a2e0f\"\u003e\u003ccode\u003e4a7bd33\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.5...v4.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.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 `org.springframework.boot` from 4.0.5 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnversRevisionRepositoriesRegistrar should reuse \u003ccode\u003e@EnableEnversRepositories\u003c/code\u003e rather than configuring the JPA counterpart \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50039\"\u003e#50039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebFlux Cloud Foundry links endpoint includes query string from received request in resolved links \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50017\"\u003e#50017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImports on a containing test class are ignored when a nested class has imports \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50012\"\u003e#50012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49951\"\u003e#49951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e500 response from env endpoint when supplied pattern is invalid \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49946\"\u003e#49946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49945\"\u003e#49945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP method is lost when configuring excludes in EndpointRequest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49943\"\u003e#49943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor HttpMethod for reactive additional endpoint paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49880\"\u003e#49880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/artemis image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49869\"\u003e#49869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/activemq image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49866\"\u003e#49866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49854\"\u003e#49854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI versioning path strategy should be applied path last as it is not meant to yield \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49800\"\u003e#49800\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs to encourage Java fundamentals for beginners that prefer to learn that way \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50146\"\u003e#50146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP Service Interface Clients still document that API versioning can be configured via properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50126\"\u003e#50126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the observability section of the Lettuce documentation is broken \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50097\"\u003e#50097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJavadoc for StaticResourceLocation.FAVICON doesn't describe icons location \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50085\"\u003e#50085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySamlRelyingPartyConfiguration is missing a Kotlin sample \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50024\"\u003e#50024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect default value for management.httpexchanges.recording.include in configuration metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50019\"\u003e#50019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the Kubernetes documentation when discussing startup probes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50015\"\u003e#50015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in JdbcSessionAutoConfiguration Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49873\"\u003e#49873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify that configuration property default values are not available through the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49851\"\u003e#49851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument the need for Liquibase and Flyway starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49839\"\u003e#49839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKafka documentation refers to deprecated JSON serializer and deserializer classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49826\"\u003e#49826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Elasticsearch Client 9.2.8 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50027\"\u003e#50027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Groovy 5.0.5 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49911\"\u003e#49911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Hibernate 7.2.12.Final \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50134\"\u003e#50134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Jackson Bom 3.1.2 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50051\"\u003e#50051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1\"\u003eJaxen 2.0.1\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50104\"\u003e#50104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5\"\u003eJaybird 6.0.5\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49914\"\u003e#49914\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/8821ad2cd381bb4b9615a61479e1de7305a8ba39\"\u003e\u003ccode\u003e8821ad2\u003c/code\u003e\u003c/a\u003e Release v4.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9e4048a03f17adfe78057a3c4d5b4693305c0ae0\"\u003e\u003ccode\u003e9e4048a\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/20bb11c3984802990572ddbeae8b66885a8f2462\"\u003e\u003ccode\u003e20bb11c\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.15-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/98daa8ea30f39a5b0ca6768b5cbc2dc8698ef4e1\"\u003e\u003ccode\u003e98daa8e\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9dc5aa2863f598a15d3dfa116f4b89249daba7e7\"\u003e\u003ccode\u003e9dc5aa2\u003c/code\u003e\u003c/a\u003e Polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/874f6294b91da18367b8b5ab7b2fad3fa23cfba6\"\u003e\u003ccode\u003e874f629\u003c/code\u003e\u003c/a\u003e Fix default security with actuator but without health\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/e41b3bf731d1134bc18ec1f68ac01e0fe1c54923\"\u003e\u003ccode\u003ee41b3bf\u003c/code\u003e\u003c/a\u003e Enable hostname verification for SSL connections to Elasticsearch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ef8527bb0ef8f564f4f9c57a7be99a7aa96c6ab0\"\u003e\u003ccode\u003eef8527b\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f533a4549c3999aac30cb5830f07dc304933e93d\"\u003e\u003ccode\u003ef533a45\u003c/code\u003e\u003c/a\u003e Do not follow symlinks when writing PID file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4a7bd332b6d19fef1aa4cf28434985f2b03a2e0f\"\u003e\u003ccode\u003e4a7bd33\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.5...v4.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.cyclonedx.bom` from 3.2.2 to 3.2.4\n\nUpdates `com.autonomousapps.build-health` from 3.6.1 to 3.13.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/autonomousapps/dependency-analysis-gradle-plugin/blob/main/CHANGELOG.md\"\u003ecom.autonomousapps.build-health's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eVersion 3.13.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e[feat]: new \u003ccode\u003ecomputeTypeUsage\u0026lt;variant\u0026gt;\u003c/code\u003e task generates usage report.\u003c/li\u003e\n\u003cli\u003e[fix]: when computing actual usages, actually look at the runtime graph.\u003c/li\u003e\n\u003cli\u003e[refactor]: use Graphs wrapper instead of Guava directly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eVersion 3.12.2\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e[fix]: The new \u0026quot;exceptions are special\u0026quot; (in v3.12.0) handling was over-eager and flagging things that only referenced\nexceptions. We only want to flag things that provide the exception types.\u003c/li\u003e\n\u003cli\u003e[fix]: \u003ccode\u003eMutableSet\u0026lt;Usage\u0026gt;.simplify(visibility, bucket)\u003c/code\u003e in \u003ccode\u003eStandardTransform\u003c/code\u003e wasn't properly handling the case when\na usage was visible on both compile and runtime classpaths. In such a case, we can filter out all usages.\u003c/li\u003e\n\u003cli\u003e[fix]: reason output said \u0026quot;implies implementation\u0026quot; when it should have been \u0026quot;implies runtimeOnly\u0026quot; in the android lint\njar case.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eVersion 3.12.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e[fix]: don't suggest non-existent Android unit test variant in advice.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eVersion 3.12.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e[feat]: exceptions are special. Exceptions get verified early by the JVM and so if a dependency is missing an\nexception's type from the runtime classpath, that can cause failures in the consumer at runtime.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eVersion 3.11.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e[fix]: when following a bundle rule, don't drop \u003ccode\u003eapi\u003c/code\u003e dependencies.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eVersion 3.10.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e[feat]: Gradle plugin markers are the preferred way to depend on a plugin.\u003c/li\u003e\n\u003cli\u003e[feat]: Gradle plugin markers are part of an implicit bundle.\u003c/li\u003e\n\u003cli\u003e[fix]: handle \u003ccode\u003edependencies\u003c/code\u003e blocks that have a single line.\u003c/li\u003e\n\u003cli\u003e[docs]: add 'partial analysis' section to readme.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eVersion 3.9.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e(Reverted) Compiled against Kotlin 2.3.20. Compiling against Kotlin 2.2.21 again, with language level 2.2.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eVersion 3.8.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e[feat]: record lambda in binaryClassAccesses.\u003c/li\u003e\n\u003cli\u003e[feat]: support analysis of a Gradle version catalog dependency.\u003c/li\u003e\n\u003cli\u003e[feat]: remove unused 'file' property.\u003c/li\u003e\n\u003cli\u003eCompiled against Kotlin 2.3.20.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eVersion 3.7.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e[feat]: Expose useParenthesesForGroovy configuration for Groovy DSL syntax control.\u003c/li\u003e\n\u003cli\u003e[fix]: fix regex for excluding all *Generated annotations.\u003c/li\u003e\n\u003cli\u003e[fix]: don't attempt to suggest upgrading an undeclared 'parent' dependency of a KMP dependency.\u003c/li\u003e\n\u003cli\u003e[fix]: the 'androidMain' source set is special.\u003c/li\u003e\n\u003cli\u003e[chore]: Compiled against Kotlin 2.2 and Gradle 9.4.1.\u003c/li\u003e\n\u003cli\u003e[chore]: add Code of Conduct.\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/autonomousapps/dependency-analysis-gradle-plugin/commit/e5e693e72353a43178c95175120d7838ffe52d47\"\u003e\u003ccode\u003ee5e693e\u003c/code\u003e\u003c/a\u003e chore: prepare for release 3.13.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/autonomousapps/dependency-analysis-gradle-plugin/commit/22ec67b552c3e3098a5d6905132225c00131cdc0\"\u003e\u003ccode\u003e22ec67b\u003c/code\u003e\u003c/a\u003e refactor: use Graphs wrapper instead of Guava directly.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/autonomousapps/dependency-analysis-gradle-plugin/commit/843e01b51ccb040f8e65a6cc260652890e608ebb\"\u003e\u003ccode\u003e843e01b\u003c/code\u003e\u003c/a\u003e fix: when computing actual usages, actually look at the runtime graph.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/autonomousapps/dependency-analysis-gradle-plugin/commit/c969969a0fef0cfdc4c983a6b77c220ff04706e9\"\u003e\u003ccode\u003ec969969\u003c/code\u003e\u003c/a\u003e feat: new computeTypeUsage task generates usage report.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/autonomousapps/dependency-analysis-gradle-plugin/commit/dfaca3a56b4a130db6b10053f39b3d0af83a6e56\"\u003e\u003ccode\u003edfaca3a\u003c/code\u003e\u003c/a\u003e chore: prepare next development version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/autonomousapps/dependency-analysis-gradle-plugin/commit/e20532abb3f0d59db7a889c209f60b1e52fd0cc6\"\u003e\u003ccode\u003ee20532a\u003c/code\u003e\u003c/a\u003e chore: prepare for release 3.12.2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/autonomousapps/dependency-analysis-gradle-plugin/commit/5e3eb8c04fe5dc43fd67d94c39bf1b8f2f645fc6\"\u003e\u003ccode\u003e5e3eb8c\u003c/code\u003e\u003c/a\u003e fix: exceptions, main-\u0026gt;test visibility, reason for android lint jars.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/autonomousapps/dependency-analysis-gradle-plugin/commit/99b10f8ba8584084fd9aa1dacc9139691c9272d3\"\u003e\u003ccode\u003e99b10f8\u003c/code\u003e\u003c/a\u003e chore: prepare next development version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/autonomousapps/dependency-analysis-gradle-plugin/commit/e309436c7ae881f6f23d26f7276c654b85c6bde4\"\u003e\u003ccode\u003ee309436\u003c/code\u003e\u003c/a\u003e chore: prepare for release 3.12.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/autonomousapps/dependency-analysis-gradle-plugin/commit/a5c2c442796a4e3ec4e8cffb9a77f30d6ae84547\"\u003e\u003ccode\u003ea5c2c44\u003c/code\u003e\u003c/a\u003e test: fix the remaining broken Android functional tests on earlier versions o...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin/compare/v3.6.1...v3.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `me.champeau.jmh` from 0.7.2 to 0.7.3\n\nUpdates `io.grpc:grpc-netty-shaded` from 1.80.0 to 1.81.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/grpc/grpc-java/releases\"\u003eio.grpc:grpc-netty-shaded's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eV1.81.0\u003c/h2\u003e\n\u003cp\u003eIn this release we drop support for Android API level 22 or lower (Lollipop or earlier), following Google Play Service’s \u003ca href=\"https://developers.google.com/android/guides/setup\"\u003ediscontinued updates for Lollipop (API levels 21 \u0026amp; 22)\u003c/a\u003e and now requires a minimum of API level 23 (Android 6.0 Marshmallow).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAPI Changes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eapi: Deprecate LoadBalancer.handleResolvedAddresses(). Developers maintaining custom LoadBalancer implementations should transition to using LoadBalancer.acceptResolvedAddresses(). Unlike the deprecated method, acceptResolvedAddresses() returns a Status object, allowing the load balancer to explicitly report success or reject the update if the provided addresses or configuration are invalid. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/11623\"\u003e#11623\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBehavior Changes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ecore: Enable dns \u0026quot;caching\u0026quot; on Android for 30 seconds to reduce CPU impact of a refresh loop with an LB policy (0675f70af). DnsNameResolver ignores re-resolution requests on OpenJDK-like platforms if it has been too soon since the last DNS query because InetAddress.getAllByName() has a cache with a fixed entry lifetime, but this logic was disabled for Android which does not have that style of cache. Android’s cache uses the result TTL, which will rarely be less than 30 seconds. This change would probably be most noticeable when 1) changing to a different network (e.g., from wifi to mobile), 2) the server has different addresses for different networks, and 3) the app is not using AndroidChannelBuilder with an \u003ccode\u003eandroid.context.Context\u003c/code\u003e. For reference, it seems Chrome caches for 1 minute\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug Fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eopentelemetry: Fix baggage propagation, the baggage propagation for opentelemetry introduced in \u003ca href=\"https://redirect.github.com/grpc/grpc-java/pull/12389\"\u003e#12389\u003c/a\u003e was broken. The context is decided once and used for all recording for the call, thus guaranteeing all record()s have consistent information.\u003c/li\u003e\n\u003cli\u003ecore: Address a race condition where \u003ccode\u003eManagedChannelOrphanWrapper\u003c/code\u003e could incorrectly log a \u0026quot;not shutdown properly\u0026quot; warning during garbage collection when using directExecutor(). (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12705\"\u003e#12705\u003c/a\u003e) (d459338d9)\u003c/li\u003e\n\u003cli\u003exds: Fix xDS HTTP CONNECT's transport socket name bug which is now corrected to use \u003ccode\u003etypeUrl\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12740\"\u003e#12740\u003c/a\u003e) (eac9fe961)\u003c/li\u003e\n\u003cli\u003exds: Fix an issue where subchannel metrics were dropping their association with the \u003ccode\u003ebackend_service\u003c/code\u003e. This ensures xDS load balancing metrics are reported accurately. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12735\"\u003e#12735\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eNew Features\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003enetty: Add tcp metrics, by implementing a few of the metrics defined in \u003ca href=\"https://redirect.github.com/grpc/proposal/pull/519\"\u003eA80\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eapi: Add a CallOption for a custom label on per-RPC metrics (0e39b2967). This CallOption is copied by grpc-opentelemetry to the \u003ccode\u003egrpc.client.call.custom\u003c/code\u003e label as defined by \u003ca href=\"https://github.com/grpc/proposal/blob/master/A108-otel-custom-per-call-label.md\"\u003egRFC A108\u003c/a\u003e. See also the \u003ca href=\"https://grpc.io/docs/guides/opentelemetry-metrics/\"\u003egRPC OpenTelemetry Metrics guide\u003c/a\u003e (update \u003ca href=\"https://redirect.github.com/grpc/grpc.io/pull/1505\"\u003ein-progress\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003exds: Add support for Weighted Round Robin (WRR) load balancing driven by custom backend metrics, implementing the behavior defined in gRFC A114. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12645\"\u003e#12645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eutils: Update \u003ccode\u003eAdvancedTlsX509KeyManager\u003c/code\u003e so that developers can now preserve and use key aliases when dynamically reloading TLS certificates. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12686\"\u003e#12686\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate the \u0026quot;Outgoing Flow Control\u0026quot; section in the Manual Flow Control example to say onNext() does not block, but rather queues the messages in memory and advises developers to use CallStreamObserver.isReady() to prevent this memory exhaustion (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12700\"\u003e#12700\u003c/a\u003e) (a3a9ffcbe) (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12726\"\u003e#12726\u003c/a\u003e) (65ae2efda)\u003c/li\u003e\n\u003cli\u003eexamples: Clean up Health example, and document need for grpc-services (3ed732fc0)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDependencies\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Dependencies (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12719\"\u003e#12719\u003c/a\u003e) (16e17abba). Google-auth-library: 1.42.1, animal-sniffer: 1.27, assertj-core:3.27.7, error_prone_annotations:2.48.0, proto-google-common-protos:2.64.1, google-cloud-logging:3.23.10, jetty-http2-server:12.1.7, jetty-ee10-servlet:12.1.7, lincheck:3.4, opentelemetry-api:1.60.1, opentelemetry-exporter-prometheus:1.60.1-alpha, opentelemetry-gcp-resources:1.54.0-alpha, opentelemetry-sdk-extension-autoconfigure:1.60.1, opentelemetry-sdk-testing:1.60.1, robolectric:4.16.1, tomcat-embed-core:10.1.52, tomcat-embed-core9: 9.0.115,\u003c/li\u003e\n\u003cli\u003eUpgrade Netty to 4.1.132 and netty-tcnative to 2.0.75 (1528f809c)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eThanks to\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/becomeStar\"\u003e\u003ccode\u003e@​becomeStar\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benjaminp\"\u003e\u003ccode\u003e@​benjaminp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JoeCqupt\"\u003e\u003ccode\u003e@​JoeCqupt\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kainsin\"\u003e\u003ccode\u003e@​Kainsin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/merlimat\"\u003e\u003ccode\u003e@​merlimat\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SreeramdasLavanya\"\u003e\u003ccode\u003e@​SreeramdasLavanya\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/themechbro\"\u003e\u003ccode\u003e@​themechbro\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zhangweikop\"\u003e\u003ccode\u003e@​zhangweikop\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/6951542f66c59f63cbf5348b38a2306a3964adda\"\u003e\u003ccode\u003e6951542\u003c/code\u003e\u003c/a\u003e Bump version to 1.81.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/e94188e81298c36ac9654dc76025940171abc0a4\"\u003e\u003ccode\u003ee94188e\u003c/code\u003e\u003c/a\u003e Update README etc to reference 1.81.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/4813c6d06089d49a479f7f1786297dc3d8c0e549\"\u003e\u003ccode\u003e4813c6d\u003c/code\u003e\u003c/a\u003e core,xds: Fix backend_service plumbing for subchannel metrics (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12735\"\u003e#12735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/6737eb583a273dd13bf9e7b82cc1d9df75e551bd\"\u003e\u003ccode\u003e6737eb5\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Replace javax ThreadSafe annotation with errorprone ThreadSafe (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/1274\"\u003e#1274\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/ef3531325ba98fa043f6f7f16fa0715e9296d7a3\"\u003e\u003ccode\u003eef35313\u003c/code\u003e\u003c/a\u003e Replace javax ThreadSafe annotation with errorprone ThreadSafe (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12742\"\u003e#12742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/3ed732fc09c41b185cd03fdd6864c4ebb82f3a80\"\u003e\u003ccode\u003e3ed732f\u003c/code\u003e\u003c/a\u003e examples: Clean up Health, and document need for grpc-services\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/eac9fe9612881d54d51ddc5496599ba9a8201021\"\u003e\u003ccode\u003eeac9fe9\u003c/code\u003e\u003c/a\u003e xds: fix xDS HTTP CONNECT's transport socket name bug (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12740\"\u003e#12740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/1528f809c9e506cf2e7052e3f41fd8b75636d3d3\"\u003e\u003ccode\u003e1528f80\u003c/code\u003e\u003c/a\u003e Upgrade Netty to 4.1.132 and netty-tcnative to 2.0.75\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/d057a7ebee2945fc0a9ca58b36afdb5b37a99680\"\u003e\u003ccode\u003ed057a7e\u003c/code\u003e\u003c/a\u003e [xds] Implement A114: WRR support for custom backend metrics (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12645\"\u003e#12645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/842636f88452c30769a5561f7659db6e4f9fc2a0\"\u003e\u003ccode\u003e842636f\u003c/code\u003e\u003c/a\u003e xds: Add configuration objects for ExtAuthz, GrpcService and Bootstrap change...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/grpc/grpc-java/compare/v1.80.0...v1.81.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.grpc:grpc-protobuf` from 1.80.0 to 1.81.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/grpc/grpc-java/releases\"\u003eio.grpc:grpc-protobuf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eV1.81.0\u003c/h2\u003e\n\u003cp\u003eIn this release we drop support for Android API level 22 or lower (Lollipop or earlier), following Google Play Service’s \u003ca href=\"https://developers.google.com/android/guides/setup\"\u003ediscontinued updates for Lollipop (API levels 21 \u0026amp; 22)\u003c/a\u003e and now requires a minimum of API level 23 (Android 6.0 Marshmallow).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAPI Changes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eapi: Deprecate LoadBalancer.handleResolvedAddresses(). Developers maintaining custom LoadBalancer implementations should transition to using LoadBalancer.acceptResolvedAddresses(). Unlike the deprecated method, acceptResolvedAddresses() returns a Status object, allowing the load balancer to explicitly report success or reject the update if the provided addresses or configuration are invalid. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/11623\"\u003e#11623\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBehavior Changes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ecore: Enable dns \u0026quot;caching\u0026quot; on Android for 30 seconds to reduce CPU impact of a refresh loop with an LB policy (0675f70af). DnsNameResolver ignores re-resolution requests on OpenJDK-like platforms if it has been too soon since the last DNS query because InetAddress.getAllByName() has a cache with a fixed entry lifetime, but this logic was disabled for Android which does not have that style of cache. Android’s cache uses the result TTL, which will rarely be less than 30 seconds. This change would probably be most noticeable when 1) changing to a different network (e.g., from wifi to mobile), 2) the server has different addresses for different networks, and 3) the app is not using AndroidChannelBuilder with an \u003ccode\u003eandroid.context.Context\u003c/code\u003e. For reference, it seems Chrome caches for 1 minute\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug Fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eopentelemetry: Fix baggage propagation, the baggage propagation for opentelemetry introduced in \u003ca href=\"https://redirect.github.com/grpc/grpc-java/pull/12389\"\u003e#12389\u003c/a\u003e was broken. The context is decided once and used for all recording for the call, thus guaranteeing all record()s have consistent information.\u003c/li\u003e\n\u003cli\u003ecore: Address a race condition where \u003ccode\u003eManagedChannelOrphanWrapper\u003c/code\u003e could incorrectly log a \u0026quot;not shutdown properly\u0026quot; warning during garbage collection when using directExecutor(). (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12705\"\u003e#12705\u003c/a\u003e) (d459338d9)\u003c/li\u003e\n\u003cli\u003exds: Fix xDS HTTP CONNECT's transport socket name bug which is now corrected to use \u003ccode\u003etypeUrl\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12740\"\u003e#12740\u003c/a\u003e) (eac9fe961)\u003c/li\u003e\n\u003cli\u003exds: Fix an issue where subchannel metrics were dropping their association with the \u003ccode\u003ebackend_service\u003c/code\u003e. This ensures xDS load balancing metrics are reported accurately. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12735\"\u003e#12735\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eNew Features\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003enetty: Add tcp metrics, by implementing a few of the metrics defined in \u003ca href=\"https://redirect.github.com/grpc/proposal/pull/519\"\u003eA80\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eapi: Add a CallOption for a custom label on per-RPC metrics (0e39b2967). This CallOption is copied by grpc-opentelemetry to the \u003ccode\u003egrpc.client.call.custom\u003c/code\u003e label as defined by \u003ca href=\"https://github.com/grpc/proposal/blob/master/A108-otel-custom-per-call-label.md\"\u003egRFC A108\u003c/a\u003e. See also the \u003ca href=\"https://grpc.io/docs/guides/opentelemetry-metrics/\"\u003egRPC OpenTelemetry Metrics guide\u003c/a\u003e (update \u003ca href=\"https://redirect.github.com/grpc/grpc.io/pull/1505\"\u003ein-progress\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003exds: Add support for Weighted Round Robin (WRR) load balancing driven by custom backend metrics, implementing the behavior defined in gRFC A114. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12645\"\u003e#12645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eutils: Update \u003ccode\u003eAdvancedTlsX509KeyManager\u003c/code\u003e so that developers can now preserve and use key aliases when dynamically reloading TLS certificates. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12686\"\u003e#12686\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate the \u0026quot;Outgoing Flow Control\u0026quot; section in the Manual Flow Control example to say onNext() does not block, but rather queues the messages in memory and advises developers to use CallStreamObserver.isReady() to prevent this memory exhaustion (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12700\"\u003e#12700\u003c/a\u003e) (a3a9ffcbe) (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12726\"\u003e#12726\u003c/a\u003e) (65ae2efda)\u003c/li\u003e\n\u003cli\u003eexamples: Clean up Health example, and document need for grpc-services (3ed732fc0)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDependencies\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Dependencies (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12719\"\u003e#12719\u003c/a\u003e) (16e17abba). Google-auth-library: 1.42.1, animal-sniffer: 1.27, assertj-core:3.27.7, error_prone_annotations:2.48.0, proto-google-common-protos:2.64.1, google-cloud-logging:3.23.10, jetty-http2-server:12.1.7, jetty-ee10-servlet:12.1.7, lincheck:3.4, opentelemetry-api:1.60.1, opentelemetry-exporter-prometheus:1.60.1-alpha, opentelemetry-gcp-resources:1.54.0-alpha, opentelemetry-sdk-extension-autoconfigure:1.60.1, opentelemetry-sdk-testing:1.60.1, robolectric:4.16.1, tomcat-embed-core:10.1.52, tomcat-embed-core9: 9.0.115,\u003c/li\u003e\n\u003cli\u003eUpgrade Netty to 4.1.132 and netty-tcnative to 2.0.75 (1528f809c)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eThanks to\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/becomeStar\"\u003e\u003ccode\u003e@​becomeStar\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benjaminp\"\u003e\u003ccode\u003e@​benjaminp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JoeCqupt\"\u003e\u003ccode\u003e@​JoeCqupt\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kainsin\"\u003e\u003ccode\u003e@​Kainsin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/merlimat\"\u003e\u003ccode\u003e@​merlimat\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SreeramdasLavanya\"\u003e\u003ccode\u003e@​SreeramdasLavanya\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/themechbro\"\u003e\u003ccode\u003e@​themechbro\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zhangweikop\"\u003e\u003ccode\u003e@​zhangweikop\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/6951542f66c59f63cbf5348b38a2306a3964adda\"\u003e\u003ccode\u003e6951542\u003c/code\u003e\u003c/a\u003e Bump version to 1.81.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/e94188e81298c36ac9654dc76025940171abc0a4\"\u003e\u003ccode\u003ee94188e\u003c/code\u003e\u003c/a\u003e Update README etc to reference 1.81.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/4813c6d06089d49a479f7f1786297dc3d8c0e549\"\u003e\u003ccode\u003e4813c6d\u003c/code\u003e\u003c/a\u003e core,xds: Fix backend_service plumbing for subchannel metrics (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12735\"\u003e#12735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/6737eb583a273dd13bf9e7b82cc1d9df75e551bd\"\u003e\u003ccode\u003e6737eb5\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Replace javax ThreadSafe annotation with errorprone ThreadSafe (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/1274\"\u003e#1274\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/ef3531325ba98fa043f6f7f16fa0715e9296d7a3\"\u003e\u003ccode\u003eef35313\u003c/code\u003e\u003c/a\u003e Replace javax ThreadSafe annotation with errorprone ThreadSafe (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12742\"\u003e#12742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/3ed732fc09c41b185cd03fdd6864c4ebb82f3a80\"\u003e\u003ccode\u003e3ed732f\u003c/code\u003e\u003c/a\u003e examples: Clean up Health, and document need for grpc-services\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/eac9fe9612881d54d51ddc5496599ba9a8201021\"\u003e\u003ccode\u003eeac9fe9\u003c/code\u003e\u003c/a\u003e xds: fix xDS HTTP CONNECT's transport socket name bug (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12740\"\u003e#12740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/1528f809c9e506cf2e7052e3f41fd8b75636d3d3\"\u003e\u003ccode\u003e1528f80\u003c/code\u003e\u003c/a\u003e Upgrade Netty to 4.1.132 and netty-tcnative to 2.0.75\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/d057a7ebee2945fc0a9ca58b36afdb5b37a99680\"\u003e\u003ccode\u003ed057a7e\u003c/code\u003e\u003c/a\u003e [xds] Implement A114: WRR support for custom backend metrics (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12645\"\u003e#12645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/842636f88452c30769a5561f7659db6e4f9fc2a0\"\u003e\u003ccode\u003e842636f\u003c/code\u003e\u003c/a\u003e xds: Add configuration objects for ExtAuthz, GrpcService and Bootstrap change...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/grpc/grpc-java/compare/v1.80.0...v1.81.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.grpc:grpc-stub` from 1.80.0 to 1.81.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/grpc/grpc-java/releases\"\u003eio.grpc:grpc-stub's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eV1.81.0\u003c/h2\u003e\n\u003cp\u003eIn this release we drop support for Android API level 22 or lower (Lollipop or earlier), following Google Play Service’s \u003ca href=\"https://developers.google.com/android/guides/setup\"\u003ediscontinued updates for Lollipop (API levels 21 \u0026amp; 22)\u003c/a\u003e and now requires a minimum of API level 23 (Android 6.0 Marshmallow).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAPI Changes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eapi: Deprecate LoadBalancer.handleResolvedAddresses(). Developers maintaining custom LoadBalancer implementations should transition to using LoadBalancer.acceptResolvedAddresses(). Unlike the deprecated method, acceptResolvedAddresses() returns a Status object, allowing the load balancer to explicitly report success or reject the update if the provided addresses or configuration are invalid. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/11623\"\u003e#11623\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBehavior Changes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ecore: Enable dns \u0026quot;caching\u0026quot; on Android for 30 seconds to reduce CPU impact of a refresh loop with an LB policy (0675f70af). DnsNameResolver ignores re-resolution requests on OpenJDK-like platforms if it has been too soon since the last DNS query because InetAddress.getAllByName() has a cache with a fixed entry lifetime, but this logic was disabled for Android which does not have that style of cache. Android’s cache uses the result TTL, which will rarely be less than 30 seconds. This change would probably be most noticeable when 1) changing to a different network (e.g., from wifi to mobile), 2) the server has different addresses for different networks, and 3) the app is not using AndroidChannelBuilder with an \u003ccode\u003eandroid.context.Context\u003c/code\u003e. For reference, it seems Chrome caches for 1 minute\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug Fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eopentelemetry: Fix baggage propagation, the baggage propagation for opentelemetry introduced in \u003ca href=\"https://redirect.github.com/grpc/grpc-java/pull/12389\"\u003e#12389\u003c/a\u003e was broken. The context is decided once and used for all recording for the call, thus guaranteeing all record()s have consistent information.\u003c/li\u003e\n\u003cli\u003ecore: Address a race condition where \u003ccode\u003eManagedChannelOrphanWrapper\u003c/code\u003e could incorrectly log a \u0026quot;not shutdown properly\u0026quot; warning during garbage collection when using directExecutor(). (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12705\"\u003e#12705\u003c/a\u003e) (d459338d9)\u003c/li\u003e\n\u003cli\u003exds: Fix xDS HTTP CONNECT's transport socket name bug which is now corrected to use \u003ccode\u003etypeUrl\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12740\"\u003e#12740\u003c/a\u003e) (eac9fe961)\u003c/li\u003e\n\u003cli\u003exds: Fix an issue where subchannel metrics were dropping their association with the \u003ccode\u003ebackend_service\u003c/code\u003e. This ensures xDS load balancing metrics are reported accurately. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12735\"\u003e#12735\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eNew Features\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003enetty: Add tcp metrics, by implementing a few of the metrics defined in \u003ca href=\"https://redirect.github.com/grpc/proposal/pull/519\"\u003eA80\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eapi: Add a CallOption for a custom label on per-RPC metrics (0e39b2967). This CallOption is copied by grpc-opentelemetry to the \u003ccode\u003egrpc.client.call.custom\u003c/code\u003e label as defined by \u003ca href=\"https://github.com/grpc/proposal/blob/master/A108-otel-custom-per-call-label.md\"\u003egRFC A108\u003c/a\u003e. See also the \u003ca href=\"https://grpc.io/docs/guides/opentelemetry-metrics/\"\u003egRPC OpenTelemetry Metrics guide\u003c/a\u003e (update \u003ca href=\"https://redirect.github.com/grpc/grpc.io/pull/1505\"\u003ein-progress\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003exds: Add support for Weighted Round Robin (WRR) load balancing driven by custom backend metrics, implementing the behavior defined in gRFC A114. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12645\"\u003e#12645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eutils: Update \u003ccode\u003eAdvancedTlsX509KeyManager\u003c/code\u003e so that developers can now preserve and use key aliases when dynamically reloading TLS certificates. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12686\"\u003e#12686\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate the \u0026quot;Outgoing Flow Control\u0026quot; section in the Manual Flow Control example to say onNext() does not block, but rather queues the messages in memory and advises developers to use CallStreamObserver.isReady() to prevent this memory exhaustion (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12700\"\u003e#12700\u003c/a\u003e) (a3a9ffcbe) (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12726\"\u003e#12726\u003c/a\u003e) (65ae2efda)\u003c/li\u003e\n\u003cli\u003eexamples: Clean up Health example, and document need for grpc-services (3ed732fc0)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDependencies\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Dependencies (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12719\"\u003e#12719\u003c/a\u003e) (16e17abba). Google-auth-library: 1.42.1, animal-sniffer: 1.27, assertj-core:3.27.7, error_prone_annotations:2.48.0, proto-google-common-protos:2.64.1, google-cloud-logging:3.23.10, jetty-http2-server:12.1.7, jetty-ee10-servlet:12.1.7, lincheck:3.4, opentelemetry-api:1.60.1, opentelemetry-exporter-prometheus:1.60.1-alpha, opentelemetry-gcp-resources:1.54.0-alpha, opentelemetry-sdk-extension-autoconfigure:1.60.1, opentelemetry-sdk-testing:1.60.1, robolectric:4.16.1, tomcat-embed-core:10.1.52, tomcat-embed-core9: 9.0.115,\u003c/li\u003e\n\u003cli\u003eUpgrade Netty to 4.1.132 and netty-tcnative to 2.0.75 (1528f809c)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eThanks to\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/becomeStar\"\u003e\u003ccode\u003e@​becomeStar\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benjaminp\"\u003e\u003ccode\u003e@​benjaminp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JoeCqupt\"\u003e\u003ccode\u003e@​JoeCqupt\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kainsin\"\u003e\u003ccode\u003e@​Kainsin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/merlimat\"\u003e\u003ccode\u003e@​merlimat\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SreeramdasLavanya\"\u003e\u003ccode\u003e@​SreeramdasLavanya\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/themechbro\"\u003e\u003ccode\u003e@​themechbro\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zhangweikop\"\u003e\u003ccode\u003e@​zhangweikop\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/6951542f66c59f63cbf5348b38a2306a3964adda\"\u003e\u003ccode\u003e6951542\u003c/code\u003e\u003c/a\u003e Bump version to 1.81.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/e94188e81298c36ac9654dc76025940171abc0a4\"\u003e\u003ccode\u003ee94188e\u003c/code\u003e\u003c/a\u003e Update README etc to reference 1.81.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/4813c6d06089d49a479f7f1786297dc3d8c0e549\"\u003e\u003ccode\u003e4813c6d\u003c/code\u003e\u003c/a\u003e core,xds: Fix backend_service plumbing for subchannel metrics (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12735\"\u003e#12735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/6737eb583a273dd13bf9e7b82cc1d9df75e551bd\"\u003e\u003ccode\u003e6737eb5\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Replace javax ThreadSafe annotation with errorprone ThreadSafe (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/1274\"\u003e#1274\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/ef3531325ba98fa043f6f7f16fa0715e9296d7a3\"\u003e\u003ccode\u003eef35313\u003c/code\u003e\u003c/a\u003e Replace javax ThreadSafe annotation with errorprone ThreadSafe (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12742\"\u003e#12742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/3ed732fc09c41b185cd03fdd6864c4ebb82f3a80\"\u003e\u003ccode\u003e3ed732f\u003c/code\u003e\u003c/a\u003e examples: Clean up Health, and document need for grpc-services\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/eac9fe9612881d54d51ddc5496599ba9a8201021\"\u003e\u003ccode\u003eeac9fe9\u003c/code\u003e\u003c/a\u003e xds: fix xDS HTTP CONNECT's transport socket name bug (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12740\"\u003e#12740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/1528f809c9e506cf2e7052e3f41fd8b75636d3d3\"\u003e\u003ccode\u003e1528f80\u003c/code\u003e\u003c/a\u003e Upgrade Netty to 4.1.132 and netty-tcnative to 2.0.75\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/d057a7ebee2945fc0a9ca58b36afdb5b37a99680\"\u003e\u003ccode\u003ed057a7e\u003c/code\u003e\u003c/a\u003e [xds] Implement A114: WRR support for custom backend metrics (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12645\"\u003e#12645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/842636f88452c30769a5561f7659db6e4f9fc2a0\"\u003e\u003ccode\u003e842636f\u003c/code\u003e\u003c/a\u003e xds: Add configuration objects for ExtAuthz, GrpcService and Bootstrap change...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/grpc/grpc-java/compare/v1.80.0...v1.81.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.grpc:grpc-inprocess` from 1.80.0 to 1.81.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/grpc/grpc-java/releases\"\u003eio.grpc:grpc-inprocess's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eV1.81.0\u003c/h2\u003e\n\u003cp\u003eIn this release we drop support for Android API level 22 or lower (Lollipop or earlier), following Google Play Service’s \u003ca href=\"https://developers.google.com/android/guides/setup\"\u003ediscontinued updates for Lollipop (API levels 21 \u0026amp; 22)\u003c/a\u003e and now requires a minimum of API level 23 (Android 6.0 Marshmallow).\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAPI Changes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eapi: Deprecate LoadBalancer.handleResolvedAddresses(). Developers maintaining custom LoadBalancer implementations should transition to using LoadBalancer.acceptResolvedAddresses(). Unlike the deprecated method, acceptResolvedAddresses() returns a Status object, allowing the load balancer to explicitly report success or reject the update if the provided addresses or configuration are invalid. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/11623\"\u003e#11623\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBehavior Changes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ecore: Enable dns \u0026quot;caching\u0026quot; on Android for 30 seconds to reduce CPU impact of a refresh loop with an LB policy (0675f70af). DnsNameResolver ignores re-resolution requests on OpenJDK-like platforms if it has been too soon since the last DNS query because InetAddress.getAllByName() has a cache with a fixed entry lifetime, but this logic was disabled for Android which does not have that style of cache. Android’s cache uses the result TTL, which will rarely be less than 30 seconds. This change would probably be most noticeable when 1) changing to a different network (e.g., from wifi to mobile), 2) the server has different addresses for different networks, and 3) the app is not using AndroidChannelBuilder with an \u003ccode\u003eandroid.context.Context\u003c/code\u003e. For reference, it seems Chrome caches for 1 minute\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBug Fixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eopentelemetry: Fix baggage propagation, the baggage propagation for opentelemetry introduced in \u003ca href=\"https://redirect.github.com/grpc/grpc-java/pull/12389\"\u003e#12389\u003c/a\u003e was broken. The context is decided once and used for all recording for the call, thus guaranteeing all record()s have consistent information.\u003c/li\u003e\n\u003cli\u003ecore: Address a race condition where \u003ccode\u003eManagedChannelOrphanWrapper\u003c/code\u003e could incorrectly log a \u0026quot;not shutdown properly\u0026quot; warning during garbage collection when using directExecutor(). (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12705\"\u003e#12705\u003c/a\u003e) (d459338d9)\u003c/li\u003e\n\u003cli\u003exds: Fix xDS HTTP CONNECT's transport socket name bug which is now corrected to use \u003ccode\u003etypeUrl\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12740\"\u003e#12740\u003c/a\u003e) (eac9fe961)\u003c/li\u003e\n\u003cli\u003exds: Fix an issue where subchannel metrics were dropping their association with the \u003ccode\u003ebackend_service\u003c/code\u003e. This ensures xDS load balancing metrics are reported accurately. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12735\"\u003e#12735\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eNew Features\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003enetty: Add tcp metrics, by implementing a few of the metrics defined in \u003ca href=\"https://redirect.github.com/grpc/proposal/pull/519\"\u003eA80\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eapi: Add a CallOption for a custom label on per-RPC metrics (0e39b2967). This CallOption is copied by grpc-opentelemetry to the \u003ccode\u003egrpc.client.call.custom\u003c/code\u003e label as defined by \u003ca href=\"https://github.com/grpc/proposal/blob/master/A108-otel-custom-per-call-label.md\"\u003egRFC A108\u003c/a\u003e. See also the \u003ca href=\"https://grpc.io/docs/guides/opentelemetry-metrics/\"\u003egRPC OpenTelemetry Metrics guide\u003c/a\u003e (update \u003ca href=\"https://redirect.github.com/grpc/grpc.io/pull/1505\"\u003ein-progress\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003exds: Add support for Weighted Round Robin (WRR) load balancing driven by custom backend metrics, implementing the behavior defined in gRFC A114. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12645\"\u003e#12645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eutils: Update \u003ccode\u003eAdvancedTlsX509KeyManager\u003c/code\u003e so that developers can now preserve and use key aliases when dynamically reloading TLS certificates. (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12686\"\u003e#12686\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate the \u0026quot;Outgoing Flow Control\u0026quot; section in the Manual Flow Control example to say onNext() does not block, but rather queues the messages in memory and advises developers to use CallStreamObserver.isReady() to prevent this memory exhaustion (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12700\"\u003e#12700\u003c/a\u003e) (a3a9ffcbe) (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12726\"\u003e#12726\u003c/a\u003e) (65ae2efda)\u003c/li\u003e\n\u003cli\u003eexamples: Clean up Health example, and document need for grpc-services (3ed732fc0)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDependencies\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Dependencies (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12719\"\u003e#12719\u003c/a\u003e) (16e17abba). Google-auth-library: 1.42.1, animal-sniffer: 1.27, assertj-core:3.27.7, error_prone_annotations:2.48.0, proto-google-common-protos:2.64.1, google-cloud-logging:3.23.10, jetty-http2-server:12.1.7, jetty-ee10-servlet:12.1.7, lincheck:3.4, opentelemetry-api:1.60.1, opentelemetry-exporter-prometheus:1.60.1-alpha, opentelemetry-gcp-resources:1.54.0-alpha, opentelemetry-sdk-extension-autoconfigure:1.60.1, opentelemetry-sdk-testing:1.60.1, robolectric:4.16.1, tomcat-embed-core:10.1.52, tomcat-embed-core9: 9.0.115,\u003c/li\u003e\n\u003cli\u003eUpgrade Netty to 4.1.132 and netty-tcnative to 2.0.75 (1528f809c)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eThanks to\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/becomeStar\"\u003e\u003ccode\u003e@​becomeStar\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benjaminp\"\u003e\u003ccode\u003e@​benjaminp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JoeCqupt\"\u003e\u003ccode\u003e@​JoeCqupt\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kainsin\"\u003e\u003ccode\u003e@​Kainsin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/merlimat\"\u003e\u003ccode\u003e@​merlimat\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SreeramdasLavanya\"\u003e\u003ccode\u003e@​SreeramdasLavanya\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/themechbro\"\u003e\u003ccode\u003e@​themechbro\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zhangweikop\"\u003e\u003ccode\u003e@​zhangweikop\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/6951542f66c59f63cbf5348b38a2306a3964adda\"\u003e\u003ccode\u003e6951542\u003c/code\u003e\u003c/a\u003e Bump version to 1.81.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/e94188e81298c36ac9654dc76025940171abc0a4\"\u003e\u003ccode\u003ee94188e\u003c/code\u003e\u003c/a\u003e Update README etc to reference 1.81.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/4813c6d06089d49a479f7f1786297dc3d8c0e549\"\u003e\u003ccode\u003e4813c6d\u003c/code\u003e\u003c/a\u003e core,xds: Fix backend_service plumbing for subchannel metrics (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12735\"\u003e#12735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/6737eb583a273dd13bf9e7b82cc1d9df75e551bd\"\u003e\u003ccode\u003e6737eb5\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Replace javax ThreadSafe annotation with errorprone ThreadSafe (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/1274\"\u003e#1274\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/ef3531325ba98fa043f6f7f16fa0715e9296d7a3\"\u003e\u003ccode\u003eef35313\u003c/code\u003e\u003c/a\u003e Replace javax ThreadSafe annotation with errorprone ThreadSafe (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12742\"\u003e#12742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/3ed732fc09c41b185cd03fdd6864c4ebb82f3a80\"\u003e\u003ccode\u003e3ed732f\u003c/code\u003e\u003c/a\u003e examples: Clean up Health, and document need for grpc-services\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/eac9fe9612881d54d51ddc5496599ba9a8201021\"\u003e\u003ccode\u003eeac9fe9\u003c/code\u003e\u003c/a\u003e xds: fix xDS HTTP CONNECT's transport socket name bug (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12740\"\u003e#12740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/1528f809c9e506cf2e7052e3f41fd8b75636d3d3\"\u003e\u003ccode\u003e1528f80\u003c/code\u003e\u003c/a\u003e Upgrade Netty to 4.1.132 and netty-tcnative to 2.0.75\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/d057a7ebee2945fc0a9ca58b36afdb5b37a99680\"\u003e\u003ccode\u003ed057a7e\u003c/code\u003e\u003c/a\u003e [xds] Implement A114: WRR support for custom backend metrics (\u003ca href=\"https://redirect.github.com/grpc/grpc-java/issues/12645\"\u003e#12645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grpc/grpc-java/commit/842636f88452c30769a5561f7659db6e4f9fc2a0\"\u003e\u003ccode\u003e842636f\u003c/code\u003e\u003c/a\u003e xds: Add configuration objects for ExtAuthz, GrpcService and Bootstrap change...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/grpc/grpc-java/compare/v1.80.0...v1.81.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.grpc:protoc-gen-grpc-java` from 1.80.0 to 1.81.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/grpc/grpc-java/releases\"\u003eio.grpc:protoc-gen-grpc-java's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eV1.81.0\u003c/h2\u003e\n\u003cp\u003eIn this release we drop support for Android API level 22 or lower (Lollipop or earlier), following Google Play Service’s \u003ca href=\"https://developers.google.com/android/guides/setup\"\u003ediscont...\n\n_Description has been truncated_","html_url":"https://github.com/greenharborlabs/spring-boot-starter-paygate/pull/45","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/greenharborlabs%2Fspring-boot-starter-paygate/issues/45","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/45/packages"}},{"old_version":"3.2.3","new_version":"3.2.4","update_type":"patch","path":null,"pr_created_at":"2026-05-22T03:13:03.000Z","version_change":"3.2.3 → 3.2.4","issue":{"uuid":"4499519588","node_id":"PR_kwDORvJjTc7eL9ZE","number":30,"state":"open","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 18 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-22T03:13:03.000Z","updated_at":"2026-05-22T03:17:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":18,"packages":[{"name":"org.mariadb.jdbc:mariadb-java-client","old_version":"3.5.7","new_version":"3.5.8","repository_url":"https://github.com/mariadb-corporation/mariadb-connector-j"},{"name":"org.flywaydb:flyway-mysql","old_version":"12.0.3","new_version":"12.6.2"},{"name":"org.projectlombok:lombok","old_version":"1.18.42","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"org.apache.pdfbox:pdfbox","old_version":"3.0.6","new_version":"3.0.7"},{"name":"org.apache.pdfbox:jbig2-imageio","old_version":"3.0.4","new_version":"3.0.5"},{"name":"com.github.RouHim:jaudiotagger","old_version":"2.0.16","new_version":"2.0.21"},{"name":"com.github.junrar:junrar","old_version":"7.5.8","new_version":"7.6.0","repository_url":"https://github.com/junrar/junrar"},{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"4.0.6","new_version":"4.0.8"},{"name":"tools.jackson:jackson-bom","old_version":"3.1.0","new_version":"3.1.3","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"org.springframework.boot","old_version":"4.0.3","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.hibernate.orm","old_version":"7.2.6.Final","new_version":"7.3.5.Final"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"gradle-wrapper","old_version":"9.4.0","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 16 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) | `3.5.7` | `3.5.8` |\n| org.flywaydb:flyway-mysql | `12.0.3` | `12.6.2` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.42` | `1.18.46` |\n| org.apache.pdfbox:pdfbox | `3.0.6` | `3.0.7` |\n| org.apache.pdfbox:jbig2-imageio | `3.0.4` | `3.0.5` |\n| com.github.RouHim:jaudiotagger | `2.0.16` | `2.0.21` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.8` | `7.6.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `3.0.2` | `3.0.3` |\n| org.glassfish.jaxb:jaxb-runtime | `4.0.6` | `4.0.8` |\n| [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `3.1.0` | `3.1.3` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.2.3` | `3.2.4` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.3` | `4.0.6` |\n| org.hibernate.orm | `7.2.6.Final` | `7.3.5.Final` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.0` | `9.5.1` |\n\n\nUpdates `org.mariadb.jdbc:mariadb-java-client` from 3.5.7 to 3.5.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/releases\"\u003eorg.mariadb.jdbc:mariadb-java-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eMariaDB Connector/Java 3.5.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/blob/main/CHANGELOG.md\"\u003eorg.mariadb.jdbc:mariadb-java-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/26b34a2f060070beb73515cfd2a49fabc8728843\"\u003e\u003ccode\u003e26b34a2\u003c/code\u003e\u003c/a\u003e Merge branch 'develop'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/06d6efee7838ab8f89ef0f7f362c6b4a95754630\"\u003e\u003ccode\u003e06d6efe\u003c/code\u003e\u003c/a\u003e bump CI actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a86a83c8fd1fa84d8d4349baab3b29df8f575192\"\u003e\u003ccode\u003ea86a83c\u003c/code\u003e\u003c/a\u003e bump 3.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/975f9919232b21f40d823423eac6e32d87ea8e35\"\u003e\u003ccode\u003e975f991\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to implement Codec directly and extract shared...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/75bb509521661603e0e90dd6dd5942d1382bf499\"\u003e\u003ccode\u003e75bb509\u003c/code\u003e\u003c/a\u003e [misc] code formatting cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/4c0b6a0ddd95f42fa866ce0d08e384caa2553d43\"\u003e\u003ccode\u003e4c0b6a0\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to extend UtilDateCodec and extract common dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a5b7fb1a26277a076052dbbd1a7ee2bacd4f602f\"\u003e\u003ccode\u003ea5b7fb1\u003c/code\u003e\u003c/a\u003e [misc] convert Reader and Writer from interfaces to final class implementatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/d31eb060fc66e9e37479e18a38bb1401d53ecb63\"\u003e\u003ccode\u003ed31eb06\u003c/code\u003e\u003c/a\u003e [misc] convert ReadableByteBuf from interface to final class implementation, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/11d45a9e6ea4d942e75747132bb8982471d890b8\"\u003e\u003ccode\u003e11d45a9\u003c/code\u003e\u003c/a\u003e [misc] optimize binary row decoder null bitmap checks and simplify signed Big...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/5aad14c381cbc2c4e0383ffed275306f359bd508\"\u003e\u003ccode\u003e5aad14c\u003c/code\u003e\u003c/a\u003e [misc] optimize BigInt column decoding and improve type safety in codec inter...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb:flyway-mysql` from 12.0.3 to 12.6.2\n\nUpdates `org.projectlombok:lombok` from 1.18.42 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.44 (March 11th, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFEATURE: \u003ccode\u003e@Jacksonized\u003c/code\u003e now supports both Jackson2 and Jackson3; you'll get a warning until you configure which one (or even both!) you want lombok to generate. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3950\"\u003e#3950\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: On JDK25, \u003ccode\u003eval\u003c/code\u003e and \u003ccode\u003e@ExtensionMethod\u003c/code\u003e could sometimes cause erroneous errors (in that you see errors but compilation succeeds anyway) using javac. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3947\"\u003e#3947\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e + fields marked \u003ccode\u003etransient\u003c/code\u003e would result in those transient fields being serialised which is surprising (and thus undesired) behaviour. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3936\"\u003e#3936\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.42...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.pdfbox:pdfbox` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:pdfbox-io` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:xmpbox` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:jbig2-imageio` from 3.0.4 to 3.0.5\n\nUpdates `com.github.RouHim:jaudiotagger` from 2.0.16 to 2.0.21\n\nUpdates `com.github.junrar:junrar` from 7.5.8 to 7.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.6.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport random access for files in solid RAR4 archives (\u003ca href=\"https://github.com/junrar/junrar/commits/e0874d2\"\u003ee0874d2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🏎 Perf\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereplace RarCRC.checkCrc with java.util.zip.CRC32 (\u003ca href=\"https://github.com/junrar/junrar/commits/5270d23\"\u003e5270d23\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump gradle-wrapper to 9.5.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/cb4b7fd\"\u003ecb4b7fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/0bb56b3\"\u003e0bb56b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/ca621b2\"\u003eca621b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.23.0 to 1.24.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/90f0548\"\u003e90f0548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/83a5d08\"\u003e83a5d08\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.github.ben-manes.versions from 0.53.0 to 0.54.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d5abcdb\"\u003ed5abcdb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated action (\u003ca href=\"https://github.com/junrar/junrar/commits/338efcb\"\u003e338efcb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Gauthier Roebroeck, Robin Schimpf\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier Roebroeck\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.9\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.10...v7.6.0\"\u003e7.6.0\u003c/a\u003e (2026-05-13)\u003c/h1\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport random access for files in solid RAR4 archives (\u003ca href=\"https://github.com/junrar/junrar/commits/e0874d2\"\u003ee0874d2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🏎 Perf\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereplace RarCRC.checkCrc with java.util.zip.CRC32 (\u003ca href=\"https://github.com/junrar/junrar/commits/5270d23\"\u003e5270d23\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump gradle-wrapper to 9.5.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/cb4b7fd\"\u003ecb4b7fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/0bb56b3\"\u003e0bb56b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/ca621b2\"\u003eca621b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.23.0 to 1.24.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/90f0548\"\u003e90f0548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/83a5d08\"\u003e83a5d08\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.github.ben-manes.versions from 0.53.0 to 0.54.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d5abcdb\"\u003ed5abcdb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated action (\u003ca href=\"https://github.com/junrar/junrar/commits/338efcb\"\u003e338efcb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.9...v7.5.10\"\u003e7.5.10\u003c/a\u003e (2026-04-15)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.9\"\u003e7.5.9\u003c/a\u003e (2026-04-13)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/cb4b7fdb84269e95741fa22120e08ceb15a06152\"\u003e\u003ccode\u003ecb4b7fd\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper to 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/0bb56b3df4e3b6d14f73de92746a2eb47dd2d7a3\"\u003e\u003ccode\u003e0bb56b3\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/ca621b22421f9e846df23112b32113230610c8d9\"\u003e\u003ccode\u003eca621b2\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e0874d213832bbeaa8eb265c79479b01b5fa7392\"\u003e\u003ccode\u003ee0874d2\u003c/code\u003e\u003c/a\u003e feat: support random access for files in solid RAR4 archives\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/90f0548c728b0bf2e94f6e26f9e6396d9d0a7262\"\u003e\u003ccode\u003e90f0548\u003c/code\u003e\u003c/a\u003e build(deps): bump org.jreleaser from 1.23.0 to 1.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/83a5d085dc84991226229fef1515cc902d129241\"\u003e\u003ccode\u003e83a5d08\u003c/code\u003e\u003c/a\u003e build(deps): bump commons-io:commons-io from 2.21.0 to 2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/338efcb5472be051989fbafd7179d561c71722eb\"\u003e\u003ccode\u003e338efcb\u003c/code\u003e\u003c/a\u003e ci: replace deprecated action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/5270d235ade54d96dfc9958ab06f495fbbd169e7\"\u003e\u003ccode\u003e5270d23\u003c/code\u003e\u003c/a\u003e perf: replace RarCRC.checkCrc with java.util.zip.CRC32\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d5abcdb9af988ddfa76e98d80787e15525488332\"\u003e\u003ccode\u003ed5abcdb\u003c/code\u003e\u003c/a\u003e build(deps): bump com.github.ben-manes.versions from 0.53.0 to 0.54.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/edadb28896962fdcf754029bafd0994aaff24530\"\u003e\u003ccode\u003eedadb28\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.10 [skip ci]\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.22.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.22.1...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.glassfish.jaxb:jaxb-runtime` from 4.0.6 to 4.0.8\n\nUpdates `tools.jackson:jackson-bom` from 3.1.0 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/c2ea79e9178f0aaa5e4f381c644140357bfc307e\"\u003e\u003ccode\u003ec2ea79e\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3906b27dcdde8fc6a4fef193147109b70bf2f0dc\"\u003e\u003ccode\u003e3906b27\u003c/code\u003e\u003c/a\u003e Prep for 3.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/b17b616c7dc264cfef26f9dd28eaf54bc40b5c4c\"\u003e\u003ccode\u003eb17b616\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/36cf9995cff15aa3e69786da1d6c52f208fddf8a\"\u003e\u003ccode\u003e36cf999\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0ae1c2ae270dabe8e21700cbcee1c266b54e84f0\"\u003e\u003ccode\u003e0ae1c2a\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3c171ebd5d6c5d8f6e8d4f3614cf9b4f0a8babb9\"\u003e\u003ccode\u003e3c171eb\u003c/code\u003e\u003c/a\u003e Prep for 3.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/8046ced071e0b36747bae0f0a96fa21914de1303\"\u003e\u003ccode\u003e8046ced\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ea00ca4cc59ba656a17a071e30a68387e51d3e0d\"\u003e\u003ccode\u003eea00ca4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0628060381a5b86e3fc07854a27b7453de559b7e\"\u003e\u003ccode\u003e0628060\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/22b8aeec79b87751a41c586404850c526eed1dbe\"\u003e\u003ccode\u003e22b8aee\u003c/code\u003e\u003c/a\u003e Prep for 3.1.1 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-3.1.0...jackson-bom-3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 4.0.3 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnversRevisionRepositoriesRegistrar should reuse \u003ccode\u003e@EnableEnversRepositories\u003c/code\u003e rather than configuring the JPA counterpart \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50039\"\u003e#50039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebFlux Cloud Foundry links endpoint includes query string from received request in resolved links \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50017\"\u003e#50017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImports on a containing test class are ignored when a nested class has imports \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50012\"\u003e#50012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49951\"\u003e#49951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e500 response from env endpoint when supplied pattern is invalid \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49946\"\u003e#49946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49945\"\u003e#49945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP method is lost when configuring excludes in EndpointRequest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49943\"\u003e#49943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor HttpMethod for reactive additional endpoint paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49880\"\u003e#49880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/artemis image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49869\"\u003e#49869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/activemq image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49866\"\u003e#49866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49854\"\u003e#49854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI versioning path strategy should be applied path last as it is not meant to yield \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49800\"\u003e#49800\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs to encourage Java fundamentals for beginners that prefer to learn that way \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50146\"\u003e#50146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP Service Interface Clients still document that API versioning can be configured via properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50126\"\u003e#50126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the observability section of the Lettuce documentation is broken \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50097\"\u003e#50097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJavadoc for StaticResourceLocation.FAVICON doesn't describe icons location \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50085\"\u003e#50085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySamlRelyingPartyConfiguration is missing a Kotlin sample \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50024\"\u003e#50024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect default value for management.httpexchanges.recording.include in configuration metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50019\"\u003e#50019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the Kubernetes documentation when discussing startup probes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50015\"\u003e#50015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in JdbcSessionAutoConfiguration Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49873\"\u003e#49873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify that configuration property default values are not available through the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49851\"\u003e#49851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument the need for Liquibase and Flyway starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49839\"\u003e#49839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKafka documentation refers to deprecated JSON serializer and deserializer classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49826\"\u003e#49826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Elasticsearch Client 9.2.8 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50027\"\u003e#50027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Groovy 5.0.5 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49911\"\u003e#49911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Hibernate 7.2.12.Final \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50134\"\u003e#50134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Jackson Bom 3.1.2 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50051\"\u003e#50051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1\"\u003eJaxen 2.0.1\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50104\"\u003e#50104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5\"\u003eJaybird 6.0.5\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49914\"\u003e#49914\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/8821ad2cd381bb4b9615a61479e1de7305a8ba39\"\u003e\u003ccode\u003e8821ad2\u003c/code\u003e\u003c/a\u003e Release v4.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9e4048a03f17adfe78057a3c4d5b4693305c0ae0\"\u003e\u003ccode\u003e9e4048a\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/20bb11c3984802990572ddbeae8b66885a8f2462\"\u003e\u003ccode\u003e20bb11c\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.15-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/98daa8ea30f39a5b0ca6768b5cbc2dc8698ef4e1\"\u003e\u003ccode\u003e98daa8e\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9dc5aa2863f598a15d3dfa116f4b89249daba7e7\"\u003e\u003ccode\u003e9dc5aa2\u003c/code\u003e\u003c/a\u003e Polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/874f6294b91da18367b8b5ab7b2fad3fa23cfba6\"\u003e\u003ccode\u003e874f629\u003c/code\u003e\u003c/a\u003e Fix default security with actuator but without health\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/e41b3bf731d1134bc18ec1f68ac01e0fe1c54923\"\u003e\u003ccode\u003ee41b3bf\u003c/code\u003e\u003c/a\u003e Enable hostname verification for SSL connections to Elasticsearch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ef8527bb0ef8f564f4f9c57a7be99a7aa96c6ab0\"\u003e\u003ccode\u003eef8527b\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f533a4549c3999aac30cb5830f07dc304933e93d\"\u003e\u003ccode\u003ef533a45\u003c/code\u003e\u003c/a\u003e Do not follow symlinks when writing PID file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4a7bd332b6d19fef1aa4cf28434985f2b03a2e0f\"\u003e\u003ccode\u003e4a7bd33\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.3...v4.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.hibernate.orm` from 7.2.6.Final to 7.3.5.Final\n\nUpdates `com.github.ben-manes.versions` from 0.53.0 to 0.54.0\n\nUpdates `gradle-wrapper` from 9.4.0 to 9.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd78213f09782e62ca4957f9cfd3d90c6c3f1767\"\u003e\u003ccode\u003efd78213\u003c/code\u003e\u003c/a\u003e Update Documentation Infrastructure: Fix scrolling issue in user manual (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37861\"\u003e#37861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7758437128d1c52702786ad719a13ade1b860aa8\"\u003e\u003ccode\u003e7758437\u003c/code\u003e\u003c/a\u003e fix scroll\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2fd605fdcd69fea10570e9eb1343bbd7ca01c9d0\"\u003e\u003ccode\u003e2fd605f\u003c/code\u003e\u003c/a\u003e Only try to run as worker thread in DefaultBuildOperationQueue (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37845\"\u003e#37845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/af6984901238402386ae263d746380504e5f9138\"\u003e\u003ccode\u003eaf69849\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37853\"\u003e#37853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f4d9d03e9bb47d2d17b6d8314fdaa32c3d0b3c1e\"\u003e\u003ccode\u003ef4d9d03\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/01eda3adf40dbe97e81475e813705409dcfe1091\"\u003e\u003ccode\u003e01eda3a\u003c/code\u003e\u003c/a\u003e Address review feedback on worker-lease retry changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7024e15139b2db9df831dd15a8b9e9052acd9a51\"\u003e\u003ccode\u003e7024e15\u003c/code\u003e\u003c/a\u003e Revert enrich file visitor with size info on \u003ccode\u003erelease\u003c/code\u003e branch (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37848\"\u003e#37848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d51476fda21330c037a04b43ec9a93a929d05b87\"\u003e\u003ccode\u003ed51476f\u003c/code\u003e\u003c/a\u003e Fix tryRunAsWorkerThread null-return test to match contract\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/090ebabc5b6f648e01c0269a321d80372fdbfe0f\"\u003e\u003ccode\u003e090ebab\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add getLength() to FilePropertyVisitor.VisitState\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/bceab24677298144860f6919bdcb031e806dbf23\"\u003e\u003ccode\u003ebceab24\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix annotation\u0026quot;\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.0...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/cdome/ollumi/pull/30","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdome%2Follumi/issues/30","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/30/packages"}},{"old_version":"3.2.0","new_version":"3.2.4","update_type":"patch","path":null,"pr_created_at":"2026-05-22T03:12:52.000Z","version_change":"3.2.0 → 3.2.4","issue":{"uuid":"4499519012","node_id":"PR_kwDORqdfXc7eL9SP","number":15,"state":"open","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 23 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-22T03:12:52.000Z","updated_at":"2026-05-22T03:16:05.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":23,"packages":[{"name":"org.mariadb.jdbc:mariadb-java-client","old_version":"3.5.7","new_version":"3.5.8","repository_url":"https://github.com/mariadb-corporation/mariadb-connector-j"},{"name":"org.flywaydb:flyway-mysql","old_version":"11.19.0","new_version":"12.6.2"},{"name":"org.projectlombok:lombok","old_version":"1.18.42","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"org.apache.pdfbox:pdfbox","old_version":"3.0.6","new_version":"3.0.7"},{"name":"org.apache.pdfbox:jbig2-imageio","old_version":"3.0.4","new_version":"3.0.5"},{"name":"com.twelvemonkeys.imageio:imageio-jpeg","old_version":"3.13.0","new_version":"3.13.1"},{"name":"io.documentnode:epub4j-core","old_version":"4.2.2","new_version":"4.2.3","repository_url":"https://github.com/documentnode/epub4j"},{"name":"com.github.junrar:junrar","old_version":"7.5.7","new_version":"7.6.0","repository_url":"https://github.com/junrar/junrar"},{"name":"org.jsoup:jsoup","old_version":"1.21.2","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"2.8.14","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.tukaani:xz","old_version":"1.11","new_version":"1.12","repository_url":"https://github.com/tukaani-project/xz-java"},{"name":"tools.jackson:jackson-bom","old_version":"3.0.4","new_version":"3.1.3","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.0","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"org.assertj:assertj-core","old_version":"3.27.6","new_version":"3.27.7","repository_url":"https://github.com/assertj/assertj"},{"name":"org.springframework.boot","old_version":"4.0.2","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.hibernate.orm","old_version":"7.2.0.Final","new_version":"7.3.5.Final"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"gradle-wrapper","old_version":"9.3.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 18 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) | `3.5.7` | `3.5.8` |\n| org.flywaydb:flyway-mysql | `11.19.0` | `12.6.2` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.42` | `1.18.46` |\n| org.apache.pdfbox:pdfbox | `3.0.6` | `3.0.7` |\n| org.apache.pdfbox:jbig2-imageio | `3.0.4` | `3.0.5` |\n| com.twelvemonkeys.imageio:imageio-jpeg | `3.13.0` | `3.13.1` |\n| [io.documentnode:epub4j-core](https://github.com/documentnode/epub4j) | `4.2.2` | `4.2.3` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.7` | `7.6.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.21.2` | `1.22.2` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `2.8.14` | `3.0.3` |\n| [org.tukaani:xz](https://github.com/tukaani-project/xz-java) | `1.11` | `1.12` |\n| [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `3.0.4` | `3.1.3` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.2.0` | `3.2.4` |\n| [org.assertj:assertj-core](https://github.com/assertj/assertj) | `3.27.6` | `3.27.7` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.2` | `4.0.6` |\n| org.hibernate.orm | `7.2.0.Final` | `7.3.5.Final` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.3.1` | `9.5.1` |\n\n\nUpdates `org.mariadb.jdbc:mariadb-java-client` from 3.5.7 to 3.5.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/releases\"\u003eorg.mariadb.jdbc:mariadb-java-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eMariaDB Connector/Java 3.5.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/blob/main/CHANGELOG.md\"\u003eorg.mariadb.jdbc:mariadb-java-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/26b34a2f060070beb73515cfd2a49fabc8728843\"\u003e\u003ccode\u003e26b34a2\u003c/code\u003e\u003c/a\u003e Merge branch 'develop'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/06d6efee7838ab8f89ef0f7f362c6b4a95754630\"\u003e\u003ccode\u003e06d6efe\u003c/code\u003e\u003c/a\u003e bump CI actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a86a83c8fd1fa84d8d4349baab3b29df8f575192\"\u003e\u003ccode\u003ea86a83c\u003c/code\u003e\u003c/a\u003e bump 3.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/975f9919232b21f40d823423eac6e32d87ea8e35\"\u003e\u003ccode\u003e975f991\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to implement Codec directly and extract shared...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/75bb509521661603e0e90dd6dd5942d1382bf499\"\u003e\u003ccode\u003e75bb509\u003c/code\u003e\u003c/a\u003e [misc] code formatting cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/4c0b6a0ddd95f42fa866ce0d08e384caa2553d43\"\u003e\u003ccode\u003e4c0b6a0\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to extend UtilDateCodec and extract common dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a5b7fb1a26277a076052dbbd1a7ee2bacd4f602f\"\u003e\u003ccode\u003ea5b7fb1\u003c/code\u003e\u003c/a\u003e [misc] convert Reader and Writer from interfaces to final class implementatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/d31eb060fc66e9e37479e18a38bb1401d53ecb63\"\u003e\u003ccode\u003ed31eb06\u003c/code\u003e\u003c/a\u003e [misc] convert ReadableByteBuf from interface to final class implementation, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/11d45a9e6ea4d942e75747132bb8982471d890b8\"\u003e\u003ccode\u003e11d45a9\u003c/code\u003e\u003c/a\u003e [misc] optimize binary row decoder null bitmap checks and simplify signed Big...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/5aad14c381cbc2c4e0383ffed275306f359bd508\"\u003e\u003ccode\u003e5aad14c\u003c/code\u003e\u003c/a\u003e [misc] optimize BigInt column decoding and improve type safety in codec inter...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb:flyway-mysql` from 11.19.0 to 12.6.2\n\nUpdates `org.projectlombok:lombok` from 1.18.42 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.44 (March 11th, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFEATURE: \u003ccode\u003e@Jacksonized\u003c/code\u003e now supports both Jackson2 and Jackson3; you'll get a warning until you configure which one (or even both!) you want lombok to generate. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3950\"\u003e#3950\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: On JDK25, \u003ccode\u003eval\u003c/code\u003e and \u003ccode\u003e@ExtensionMethod\u003c/code\u003e could sometimes cause erroneous errors (in that you see errors but compilation succeeds anyway) using javac. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3947\"\u003e#3947\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e + fields marked \u003ccode\u003etransient\u003c/code\u003e would result in those transient fields being serialised which is surprising (and thus undesired) behaviour. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3936\"\u003e#3936\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.42...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.pdfbox:pdfbox` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:pdfbox-io` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:xmpbox` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:jbig2-imageio` from 3.0.4 to 3.0.5\n\nUpdates `com.twelvemonkeys.imageio:imageio-jpeg` from 3.13.0 to 3.13.1\n\nUpdates `com.twelvemonkeys.imageio:imageio-tiff` from 3.13.0 to 3.13.1\n\nUpdates `com.twelvemonkeys.imageio:imageio-webp` from 3.13.0 to 3.13.1\n\nUpdates `com.twelvemonkeys.imageio:imageio-bmp` from 3.13.0 to 3.13.1\n\nUpdates `io.documentnode:epub4j-core` from 4.2.2 to 4.2.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/documentnode/epub4j/commit/4bf55082feba0496f98b867ec03ebec5f393b649\"\u003e\u003ccode\u003e4bf5508\u003c/code\u003e\u003c/a\u003e Migrate Maven Central publishing to new Central Portal API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/documentnode/epub4j/commit/b153885ef8aefbe4063a40894c048a5cc2b5a354\"\u003e\u003ccode\u003eb153885\u003c/code\u003e\u003c/a\u003e Load sdkman environment before running gradle commands\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/documentnode/epub4j/compare/v4.2.2...v4.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.junrar:junrar` from 7.5.7 to 7.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.6.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport random access for files in solid RAR4 archives (\u003ca href=\"https://github.com/junrar/junrar/commits/e0874d2\"\u003ee0874d2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🏎 Perf\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereplace RarCRC.checkCrc with java.util.zip.CRC32 (\u003ca href=\"https://github.com/junrar/junrar/commits/5270d23\"\u003e5270d23\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump gradle-wrapper to 9.5.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/cb4b7fd\"\u003ecb4b7fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/0bb56b3\"\u003e0bb56b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/ca621b2\"\u003eca621b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.23.0 to 1.24.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/90f0548\"\u003e90f0548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/83a5d08\"\u003e83a5d08\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.github.ben-manes.versions from 0.53.0 to 0.54.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d5abcdb\"\u003ed5abcdb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated action (\u003ca href=\"https://github.com/junrar/junrar/commits/338efcb\"\u003e338efcb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Gauthier Roebroeck, Robin Schimpf\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier Roebroeck\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.9\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.10...v7.6.0\"\u003e7.6.0\u003c/a\u003e (2026-05-13)\u003c/h1\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport random access for files in solid RAR4 archives (\u003ca href=\"https://github.com/junrar/junrar/commits/e0874d2\"\u003ee0874d2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🏎 Perf\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereplace RarCRC.checkCrc with java.util.zip.CRC32 (\u003ca href=\"https://github.com/junrar/junrar/commits/5270d23\"\u003e5270d23\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump gradle-wrapper to 9.5.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/cb4b7fd\"\u003ecb4b7fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/0bb56b3\"\u003e0bb56b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/ca621b2\"\u003eca621b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.23.0 to 1.24.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/90f0548\"\u003e90f0548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/83a5d08\"\u003e83a5d08\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.github.ben-manes.versions from 0.53.0 to 0.54.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d5abcdb\"\u003ed5abcdb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated action (\u003ca href=\"https://github.com/junrar/junrar/commits/338efcb\"\u003e338efcb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.9...v7.5.10\"\u003e7.5.10\u003c/a\u003e (2026-04-15)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.9\"\u003e7.5.9\u003c/a\u003e (2026-04-13)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/cb4b7fdb84269e95741fa22120e08ceb15a06152\"\u003e\u003ccode\u003ecb4b7fd\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper to 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/0bb56b3df4e3b6d14f73de92746a2eb47dd2d7a3\"\u003e\u003ccode\u003e0bb56b3\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/ca621b22421f9e846df23112b32113230610c8d9\"\u003e\u003ccode\u003eca621b2\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e0874d213832bbeaa8eb265c79479b01b5fa7392\"\u003e\u003ccode\u003ee0874d2\u003c/code\u003e\u003c/a\u003e feat: support random access for files in solid RAR4 archives\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/90f0548c728b0bf2e94f6e26f9e6396d9d0a7262\"\u003e\u003ccode\u003e90f0548\u003c/code\u003e\u003c/a\u003e build(deps): bump org.jreleaser from 1.23.0 to 1.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/83a5d085dc84991226229fef1515cc902d129241\"\u003e\u003ccode\u003e83a5d08\u003c/code\u003e\u003c/a\u003e build(deps): bump commons-io:commons-io from 2.21.0 to 2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/338efcb5472be051989fbafd7179d561c71722eb\"\u003e\u003ccode\u003e338efcb\u003c/code\u003e\u003c/a\u003e ci: replace deprecated action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/5270d235ade54d96dfc9958ab06f495fbbd169e7\"\u003e\u003ccode\u003e5270d23\u003c/code\u003e\u003c/a\u003e perf: replace RarCRC.checkCrc with java.util.zip.CRC32\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d5abcdb9af988ddfa76e98d80787e15525488332\"\u003e\u003ccode\u003ed5abcdb\u003c/code\u003e\u003c/a\u003e build(deps): bump com.github.ben-manes.versions from 0.53.0 to 0.54.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/edadb28896962fdcf754029bafd0994aaff24530\"\u003e\u003ccode\u003eedadb28\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.10 [skip ci]\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.7...v7.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.21.2 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.1\u003c/strong\u003e is out now, adding support for the \u003ccode\u003ere2j\u003c/code\u003e regular expression engine for regex-based CSS selectors, a configurable maximum parser depth, and numerous bug fixes and improvements.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jsoup.org/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for using the \u003ccode\u003ere2j\u003c/code\u003e regular expression engine for regex-based CSS selectors (e.g. \u003ccode\u003e[attr~=regex]\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e), which ensures linear-time performance for regex evaluation. This allows safer handling of arbitrary user-supplied query regexes. To enable, add the \u003ccode\u003ecom.google.re2j\u003c/code\u003e dependency to your classpath, e.g.:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"xml\"\u003e\u003ccode\u003e  \u0026lt;dependency\u0026gt;\r\n    \u0026lt;groupId\u0026gt;com.google.re2j\u0026lt;/groupId\u0026gt;\r\n    \u0026lt;artifactId\u0026gt;re2j\u0026lt;/artifactId\u0026gt;\r\n    \u0026lt;version\u0026gt;1.8\u0026lt;/version\u0026gt;\r\n  \u0026lt;/dependency\u0026gt;\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e(If you already have that dependency in your classpath, but you want to keep using the Java regex engine, you can disable re2j via \u003ccode\u003eSystem.setProperty(\u0026quot;jsoup.useRe2j\u0026quot;, \u0026quot;false\u0026quot;)\u003c/code\u003e.) You can confirm that the re2j engine has been enabled correctly by calling \u003ccode\u003eRegex.usingRe2j()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2407\"\u003e#2407\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.22.1 (2026-Jan-01)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for using the \u003ccode\u003ere2j\u003c/code\u003e regular expression engine for regex-based CSS selectors (e.g. \u003ccode\u003e[attr~=regex]\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e), which ensures linear-time performance for regex evaluation. This allows safer handling of arbitrary user-supplied query regexes. To enable, add the \u003ccode\u003ecom.google.re2j\u003c/code\u003e dependency to your classpath, e.g.:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"xml\"\u003e\u003ccode\u003e  \u0026lt;dependency\u0026gt;\n    \u0026lt;groupId\u0026gt;com.google.re2j\u0026lt;/groupId\u0026gt;\n    \u0026lt;artifactId\u0026gt;re2j\u0026lt;/artifactId\u0026gt;\n    \u0026lt;version\u0026gt;1.8\u0026lt;/version\u0026gt;\n  \u0026lt;/dependency\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e(If you already have that dependency in your classpath, but you want to keep using the Java regex engine, you can disable re2j via \u003ccode\u003eSystem.setProperty(\u0026quot;jsoup.useRe2j\u0026quot;, \u0026quot;false\u0026quot;)\u003c/code\u003e.) You can confirm that the re2j engine has been enabled correctly by calling \u003ccode\u003eorg.jsoup.helper.Regex.usingRe2j()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2407\"\u003e#2407\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an instance method \u003ccode\u003eParser#unescape(String, boolean)\u003c/code\u003e that unescapes HTML entities using the parser's configuration (e.g. to support error tracking), complementing the existing static utility \u003ccode\u003eParser.unescapeEntities(String, boolean)\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2396\"\u003e#2396\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded a configurable maximum parser depth (to limit the number of open elements on stack) to both HTML and XML parsers. The HTML parser now defaults to a depth of 512 to match browser behavior, and protect against unbounded stack growth, while the XML parser keeps unlimited depth by default, but can opt into a limit via \u003ccode\u003eorg.jsoup.parser.Parser#setMaxDepth\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2421\"\u003e#2421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild: added CI coverage for JDK 25 \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2403\"\u003e#2403\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild: added a CI fuzzer for contextual fragment parsing (in addition to existing full body HTML and XML fuzzers). [oss-fuzz \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/14041\"\u003e#14041\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/google/oss-fuzz/pull/14041\"\u003egoogle/oss-fuzz#14041\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSet a removal schedule of jsoup 1.24.1 for previously deprecated APIs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreviously cached child \u003ccode\u003eElements\u003c/code\u003e of an \u003ccode\u003eElement\u003c/code\u003e were not correctly invalidated in \u003ccode\u003eNode#replaceWith(Node)\u003c/code\u003e, which could lead to incorrect results when subsequently calling \u003ccode\u003eElement#children()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2391\"\u003e#2391\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAttribute selector values are now compared literally without trimming. Previously, jsoup trimmed whitespace from selector values and from element attribute values, which could cause mismatches with browser behavior (e.g. \u003ccode\u003e[attr=\u0026quot; foo \u0026quot;]\u003c/code\u003e). Now matches align with the CSS specification and browser engines. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2380\"\u003e#2380\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using the JDK HttpClient, any system default proxy (\u003ccode\u003eProxySelector.getDefault()\u003c/code\u003e) was ignored. Now, the system proxy is used if a per-request proxy is not set. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2388\"\u003e#2388\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2390\"\u003e#2390\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003eValidationException\u003c/code\u003e could be thrown in the adoption agency algorithm with particularly broken input. Now logged as a parse error. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2393\"\u003e#2393\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNull characters in the HTML body were not consistently removed; and in foreign content were not correctly replaced. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2395\"\u003e#2395\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAn \u003ccode\u003eIndexOutOfBoundsException\u003c/code\u003e could be thrown when parsing a body fragment with crafted input. Now logged as a parse error. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2397\"\u003e#2397\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2406\"\u003e#2406\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using StructuralEvaluators (e.g., a \u003ccode\u003eparent child\u003c/code\u003e selector) across many retained threads, their memoized results could also be retained, increasing memory use. These results are now cleared immediately after use, reducing overall memory consumption. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2411\"\u003e#2411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCloning a \u003ccode\u003eParser\u003c/code\u003e now preserves any custom \u003ccode\u003eTagSet\u003c/code\u003e applied to the parser. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2422\"\u003e#2422\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2423\"\u003e#2423\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.21.2...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 2.8.14 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003espringdoc-openapi v3.0.2 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3229\"\u003e#3229\u003c/a\u003e – Add support for Spring Framework API Versioning with Functional Endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3208\"\u003e#3208\u003c/a\u003e – Add \u003ccode\u003espringdoc.swagger-ui.document-title\u003c/code\u003e property\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.3\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.43\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Scalar to version \u003cstrong\u003e0.5.55\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3232\"\u003e#3232\u003c/a\u003e – Gracefully handle springdoc endpoint paths during API version resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3230\"\u003e#3230\u003c/a\u003e – Scalar source URLs resolve to \u003ccode\u003enull/\u0026lt;groupName\u0026gt;\u003c/code\u003e on second request when using \u003ccode\u003eGroupedOpenApi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3228\"\u003e#3228\u003c/a\u003e – springdoc-openapi-starter 3.x doesn't depend on \u003ccode\u003eorg.springframework.boot:spring-boot-starter\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.0.2] - 2026-02-27\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3229\"\u003e#3229\u003c/a\u003e – Add support for Spring Framework API Versioning with Functional Endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3208\"\u003e#3208\u003c/a\u003e – Add \u003ccode\u003espringdoc.swagger-ui.document-title\u003c/code\u003e property\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.3\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.43\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Scalar to version \u003cstrong\u003e0.5.55\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3232\"\u003e#3232\u003c/a\u003e – Gracefully handle springdoc endpoint paths during API version resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3230\"\u003e#3230\u003c/a\u003e – Scalar source URLs resolve to \u003ccode\u003enull/\u0026lt;groupName\u0026gt;\u003c/code\u003e on second request when using \u003ccode\u003eGroupedOpenApi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3228\"\u003e#3228\u003c/a\u003e – springdoc-openapi-starter 3.x doesn't depend on \u003ccode\u003eorg.springframework.boot:spring-boot-starter\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3220\"\u003e#3220\u003c/a\u003e – Reachability metadata not compatible with GraalVM 25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3195\"\u003e#3195\u003c/a\u003e – Application won't compile when OpenApi and spring-boot-data-rest is present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3193\"\u003e#3193\u003c/a\u003e – \u003ccode\u003eOpenApi\u003c/code\u003e field in \u003ccode\u003eSpringDocConfigProperties\u003c/code\u003e does not comply with camel case naming conventions\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v2.8.14...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.tukaani:xz` from 1.11 to 1.12\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tukaani-project/xz-java/blob/master/NEWS.md\"\u003eorg.tukaani:xz's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.12 (2026-03-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix ArrayIndexOutOfBoundsException in the LZMA/LZMA2 encoder on\nx86-64 and ARM64 when running on Java 9 or newer. The affected\ncode isn't used on Java 8. The bug is present in versions 1.10\nand 1.11. If one cannot upgrade, one should set the property\n\u003ccode\u003eorg.tukaani.xz.MatchLengthFinder=Basic\u003c/code\u003e to disable the affected\ncode path.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix ArrayCache usage in LZMAInputStream. If ArrayCache was enabled,\ndecompression was likely to fail quickly when the cache returns a\ncached array. ArrayCache is disabled by default.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe binaries of 1.12 in the Maven Central require Java 8 and\ncontain optimized classes for Java \u0026gt;= 9 as multi-release JAR.\nThey were built with OpenJDK 21.0.10 on GNU/Linux and can be\nreproduced using the following command:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eSOURCE_DATE_EPOCH=1772370000 TZ=UTC0 ant maven\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/107a519fac1e6789101ad9c234afe3dc407be7f5\"\u003e\u003ccode\u003e107a519\u003c/code\u003e\u003c/a\u003e Bump the version number to 1.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/3061152e66a8ea2cc6366fd5da21409b8a3d4788\"\u003e\u003ccode\u003e3061152\u003c/code\u003e\u003c/a\u003e Update NEWS.md for 1.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/0ecee25c1590dae305135317cf6e768f49093af7\"\u003e\u003ccode\u003e0ecee25\u003c/code\u003e\u003c/a\u003e Refactor EXTRA_SIZE to getExtraSize()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/ac1aeb197dd8589dc6892f13f5ef68801383ec34\"\u003e\u003ccode\u003eac1aeb1\u003c/code\u003e\u003c/a\u003e Fix ArrayIndexOutOfBoundsException in the LZMA/LZMA2 encoder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/12c75fd1d06ef7db89335d3da1ca5bb91ab6ac0b\"\u003e\u003ccode\u003e12c75fd\u003c/code\u003e\u003c/a\u003e Fix ArrayCache usage with LZMAInputStream\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/e52d9ad621afcaa422668484bad91ce7ba0506ef\"\u003e\u003ccode\u003ee52d9ad\u003c/code\u003e\u003c/a\u003e SHA256SUMS: Add 1.11 files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tukaani-project/xz-java/commit/9a755ec5335de00ce365b365b72e4683e591171f\"\u003e\u003ccode\u003e9a755ec\u003c/code\u003e\u003c/a\u003e CI: Add missing SPDX tags\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tukaani-project/xz-java/compare/v1.11...v1.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tools.jackson:jackson-bom` from 3.0.4 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/c2ea79e9178f0aaa5e4f381c644140357bfc307e\"\u003e\u003ccode\u003ec2ea79e\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3906b27dcdde8fc6a4fef193147109b70bf2f0dc\"\u003e\u003ccode\u003e3906b27\u003c/code\u003e\u003c/a\u003e Prep for 3.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/b17b616c7dc264cfef26f9dd28eaf54bc40b5c4c\"\u003e\u003ccode\u003eb17b616\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/36cf9995cff15aa3e69786da1d6c52f208fddf8a\"\u003e\u003ccode\u003e36cf999\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0ae1c2ae270dabe8e21700cbcee1c266b54e84f0\"\u003e\u003ccode\u003e0ae1c2a\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3c171ebd5d6c5d8f6e8d4f3614cf9b4f0a8babb9\"\u003e\u003ccode\u003e3c171eb\u003c/code\u003e\u003c/a\u003e Prep for 3.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/8046ced071e0b36747bae0f0a96fa21914de1303\"\u003e\u003ccode\u003e8046ced\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ea00ca4cc59ba656a17a071e30a68387e51d3e0d\"\u003e\u003ccode\u003eea00ca4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0628060381a5b86e3fc07854a27b7453de559b7e\"\u003e\u003ccode\u003e0628060\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/22b8aeec79b87751a41c586404850c526eed1dbe\"\u003e\u003ccode\u003e22b8aee\u003c/code\u003e\u003c/a\u003e Prep for 3.1.1 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-3.0.4...jackson-bom-3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.0 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.2.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed frequency tracking of weak keys to use the object's identity hash code (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1902\"\u003e#1902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for underscores in \u003ccode\u003eCaffeineSpec\u003c/code\u003e when using numeric literals (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1890\"\u003e#1890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved the external api to no longer lock when querying for the maximum size or weighted size (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1897\"\u003e#1897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded detection and recovery when a custom \u003ccode\u003eCompletableFuture\u003c/code\u003e is in an inconsistent state (\u003ca href=\"https://redirect.github.com/quarkusio/quarkus/issues/50513\"\u003equarkus#50513\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.2.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed characteristics returned by Spliterators (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1883\"\u003e#1883\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e for an async cache's synchronous view to retry if incomplete\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eCaffeineSpec\u003c/code\u003e when being reflectively constructed (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1839\"\u003e#1839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved the handling of negative durations with variable expiration\u003c/li\u003e\n\u003cli\u003eFixed intermittent null after replacing a weak/soft value (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1820\"\u003e#1820\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.0...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.assertj:assertj-core` from 3.27.6 to 3.27.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/assertj/assertj/releases\"\u003eorg.assertj:assertj-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.27.7\u003c/h2\u003e\n\u003ch2\u003e:lock: Security\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix XXE vulnerability in \u003ccode\u003eisXmlEqualTo\u003c/code\u003e assertion (CVE-2026-24400)\n\u003cul\u003e\n\u003cli\u003eSee GHSA-rqfh-9r24-8c9r for details; many thanks to \u003ca href=\"https://github.com/wxt201\"\u003e\u003ccode\u003e@​wxt201\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Song-Li\"\u003e\u003ccode\u003e@​Song-Li\u003c/code\u003e\u003c/a\u003e for responsibly reporting it!\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:no_entry_sign: Deprecated\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eXmlStringPrettyFormatter\u003c/code\u003e with no replacement\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:bug: Bug Fixes\u003c/h2\u003e\n\u003ch3\u003eGuava\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNavigation to \u003ccode\u003eassertj-core\u003c/code\u003e or \u003ccode\u003eguava\u003c/code\u003e types from \u003ccode\u003eassertj-guava\u003c/code\u003e Javadoc site has unnecessary header \u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3478\"\u003e#3478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Byte Buddy 1.18.3\u003c/li\u003e\n\u003cli\u003eUpgrade to JUnit BOM 5.14.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eGuava\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Guava 33.5.0-jre\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/e84071667f5f8f13084af9dfa54cee5fd9db18db\"\u003e\u003ccode\u003ee840716\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release assertj-build-3.27.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/85ca7eb6609bb179c043b85ae7d290523b1ba79a\"\u003e\u003ccode\u003e85ca7eb\u003c/code\u003e\u003c/a\u003e Deprecate \u003ccode\u003eXmlStringPrettyFormatter\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/77081dc5eb107141df80f95bd0149b468e451341\"\u003e\u003ccode\u003e77081dc\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/b68fc24a9de28f28a486fc5b887c1b8a003a5823\"\u003e\u003ccode\u003eb68fc24\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.31.9 to 4.31.10 in the github-actions group ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/0cf5bb6c50f6ead3deaa2a2ff50ef1e7d933c8a3\"\u003e\u003ccode\u003e0cf5bb6\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003ekotlin.version\u003c/code\u003e from 2.1.0 to 2.2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/d393ef1f5e48c89d47d7cf6d1eae359ceda0a126\"\u003e\u003ccode\u003ed393ef1\u003c/code\u003e\u003c/a\u003e Abort tests when symbolic links cannot be created (\u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3788\"\u003e#3788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/22124331e9922af5a43ab50f7a9a25b65be53be1\"\u003e\u003ccode\u003e2212433\u003c/code\u003e\u003c/a\u003e Add IntelliJ custom inspection for test class names\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/5717d025cfe0f4c66de20f3253c0b0ecba259aa1\"\u003e\u003ccode\u003e5717d02\u003c/code\u003e\u003c/a\u003e Update JetBrains icon\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/a8ec20bd42ed01f9cc6f654046c7dd424b0af07c\"\u003e\u003ccode\u003ea8ec20b\u003c/code\u003e\u003c/a\u003e Add icon for JetBrains products\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/c05fb3d052b415fb2d6051df939f3b7903a76afe\"\u003e\u003ccode\u003ec05fb3d\u003c/code\u003e\u003c/a\u003e Bump Maven to 3.9.12 and Wrapper to 3.3.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/assertj/assertj/compare/assertj-build-3.27.6...assertj-build-3.27.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 4.0.2 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a...\n\n_Description has been truncated_","html_url":"https://github.com/BlindMint/booklore/pull/15","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlindMint%2Fbooklore/issues/15","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/15/packages"}},{"old_version":"3.2.3","new_version":"3.2.4","update_type":"patch","path":null,"pr_created_at":"2026-05-22T03:12:50.000Z","version_change":"3.2.3 → 3.2.4","issue":{"uuid":"4499518853","node_id":"PR_kwDORprh4c7eL9QV","number":40,"state":"open","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 15 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-22T03:12:50.000Z","updated_at":"2026-05-22T03:17:36.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":15,"packages":[{"name":"org.mariadb.jdbc:mariadb-java-client","old_version":"3.5.7","new_version":"3.5.8","repository_url":"https://github.com/mariadb-corporation/mariadb-connector-j"},{"name":"org.flywaydb:flyway-mysql","old_version":"12.1.1","new_version":"12.6.2"},{"name":"org.projectlombok:lombok","old_version":"1.18.44","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"org.apache.pdfbox:jbig2-imageio","old_version":"3.0.4","new_version":"3.0.5"},{"name":"com.github.RouHim:jaudiotagger","old_version":"2.0.18","new_version":"2.0.21"},{"name":"com.github.junrar:junrar","old_version":"7.5.8","new_version":"7.6.0","repository_url":"https://github.com/junrar/junrar"},{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"4.0.7","new_version":"4.0.8"},{"name":"tools.jackson:jackson-bom","old_version":"3.1.0","new_version":"3.1.3","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"org.springframework.boot","old_version":"4.0.3","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.hibernate.orm","old_version":"7.3.0.Final","new_version":"7.3.5.Final"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"gradle-wrapper","old_version":"9.4.0","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 15 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) | `3.5.7` | `3.5.8` |\n| org.flywaydb:flyway-mysql | `12.1.1` | `12.6.2` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.44` | `1.18.46` |\n| org.apache.pdfbox:jbig2-imageio | `3.0.4` | `3.0.5` |\n| com.github.RouHim:jaudiotagger | `2.0.18` | `2.0.21` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.8` | `7.6.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `3.0.2` | `3.0.3` |\n| org.glassfish.jaxb:jaxb-runtime | `4.0.7` | `4.0.8` |\n| [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `3.1.0` | `3.1.3` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.2.3` | `3.2.4` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.3` | `4.0.6` |\n| org.hibernate.orm | `7.3.0.Final` | `7.3.5.Final` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.0` | `9.5.1` |\n\n\nUpdates `org.mariadb.jdbc:mariadb-java-client` from 3.5.7 to 3.5.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/releases\"\u003eorg.mariadb.jdbc:mariadb-java-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eMariaDB Connector/Java 3.5.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/blob/main/CHANGELOG.md\"\u003eorg.mariadb.jdbc:mariadb-java-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/26b34a2f060070beb73515cfd2a49fabc8728843\"\u003e\u003ccode\u003e26b34a2\u003c/code\u003e\u003c/a\u003e Merge branch 'develop'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/06d6efee7838ab8f89ef0f7f362c6b4a95754630\"\u003e\u003ccode\u003e06d6efe\u003c/code\u003e\u003c/a\u003e bump CI actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a86a83c8fd1fa84d8d4349baab3b29df8f575192\"\u003e\u003ccode\u003ea86a83c\u003c/code\u003e\u003c/a\u003e bump 3.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/975f9919232b21f40d823423eac6e32d87ea8e35\"\u003e\u003ccode\u003e975f991\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to implement Codec directly and extract shared...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/75bb509521661603e0e90dd6dd5942d1382bf499\"\u003e\u003ccode\u003e75bb509\u003c/code\u003e\u003c/a\u003e [misc] code formatting cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/4c0b6a0ddd95f42fa866ce0d08e384caa2553d43\"\u003e\u003ccode\u003e4c0b6a0\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to extend UtilDateCodec and extract common dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a5b7fb1a26277a076052dbbd1a7ee2bacd4f602f\"\u003e\u003ccode\u003ea5b7fb1\u003c/code\u003e\u003c/a\u003e [misc] convert Reader and Writer from interfaces to final class implementatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/d31eb060fc66e9e37479e18a38bb1401d53ecb63\"\u003e\u003ccode\u003ed31eb06\u003c/code\u003e\u003c/a\u003e [misc] convert ReadableByteBuf from interface to final class implementation, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/11d45a9e6ea4d942e75747132bb8982471d890b8\"\u003e\u003ccode\u003e11d45a9\u003c/code\u003e\u003c/a\u003e [misc] optimize binary row decoder null bitmap checks and simplify signed Big...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/5aad14c381cbc2c4e0383ffed275306f359bd508\"\u003e\u003ccode\u003e5aad14c\u003c/code\u003e\u003c/a\u003e [misc] optimize BigInt column decoding and improve type safety in codec inter...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb:flyway-mysql` from 12.1.1 to 12.6.2\n\nUpdates `org.projectlombok:lombok` from 1.18.44 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.44...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.pdfbox:jbig2-imageio` from 3.0.4 to 3.0.5\n\nUpdates `com.github.RouHim:jaudiotagger` from 2.0.18 to 2.0.21\n\nUpdates `com.github.junrar:junrar` from 7.5.8 to 7.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.6.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport random access for files in solid RAR4 archives (\u003ca href=\"https://github.com/junrar/junrar/commits/e0874d2\"\u003ee0874d2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🏎 Perf\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereplace RarCRC.checkCrc with java.util.zip.CRC32 (\u003ca href=\"https://github.com/junrar/junrar/commits/5270d23\"\u003e5270d23\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump gradle-wrapper to 9.5.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/cb4b7fd\"\u003ecb4b7fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/0bb56b3\"\u003e0bb56b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/ca621b2\"\u003eca621b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.23.0 to 1.24.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/90f0548\"\u003e90f0548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/83a5d08\"\u003e83a5d08\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.github.ben-manes.versions from 0.53.0 to 0.54.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d5abcdb\"\u003ed5abcdb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated action (\u003ca href=\"https://github.com/junrar/junrar/commits/338efcb\"\u003e338efcb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Gauthier Roebroeck, Robin Schimpf\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier Roebroeck\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.9\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.10...v7.6.0\"\u003e7.6.0\u003c/a\u003e (2026-05-13)\u003c/h1\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport random access for files in solid RAR4 archives (\u003ca href=\"https://github.com/junrar/junrar/commits/e0874d2\"\u003ee0874d2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🏎 Perf\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereplace RarCRC.checkCrc with java.util.zip.CRC32 (\u003ca href=\"https://github.com/junrar/junrar/commits/5270d23\"\u003e5270d23\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump gradle-wrapper to 9.5.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/cb4b7fd\"\u003ecb4b7fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/0bb56b3\"\u003e0bb56b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/ca621b2\"\u003eca621b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.23.0 to 1.24.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/90f0548\"\u003e90f0548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/83a5d08\"\u003e83a5d08\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.github.ben-manes.versions from 0.53.0 to 0.54.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d5abcdb\"\u003ed5abcdb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated action (\u003ca href=\"https://github.com/junrar/junrar/commits/338efcb\"\u003e338efcb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.9...v7.5.10\"\u003e7.5.10\u003c/a\u003e (2026-04-15)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.9\"\u003e7.5.9\u003c/a\u003e (2026-04-13)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/cb4b7fdb84269e95741fa22120e08ceb15a06152\"\u003e\u003ccode\u003ecb4b7fd\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper to 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/0bb56b3df4e3b6d14f73de92746a2eb47dd2d7a3\"\u003e\u003ccode\u003e0bb56b3\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/ca621b22421f9e846df23112b32113230610c8d9\"\u003e\u003ccode\u003eca621b2\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e0874d213832bbeaa8eb265c79479b01b5fa7392\"\u003e\u003ccode\u003ee0874d2\u003c/code\u003e\u003c/a\u003e feat: support random access for files in solid RAR4 archives\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/90f0548c728b0bf2e94f6e26f9e6396d9d0a7262\"\u003e\u003ccode\u003e90f0548\u003c/code\u003e\u003c/a\u003e build(deps): bump org.jreleaser from 1.23.0 to 1.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/83a5d085dc84991226229fef1515cc902d129241\"\u003e\u003ccode\u003e83a5d08\u003c/code\u003e\u003c/a\u003e build(deps): bump commons-io:commons-io from 2.21.0 to 2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/338efcb5472be051989fbafd7179d561c71722eb\"\u003e\u003ccode\u003e338efcb\u003c/code\u003e\u003c/a\u003e ci: replace deprecated action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/5270d235ade54d96dfc9958ab06f495fbbd169e7\"\u003e\u003ccode\u003e5270d23\u003c/code\u003e\u003c/a\u003e perf: replace RarCRC.checkCrc with java.util.zip.CRC32\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d5abcdb9af988ddfa76e98d80787e15525488332\"\u003e\u003ccode\u003ed5abcdb\u003c/code\u003e\u003c/a\u003e build(deps): bump com.github.ben-manes.versions from 0.53.0 to 0.54.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/edadb28896962fdcf754029bafd0994aaff24530\"\u003e\u003ccode\u003eedadb28\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.10 [skip ci]\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.22.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.22.1...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.glassfish.jaxb:jaxb-runtime` from 4.0.7 to 4.0.8\n\nUpdates `tools.jackson:jackson-bom` from 3.1.0 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/c2ea79e9178f0aaa5e4f381c644140357bfc307e\"\u003e\u003ccode\u003ec2ea79e\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3906b27dcdde8fc6a4fef193147109b70bf2f0dc\"\u003e\u003ccode\u003e3906b27\u003c/code\u003e\u003c/a\u003e Prep for 3.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/b17b616c7dc264cfef26f9dd28eaf54bc40b5c4c\"\u003e\u003ccode\u003eb17b616\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/36cf9995cff15aa3e69786da1d6c52f208fddf8a\"\u003e\u003ccode\u003e36cf999\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0ae1c2ae270dabe8e21700cbcee1c266b54e84f0\"\u003e\u003ccode\u003e0ae1c2a\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3c171ebd5d6c5d8f6e8d4f3614cf9b4f0a8babb9\"\u003e\u003ccode\u003e3c171eb\u003c/code\u003e\u003c/a\u003e Prep for 3.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/8046ced071e0b36747bae0f0a96fa21914de1303\"\u003e\u003ccode\u003e8046ced\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ea00ca4cc59ba656a17a071e30a68387e51d3e0d\"\u003e\u003ccode\u003eea00ca4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0628060381a5b86e3fc07854a27b7453de559b7e\"\u003e\u003ccode\u003e0628060\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/22b8aeec79b87751a41c586404850c526eed1dbe\"\u003e\u003ccode\u003e22b8aee\u003c/code\u003e\u003c/a\u003e Prep for 3.1.1 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-3.1.0...jackson-bom-3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 4.0.3 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnversRevisionRepositoriesRegistrar should reuse \u003ccode\u003e@EnableEnversRepositories\u003c/code\u003e rather than configuring the JPA counterpart \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50039\"\u003e#50039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebFlux Cloud Foundry links endpoint includes query string from received request in resolved links \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50017\"\u003e#50017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImports on a containing test class are ignored when a nested class has imports \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50012\"\u003e#50012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49951\"\u003e#49951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e500 response from env endpoint when supplied pattern is invalid \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49946\"\u003e#49946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49945\"\u003e#49945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP method is lost when configuring excludes in EndpointRequest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49943\"\u003e#49943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor HttpMethod for reactive additional endpoint paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49880\"\u003e#49880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/artemis image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49869\"\u003e#49869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/activemq image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49866\"\u003e#49866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49854\"\u003e#49854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI versioning path strategy should be applied path last as it is not meant to yield \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49800\"\u003e#49800\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs to encourage Java fundamentals for beginners that prefer to learn that way \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50146\"\u003e#50146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP Service Interface Clients still document that API versioning can be configured via properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50126\"\u003e#50126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the observability section of the Lettuce documentation is broken \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50097\"\u003e#50097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJavadoc for StaticResourceLocation.FAVICON doesn't describe icons location \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50085\"\u003e#50085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySamlRelyingPartyConfiguration is missing a Kotlin sample \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50024\"\u003e#50024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect default value for management.httpexchanges.recording.include in configuration metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50019\"\u003e#50019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the Kubernetes documentation when discussing startup probes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50015\"\u003e#50015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in JdbcSessionAutoConfiguration Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49873\"\u003e#49873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify that configuration property default values are not available through the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49851\"\u003e#49851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument the need for Liquibase and Flyway starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49839\"\u003e#49839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKafka documentation refers to deprecated JSON serializer and deserializer classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49826\"\u003e#49826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Elasticsearch Client 9.2.8 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50027\"\u003e#50027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Groovy 5.0.5 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49911\"\u003e#49911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Hibernate 7.2.12.Final \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50134\"\u003e#50134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Jackson Bom 3.1.2 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50051\"\u003e#50051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1\"\u003eJaxen 2.0.1\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50104\"\u003e#50104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5\"\u003eJaybird 6.0.5\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49914\"\u003e#49914\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/8821ad2cd381bb4b9615a61479e1de7305a8ba39\"\u003e\u003ccode\u003e8821ad2\u003c/code\u003e\u003c/a\u003e Release v4.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9e4048a03f17adfe78057a3c4d5b4693305c0ae0\"\u003e\u003ccode\u003e9e4048a\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/20bb11c3984802990572ddbeae8b66885a8f2462\"\u003e\u003ccode\u003e20bb11c\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.15-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/98daa8ea30f39a5b0ca6768b5cbc2dc8698ef4e1\"\u003e\u003ccode\u003e98daa8e\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9dc5aa2863f598a15d3dfa116f4b89249daba7e7\"\u003e\u003ccode\u003e9dc5aa2\u003c/code\u003e\u003c/a\u003e Polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/874f6294b91da18367b8b5ab7b2fad3fa23cfba6\"\u003e\u003ccode\u003e874f629\u003c/code\u003e\u003c/a\u003e Fix default security with actuator but without health\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/e41b3bf731d1134bc18ec1f68ac01e0fe1c54923\"\u003e\u003ccode\u003ee41b3bf\u003c/code\u003e\u003c/a\u003e Enable hostname verification for SSL connections to Elasticsearch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ef8527bb0ef8f564f4f9c57a7be99a7aa96c6ab0\"\u003e\u003ccode\u003eef8527b\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f533a4549c3999aac30cb5830f07dc304933e93d\"\u003e\u003ccode\u003ef533a45\u003c/code\u003e\u003c/a\u003e Do not follow symlinks when writing PID file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4a7bd332b6d19fef1aa4cf28434985f2b03a2e0f\"\u003e\u003ccode\u003e4a7bd33\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.3...v4.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.hibernate.orm` from 7.3.0.Final to 7.3.5.Final\n\nUpdates `com.github.ben-manes.versions` from 0.53.0 to 0.54.0\n\nUpdates `gradle-wrapper` from 9.4.0 to 9.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd78213f09782e62ca4957f9cfd3d90c6c3f1767\"\u003e\u003ccode\u003efd78213\u003c/code\u003e\u003c/a\u003e Update Documentation Infrastructure: Fix scrolling issue in user manual (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37861\"\u003e#37861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7758437128d1c52702786ad719a13ade1b860aa8\"\u003e\u003ccode\u003e7758437\u003c/code\u003e\u003c/a\u003e fix scroll\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2fd605fdcd69fea10570e9eb1343bbd7ca01c9d0\"\u003e\u003ccode\u003e2fd605f\u003c/code\u003e\u003c/a\u003e Only try to run as worker thread in DefaultBuildOperationQueue (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37845\"\u003e#37845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/af6984901238402386ae263d746380504e5f9138\"\u003e\u003ccode\u003eaf69849\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37853\"\u003e#37853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f4d9d03e9bb47d2d17b6d8314fdaa32c3d0b3c1e\"\u003e\u003ccode\u003ef4d9d03\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/01eda3adf40dbe97e81475e813705409dcfe1091\"\u003e\u003ccode\u003e01eda3a\u003c/code\u003e\u003c/a\u003e Address review feedback on worker-lease retry changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7024e15139b2db9df831dd15a8b9e9052acd9a51\"\u003e\u003ccode\u003e7024e15\u003c/code\u003e\u003c/a\u003e Revert enrich file visitor with size info on \u003ccode\u003erelease\u003c/code\u003e branch (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37848\"\u003e#37848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d51476fda21330c037a04b43ec9a93a929d05b87\"\u003e\u003ccode\u003ed51476f\u003c/code\u003e\u003c/a\u003e Fix tryRunAsWorkerThread null-return test to match contract\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/090ebabc5b6f648e01c0269a321d80372fdbfe0f\"\u003e\u003ccode\u003e090ebab\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add getLength() to FilePropertyVisitor.VisitState\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/bceab24677298144860f6919bdcb031e806dbf23\"\u003e\u003ccode\u003ebceab24\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix annotation\u0026quot;\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.0...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/Owemeone/grimmory/pull/40","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Owemeone%2Fgrimmory/issues/40","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/40/packages"}},{"old_version":"3.2.3","new_version":"3.2.4","update_type":"patch","path":null,"pr_created_at":"2026-05-15T03:10:07.000Z","version_change":"3.2.3 → 3.2.4","issue":{"uuid":"4450916105","node_id":"PR_kwDONdNJI87bw5Zk","number":3404,"state":"open","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 8 updates","user":"dependabot[bot]","labels":["dependencies","minor","backend"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-15T03:10:07.000Z","updated_at":"2026-05-15T03:14:55.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":8,"packages":[{"name":"org.flywaydb:flyway-mysql","old_version":"12.5.0","new_version":"12.6.1"},{"name":"com.github.RouHim:jaudiotagger","old_version":"2.0.16","new_version":"2.0.19"},{"name":"com.github.junrar:junrar","old_version":"7.5.10","new_version":"7.6.0","repository_url":"https://github.com/junrar/junrar"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"4.0.7","new_version":"4.0.8"},{"name":"tools.jackson:jackson-bom","old_version":"3.1.2","new_version":"3.1.3","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"org.hibernate.orm","old_version":"7.3.2.Final","new_version":"7.3.4.Final"},{"name":"gradle-wrapper","old_version":"9.5.0","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 8 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| org.flywaydb:flyway-mysql | `12.5.0` | `12.6.1` |\n| com.github.RouHim:jaudiotagger | `2.0.16` | `2.0.19` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.10` | `7.6.0` |\n| org.glassfish.jaxb:jaxb-runtime | `4.0.7` | `4.0.8` |\n| [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `3.1.2` | `3.1.3` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.2.3` | `3.2.4` |\n| org.hibernate.orm | `7.3.2.Final` | `7.3.4.Final` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.5.0` | `9.5.1` |\n\n\nUpdates `org.flywaydb:flyway-mysql` from 12.5.0 to 12.6.1\n\nUpdates `com.github.RouHim:jaudiotagger` from 2.0.16 to 2.0.19\n\nUpdates `com.github.junrar:junrar` from 7.5.10 to 7.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.6.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport random access for files in solid RAR4 archives (\u003ca href=\"https://github.com/junrar/junrar/commits/e0874d2\"\u003ee0874d2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🏎 Perf\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereplace RarCRC.checkCrc with java.util.zip.CRC32 (\u003ca href=\"https://github.com/junrar/junrar/commits/5270d23\"\u003e5270d23\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump gradle-wrapper to 9.5.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/cb4b7fd\"\u003ecb4b7fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/0bb56b3\"\u003e0bb56b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/ca621b2\"\u003eca621b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.23.0 to 1.24.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/90f0548\"\u003e90f0548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/83a5d08\"\u003e83a5d08\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.github.ben-manes.versions from 0.53.0 to 0.54.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d5abcdb\"\u003ed5abcdb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated action (\u003ca href=\"https://github.com/junrar/junrar/commits/338efcb\"\u003e338efcb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Gauthier Roebroeck, Robin Schimpf\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.10...v7.6.0\"\u003e7.6.0\u003c/a\u003e (2026-05-13)\u003c/h1\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003esupport random access for files in solid RAR4 archives (\u003ca href=\"https://github.com/junrar/junrar/commits/e0874d2\"\u003ee0874d2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🏎 Perf\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereplace RarCRC.checkCrc with java.util.zip.CRC32 (\u003ca href=\"https://github.com/junrar/junrar/commits/5270d23\"\u003e5270d23\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump gradle-wrapper to 9.5.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/cb4b7fd\"\u003ecb4b7fd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/0bb56b3\"\u003e0bb56b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/ca621b2\"\u003eca621b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.23.0 to 1.24.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/90f0548\"\u003e90f0548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/83a5d08\"\u003e83a5d08\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.github.ben-manes.versions from 0.53.0 to 0.54.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d5abcdb\"\u003ed5abcdb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eunscoped\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereplace deprecated action (\u003ca href=\"https://github.com/junrar/junrar/commits/338efcb\"\u003e338efcb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/cb4b7fdb84269e95741fa22120e08ceb15a06152\"\u003e\u003ccode\u003ecb4b7fd\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper to 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/0bb56b3df4e3b6d14f73de92746a2eb47dd2d7a3\"\u003e\u003ccode\u003e0bb56b3\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/ca621b22421f9e846df23112b32113230610c8d9\"\u003e\u003ccode\u003eca621b2\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e0874d213832bbeaa8eb265c79479b01b5fa7392\"\u003e\u003ccode\u003ee0874d2\u003c/code\u003e\u003c/a\u003e feat: support random access for files in solid RAR4 archives\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/90f0548c728b0bf2e94f6e26f9e6396d9d0a7262\"\u003e\u003ccode\u003e90f0548\u003c/code\u003e\u003c/a\u003e build(deps): bump org.jreleaser from 1.23.0 to 1.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/83a5d085dc84991226229fef1515cc902d129241\"\u003e\u003ccode\u003e83a5d08\u003c/code\u003e\u003c/a\u003e build(deps): bump commons-io:commons-io from 2.21.0 to 2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/338efcb5472be051989fbafd7179d561c71722eb\"\u003e\u003ccode\u003e338efcb\u003c/code\u003e\u003c/a\u003e ci: replace deprecated action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/5270d235ade54d96dfc9958ab06f495fbbd169e7\"\u003e\u003ccode\u003e5270d23\u003c/code\u003e\u003c/a\u003e perf: replace RarCRC.checkCrc with java.util.zip.CRC32\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d5abcdb9af988ddfa76e98d80787e15525488332\"\u003e\u003ccode\u003ed5abcdb\u003c/code\u003e\u003c/a\u003e build(deps): bump com.github.ben-manes.versions from 0.53.0 to 0.54.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/edadb28896962fdcf754029bafd0994aaff24530\"\u003e\u003ccode\u003eedadb28\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.10 [skip ci]\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.10...v7.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.glassfish.jaxb:jaxb-runtime` from 4.0.7 to 4.0.8\n\nUpdates `tools.jackson:jackson-bom` from 3.1.2 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/c2ea79e9178f0aaa5e4f381c644140357bfc307e\"\u003e\u003ccode\u003ec2ea79e\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3906b27dcdde8fc6a4fef193147109b70bf2f0dc\"\u003e\u003ccode\u003e3906b27\u003c/code\u003e\u003c/a\u003e Prep for 3.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/b17b616c7dc264cfef26f9dd28eaf54bc40b5c4c\"\u003e\u003ccode\u003eb17b616\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/36cf9995cff15aa3e69786da1d6c52f208fddf8a\"\u003e\u003ccode\u003e36cf999\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-3.1.2...jackson-bom-3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.hibernate.orm` from 7.3.2.Final to 7.3.4.Final\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\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/booklore-app/booklore/pull/3404","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/booklore-app%2Fbooklore/issues/3404","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3404/packages"}},{"old_version":"3.2.3","new_version":"3.2.4","update_type":"patch","path":null,"pr_created_at":"2026-05-09T07:42:37.000Z","version_change":"3.2.3 → 3.2.4","issue":{"uuid":"4411731466","node_id":"PR_kwDOKOpASc7Zzt2_","number":159,"state":"closed","title":"[main]: bump com.github.ben-manes.caffeine:caffeine from 3.2.3 to 3.2.4","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-09T07:44:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-09T07:42:37.000Z","updated_at":"2026-05-09T07:44:59.000Z","time_to_close":133,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"[main]","packages":[{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"}],"path":null,"ecosystem":"maven"},"body":"Bumps [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) from 3.2.3 to 3.2.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.github.ben-manes.caffeine:caffeine\u0026package-manager=gradle\u0026previous-version=3.2.3\u0026new-version=3.2.4)](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/porturl/porturl-backend/pull/159","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/porturl%2Fporturl-backend/issues/159","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/159/packages"}},{"old_version":"3.2.3","new_version":"3.2.4","update_type":"patch","path":null,"pr_created_at":"2026-05-09T04:56:42.000Z","version_change":"3.2.3 → 3.2.4","issue":{"uuid":"4411219491","node_id":"PR_kwDOJFOFaM7ZyDSh","number":881,"state":"open","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 11 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-09T04:56:42.000Z","updated_at":"2026-05-09T04:57:19.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":11,"packages":[{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"},{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"org.apache.logging.log4j:log4j-slf4j2-impl","old_version":"2.25.4","new_version":"2.26.0"},{"name":"org.apache.logging.log4j:log4j-core","old_version":"2.25.4","new_version":"2.26.0"},{"name":"org.jline:jline-reader","old_version":"4.0.12","new_version":"4.1.0","repository_url":"https://github.com/jline/jline3"},{"name":"com.palantir.javapoet:javapoet","old_version":"0.14.0","new_version":"0.15.0","repository_url":"https://github.com/palantir/javapoet"},{"name":"io.netty:netty-transport-classes-epoll","old_version":"4.2.12.Final","new_version":"4.2.13.Final","repository_url":"https://github.com/netty/netty"},{"name":"io.netty:netty-transport-classes-kqueue","old_version":"4.2.12.Final","new_version":"4.2.13.Final","repository_url":"https://github.com/netty/netty"},{"name":"com.github.oshi:oshi-core","old_version":"6.12.0","new_version":"7.1.0","repository_url":"https://github.com/oshi/oshi"},{"name":"com.jetbrains.intellij.java:java-gui-forms-rt","old_version":"261.23567.143","new_version":"261.23567.174","repository_url":"https://github.com/JetBrains/intellij-community"},{"name":"io.sentry:sentry-log4j2","old_version":"8.40.0","new_version":"8.41.0","repository_url":"https://github.com/getsentry/sentry-java"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 11 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.0` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.2.3` | `3.2.4` |\n| org.apache.logging.log4j:log4j-slf4j2-impl | `2.25.4` | `2.26.0` |\n| org.apache.logging.log4j:log4j-core | `2.25.4` | `2.26.0` |\n| [org.jline:jline-reader](https://github.com/jline/jline3) | `4.0.12` | `4.1.0` |\n| [com.palantir.javapoet:javapoet](https://github.com/palantir/javapoet) | `0.14.0` | `0.15.0` |\n| [io.netty:netty-transport-classes-epoll](https://github.com/netty/netty) | `4.2.12.Final` | `4.2.13.Final` |\n| [io.netty:netty-transport-classes-kqueue](https://github.com/netty/netty) | `4.2.12.Final` | `4.2.13.Final` |\n| [com.github.oshi:oshi-core](https://github.com/oshi/oshi) | `6.12.0` | `7.1.0` |\n| [com.jetbrains.intellij.java:java-gui-forms-rt](https://github.com/JetBrains/intellij-community) | `261.23567.143` | `261.23567.174` |\n| [io.sentry:sentry-log4j2](https://github.com/getsentry/sentry-java) | `8.40.0` | `8.41.0` |\n\n\nUpdates `gradle-wrapper` from 9.4.1 to 9.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.0/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.0 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0 RC4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/3fe117d68f3907790f3809f121aa36303a9151f8\"\u003e\u003ccode\u003e3fe117d\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37703\"\u003e#37703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/33d145af6fbe7cf7c9d84646b6d7f32fea91d5e2\"\u003e\u003ccode\u003e33d145a\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7a05d1ed48442eb5da4d6e2b6593da55cdec1da\"\u003e\u003ccode\u003ef7a05d1\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37654\"\u003e#37654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/266facdcbcb0b4c60120cc118eaf0f652bfcdfe5\"\u003e\u003ccode\u003e266facd\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0ad6dd8e143455707e444aa7e3d38327a3366513\"\u003e\u003ccode\u003e0ad6dd8\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37646\"\u003e#37646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/966025d5850d46c9158a2f25e4096222277ecf57\"\u003e\u003ccode\u003e966025d\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e7455734449e422accebf44cf7b31bf93e3a770c\"\u003e\u003ccode\u003ee745573\u003c/code\u003e\u003c/a\u003e Polish IP docs (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37642\"\u003e#37642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d5cfd079acd2c8f1182edd6ec23dbab571132d0a\"\u003e\u003ccode\u003ed5cfd07\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37629\"\u003e#37629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/acdf0c36fa13ba09a7ff5b51f79b9af4b1a097ee\"\u003e\u003ccode\u003eacdf0c3\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7d0e4f6f7896426a8b24091388e4c252b62faef\"\u003e\u003ccode\u003ef7d0e4f\u003c/code\u003e\u003c/a\u003e Rename anchor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.1...v9.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.logging.log4j:log4j-slf4j2-impl` from 2.25.4 to 2.26.0\n\nUpdates `org.apache.logging.log4j:log4j-core` from 2.25.4 to 2.26.0\n\nUpdates `org.apache.logging.log4j:log4j-core` from 2.25.4 to 2.26.0\n\nUpdates `org.jline:jline-reader` from 4.0.12 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/jline/jline3/releases\"\u003eorg.jline:jline-reader's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eJLine 4.1.0\u003c/h2\u003e\n\u003cp\u003eJLine 4.1 is the first minor release of the 4.x series, bringing new features, significant performance improvements, internal refactoring, and many bug fixes across terminal handling, encoding, and platform support.\u003c/p\u003e\n\u003cp\u003eHighlights include streaming pipes with concurrent pipeline execution, a new \u003ccode\u003eSized\u003c/code\u003e interface for uniform terminal size access, optimized display rendering with direct byte buffers, modernized signal handling via Panama FFM \u003ccode\u003esigaction()\u003c/code\u003e, and a comprehensive overhaul of termios constant mappings across all supported platforms.\u003c/p\u003e\n\u003ch2\u003e🚀 New features and improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003erefactor: introduce Sized interface and Size.of() factory methods (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1731\"\u003e#1731\u003c/a\u003e) \u003ca href=\"https://github.com/Elec332\"\u003e\u003ccode\u003e@​Elec332\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Added UnknownCommandException for Shell module (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1780\"\u003e#1780\u003c/a\u003e) \u003ca href=\"https://github.com/Elec332\"\u003e\u003ccode\u003e@​Elec332\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: bulk read for NonBlockingPumpInputStream (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1778\"\u003e#1778\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add filterable(boolean) option to list and checkbox prompts (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1784\"\u003e#1784\u003c/a\u003e) \u003ca href=\"https://github.com/ingokegel\"\u003e\u003ccode\u003e@​ingokegel\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Deduplicate AttributedCharSequence#emitStyleChange. (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1788\"\u003e#1788\u003c/a\u003e) \u003ca href=\"https://github.com/Elec332\"\u003e\u003ccode\u003e@​Elec332\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf: optimize Display.update for minimal allocation and output bytes (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1785\"\u003e#1785\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: streaming pipes with concurrent pipeline execution (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1777\"\u003e#1777\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: optimize output rendering with direct byte buffer (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1749\"\u003e#1749\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: modernize signal handling via Panama FFM sigaction() (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1750\"\u003e#1750\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add /dev/tty fallback for terminals with piped streams (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1728\"\u003e#1728\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\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 status bar duplication after vertical resize (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1860\"\u003e#1860\u003c/a\u003e) \u003ca href=\"https://github.com/Abdelilah-AIT-HAMOU\"\u003e\u003ccode\u003e@​Abdelilah-AIT-HAMOU\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: remove proactive isNativeAccessEnabled() checks from terminal providers (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1859\"\u003e#1859\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: prevent DA response bytes from leaking to parent shell (\u003ca href=\"https://redirect.github.com/jline/jline3/issues/1856\"\u003e#1856\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1857\"\u003e#1857\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: correct inverted bounds check in readBuffered methods (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1853\"\u003e#1853\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: wire up unmapped termios constants in JNI and FFM providers (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1838\"\u003e#1838\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: correct Solaris termios constants from octal to proper hex (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1837\"\u003e#1837\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: correct FreeBSD PENDIN and NOFLSH termios constants (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1834\"\u003e#1834\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: correct Linux PENDIN termios constant (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1835\"\u003e#1835\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add missing CDTR_IFLOW readback in OsX toAttributes (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1836\"\u003e#1836\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: replace Thread.sleep() with synchronization in TmuxEncodingTest (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1827\"\u003e#1827\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add VT100 response feedback to SwingTerminal and WebTerminal (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1824\"\u003e#1824\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: use console encoding instead of default charset in Tmux (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1826\"\u003e#1826\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: tail -n counts lines correctly when input lacks trailing newline (fixes \u003ca href=\"https://redirect.github.com/jline/jline3/issues/1787\"\u003e#1787\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1823\"\u003e#1823\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: use terminal encoding instead of default charset in VirtualTerminal (fixes \u003ca href=\"https://redirect.github.com/jline/jline3/issues/1821\"\u003e#1821\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1822\"\u003e#1822\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: close terminal in PromptBuilderTest to prevent resource leak (fixes \u003ca href=\"https://redirect.github.com/jline/jline3/issues/1810\"\u003e#1810\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1820\"\u003e#1820\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: resolve redirect targets against session working directory (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1781\"\u003e#1781\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: erase probe emoji after grapheme cluster width detection (fixes \u003ca href=\"https://redirect.github.com/jline/jline3/issues/1801\"\u003e#1801\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1770\"\u003e#1770\u003c/a\u003e) \u003ca href=\"https://github.com/ingokegel\"\u003e\u003ccode\u003e@​ingokegel\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: close PTY streams before shutdown to prevent hang on macOS (fixes \u003ca href=\"https://redirect.github.com/jline/jline3/issues/1808\"\u003e#1808\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1817\"\u003e#1817\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: register all FFM foreign function signatures for GraalVM native-image (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1802\"\u003e#1802\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: close terminals properly in tests (fixes \u003ca href=\"https://redirect.github.com/jline/jline3/issues/1806\"\u003e#1806\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1814\"\u003e#1814\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: deprecate SwingTerminal.dispose() in favor of close() (fixes \u003ca href=\"https://redirect.github.com/jline/jline3/issues/1805\"\u003e#1805\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1811\"\u003e#1811\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: avoid NPE when closing terminal with null masterOutput (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1813\"\u003e#1813\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Fix AttributedStyle color chaining (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1792\"\u003e#1792\u003c/a\u003e) \u003ca href=\"https://github.com/Elec332\"\u003e\u003ccode\u003e@​Elec332\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: remove spurious (short) casts in Size setters (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1791\"\u003e#1791\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: move Terminal parameter to first position in columnSubSequence and columnSplitLength (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1790\"\u003e#1790\u003c/a\u003e) \u003ca href=\"https://github.com/gnodet\"\u003e\u003ccode\u003e@​gnodet\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: compiler error in ScreenTerminal.dump() (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1773\"\u003e#1773\u003c/a\u003e) \u003ca href=\"https://github.com/Elec332\"\u003e\u003ccode\u003e@​Elec332\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\u003echore: Bump actions/upload-pages-artifact from 4 to 5 (\u003ca href=\"https://redirect.github.com/jline/jline3/pull/1783\"\u003e#1783\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/jline/jline3/commit/bdec53e8a5fcfd51d4bc104c9ecb05cc9a082623\"\u003e\u003ccode\u003ebdec53e\u003c/code\u003e\u003c/a\u003e chore: fix release-drafter config for 4.x branches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jline/jline3/commit/2af04cf6d2a2250e1dabe85726c969e40e80a501\"\u003e\u003ccode\u003e2af04cf\u003c/code\u003e\u003c/a\u003e refactor: introduce Sized interface and Size.of() factory methods (\u003ca href=\"https://redirect.github.com/jline/jline3/issues/1731\"\u003e#1731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jline/jline3/commit/5ef0aabc4bd0e6f75528a62f0437bd621a1ab341\"\u003e\u003ccode\u003e5ef0aab\u003c/code\u003e\u003c/a\u003e fix: status bar duplication after vertical resize (\u003ca href=\"https://redirect.github.com/jline/jline3/issues/1860\"\u003e#1860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jline/jline3/commit/6141618a675884d95bc3b4be20f185483f526752\"\u003e\u003ccode\u003e6141618\u003c/code\u003e\u003c/a\u003e fix: remove proactive isNativeAccessEnabled() checks from terminal providers ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jline/jline3/commit/78189279a0d35356148b0b32ffd0f1d57aedce03\"\u003e\u003ccode\u003e7818927\u003c/code\u003e\u003c/a\u003e refactor: unify terminal probe response handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jline/jline3/commit/8a6a1d3d09aeea35bcd9a309217be3da53538fde\"\u003e\u003ccode\u003e8a6a1d3\u003c/code\u003e\u003c/a\u003e fix: prevent DA response bytes from leaking to parent shell (\u003ca href=\"https://redirect.github.com/jline/jline3/issues/1856\"\u003e#1856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jline/jline3/commit/0d19e52f9df5f7a87c9b89bfa33ebb2eddc7ab61\"\u003e\u003ccode\u003e0d19e52\u003c/code\u003e\u003c/a\u003e - Added UnknownCommandException (\u003ca href=\"https://redirect.github.com/jline/jline3/issues/1780\"\u003e#1780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jline/jline3/commit/0703cc029181bd95229a9ab673836b7e5a6e5b69\"\u003e\u003ccode\u003e0703cc0\u003c/code\u003e\u003c/a\u003e feat: bulk read(byte[], int, int) for NonBlockingPumpInputStream (\u003ca href=\"https://redirect.github.com/jline/jline3/issues/1776\"\u003e#1776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jline/jline3/commit/83257409e7262f87d6d94cdb7f7dd7a632d5fbae\"\u003e\u003ccode\u003e8325740\u003c/code\u003e\u003c/a\u003e fix: use maven.multiModuleProjectDirectory for test-jar path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jline/jline3/commit/b2e362a49d01ef49395e9c1e22d2c0a8521c2427\"\u003e\u003ccode\u003eb2e362a\u003c/code\u003e\u003c/a\u003e fix: deduplicate ReaderTestSupport between reader and builtins (\u003ca href=\"https://redirect.github.com/jline/jline3/issues/1807\"\u003e#1807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jline/jline3/compare/4.0.12...4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.palantir.javapoet:javapoet` from 0.14.0 to 0.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/palantir/javapoet/releases\"\u003ecom.palantir.javapoet:javapoet's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNo documented user-facing changes\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/palantir/javapoet/compare/0.14.0...0.15.0\"\u003e0.14.0...0.15.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/palantir/javapoet/commit/5420808534db11149a99c999e0421ab9e7b715be\"\u003e\u003ccode\u003e5420808\u003c/code\u003e\u003c/a\u003e Release 0.15.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/palantir/javapoet/commit/3ac52ca72fdba8da2265ee7b529bc7b0b2fe780b\"\u003e\u003ccode\u003e3ac52ca\u003c/code\u003e\u003c/a\u003e [High Priority] Excavator:  Upgrade baseline-error-prone (\u003ca href=\"https://redirect.github.com/palantir/javapoet/issues/448\"\u003e#448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/palantir/javapoet/commit/49b36231349e912399527467d3452733befa98bd\"\u003e\u003ccode\u003e49b3623\u003c/code\u003e\u003c/a\u003e Excavator:  Upgrades Baseline to the latest version (\u003ca href=\"https://redirect.github.com/palantir/javapoet/issues/447\"\u003e#447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/palantir/javapoet/commit/75a185b180b056399cb493555ce58a1a18a5002c\"\u003e\u003ccode\u003e75a185b\u003c/code\u003e\u003c/a\u003e Excavator:  Upgrade com.google.guava:guava to 33.6.0-jre (\u003ca href=\"https://redirect.github.com/palantir/javapoet/issues/445\"\u003e#445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/palantir/javapoet/commit/b4b90a6caca0f11707bb4583ce05777a3dd28b48\"\u003e\u003ccode\u003eb4b90a6\u003c/code\u003e\u003c/a\u003e Excavator:  Upgrade com.google.guava:guava to 33.6.0-jre (\u003ca href=\"https://redirect.github.com/palantir/javapoet/issues/444\"\u003e#444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/palantir/javapoet/commit/87d41f1abb4cd991022cd28235ad73a88041e3fb\"\u003e\u003ccode\u003e87d41f1\u003c/code\u003e\u003c/a\u003e [High Priority] Excavator:  Upgrade baseline-error-prone (\u003ca href=\"https://redirect.github.com/palantir/javapoet/issues/443\"\u003e#443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/palantir/javapoet/compare/0.14.0...0.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.netty:netty-transport-classes-epoll` from 4.2.12.Final to 4.2.13.Final\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/netty/netty/releases\"\u003eio.netty:netty-transport-classes-epoll's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003enetty-4.2.13.Final\u003c/h2\u003e\n\u003ch2\u003eCVEs Fixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-rgrr-p7gp-5xj7\"\u003eCVE-2026-42586\u003c/a\u003e (netty-codec-redis)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-45q3-82m4-75jr\"\u003eCVE-2026-42578\u003c/a\u003e (netty-handler-proxy)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-rwm7-x88c-3g2p\"\u003eCVE-2026-42577\u003c/a\u003e (netty-transport-native-epoll)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-f6hv-jmp6-3vwv\"\u003eCVE-2026-42587\u003c/a\u003e (netty-codec-http, netty-codec-http2)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-v8h7-rr48-vmmv\"\u003eCVE-2026-41417\u003c/a\u003e (netty-codec-http)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-xxqh-mfjm-7mv9\"\u003eCVE-2026-42581\u003c/a\u003e (netty-codec-http)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-m4cv-j2px-7723\"\u003eCVE-2026-42580\u003c/a\u003e (netty-codec-http)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-38f8-5428-x5cv\"\u003eCVE-2026-42585\u003c/a\u003e (netty-codec-http)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-cm33-6792-r9fm\"\u003eCVE-2026-42579\u003c/a\u003e (netty-codec-dns)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-2c5c-chwr-9hqw\"\u003eCVE-2026-42582\u003c/a\u003e (netty-codec-http3)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-mj4r-2hfc-f8p6\"\u003eCVE-2026-42583\u003c/a\u003e (netty-codec, netty-codec-compression)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-57rv-r2g8-2cj3\"\u003eCVE-2026-42584\u003c/a\u003e (netty-codec-http)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-jfg9-48mv-9qgx\"\u003eCVE-2026-44248\u003c/a\u003e (netty-codec-mqtt)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKqueue: sendfile EINTR doesn't advance offset — data duplication by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16544\"\u003enetty/netty#16544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace usage of strerror with thread-safe alternative by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16547\"\u003enetty/netty#16547\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix implementation of strerror_r_xsi for GNU by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16546\"\u003enetty/netty#16546\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazy init ArrayList in DefaultHeaders.getAll by \u003ca href=\"https://github.com/doom369\"\u003e\u003ccode\u003e@​doom369\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16526\"\u003enetty/netty#16526\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLess logging in AWS-LC build by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16565\"\u003enetty/netty#16565\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the CRYPTO_BUFFER_POOL is also freed when we fail creating the SSLContext by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16545\"\u003enetty/netty#16545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-port 4.2: Fix IndexOutOfBoundsException in StompSubframeDecoder on heartbeat by \u003ca href=\"https://github.com/netty-project-bot\"\u003e\u003ccode\u003e@​netty-project-bot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16543\"\u003enetty/netty#16543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid leak in PemReader on OutOfDirectMemoryError by \u003ca href=\"https://github.com/raipc\"\u003e\u003ccode\u003e@​raipc\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16551\"\u003enetty/netty#16551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIoUring: Disable test while we debug to unblock other builds by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16581\"\u003enetty/netty#16581\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInclude user properties and subscription IDs in MqttProperties#isEmpty by \u003ca href=\"https://github.com/ShadowySpirits\"\u003e\u003ccode\u003e@​ShadowySpirits\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16575\"\u003enetty/netty#16575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNative DNS resolver: Guard against malloc failures by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16559\"\u003enetty/netty#16559\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-port 4.2: Increase timeouts for QuicChannelConnectTest by \u003ca href=\"https://github.com/netty-project-bot\"\u003e\u003ccode\u003e@​netty-project-bot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16578\"\u003enetty/netty#16578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix parsing HTTP chunks with multiple extensions by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16579\"\u003enetty/netty#16579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.plexus:plexus-utils from 3.4.2 to 4.0.3 in /codec-native-quic 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/netty/netty/pull/16572\"\u003enetty/netty#16572\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert to PR build to Ubuntu 22.04  by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16595\"\u003enetty/netty#16595\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNative transports: Correctly create pipe when pipe2 is not supported by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16592\"\u003enetty/netty#16592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEpoll: Cleanup code to always return negative value on failure by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16591\"\u003enetty/netty#16591\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix component search fast path by \u003ca href=\"https://github.com/yawkat\"\u003e\u003ccode\u003e@​yawkat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16548\"\u003enetty/netty#16548\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize read-only toStringMultipleThreads1 by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16608\"\u003enetty/netty#16608\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize more AbstractByteBufTests by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16611\"\u003enetty/netty#16611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove note about needing 256-bit for PQC by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16605\"\u003enetty/netty#16605\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize testSessionInvalidate for Conscrypt by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16615\"\u003enetty/netty#16615\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eQuic: Correctly handle SSL_CTX_new failures by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16622\"\u003enetty/netty#16622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake LocalIoHandle public by \u003ca href=\"https://github.com/rdicroce\"\u003e\u003ccode\u003e@​rdicroce\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16621\"\u003enetty/netty#16621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eQuic: Fix shadowing of variable which leads to incorrectly handling errors by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16623\"\u003enetty/netty#16623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-port 4.2: Use stream error for maxContentLength exceeded in InboundHttp2ToHttpAdapter by \u003ca href=\"https://github.com/netty-project-bot\"\u003e\u003ccode\u003e@​netty-project-bot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16629\"\u003enetty/netty#16629\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eshutdownInput\u003c/code\u003e bug in kqueue for empty recv buffer by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16630\"\u003enetty/netty#16630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix FFM address semantics in directBufferAddress by \u003ca href=\"https://github.com/dreamlike-ocean\"\u003e\u003ccode\u003e@​dreamlike-ocean\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16603\"\u003enetty/netty#16603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP2: Ensure HTTP2 preface is always send as first message by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16636\"\u003enetty/netty#16636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove Http2FrameCodecSubClassTest to correct package by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16640\"\u003enetty/netty#16640\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKqueue: Fix usage of LOCAL_PEERPID by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16637\"\u003enetty/netty#16637\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid ArrayQueue allocation in HttpServerCodec by \u003ca href=\"https://github.com/doom369\"\u003e\u003ccode\u003e@​doom369\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16596\"\u003enetty/netty#16596\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix file descriptor reuse bug in kqueue by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16650\"\u003enetty/netty#16650\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/netty/netty/commit/b3844c8108b42f68d56144b36d4d1ed96078a688\"\u003e\u003ccode\u003eb3844c8\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release netty-4.2.13.Final\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/82f47fa53571d04d8add02e3a01762cebd139a00\"\u003e\u003ccode\u003e82f47fa\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/ada0999ae6a011c787203108c8d987e0bc25b82d\"\u003e\u003ccode\u003eada0999\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/b4051e230e2fd349892f3739d6770b006c1d7528\"\u003e\u003ccode\u003eb4051e2\u003c/code\u003e\u003c/a\u003e Fix BrotliDecoder not forwarding all decompressed chunks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/67207c19218d7962f772af234f89de4424c7cf07\"\u003e\u003ccode\u003e67207c1\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/541ca7c645b8bd04901b54136b745622be289d19\"\u003e\u003ccode\u003e541ca7c\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/943edb361423eee5574b636a8c2bf6baf5cb2464\"\u003e\u003ccode\u003e943edb3\u003c/code\u003e\u003c/a\u003e Fix codec-dns tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/6459a284e6653c90fe4b15c0e8516d8302b1cd0e\"\u003e\u003ccode\u003e6459a28\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/b4ba61bd9059156cc9dcece7a81ea389efe571c2\"\u003e\u003ccode\u003eb4ba61b\u003c/code\u003e\u003c/a\u003e Fix checkstyle in HttpObjectDecoder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/977661f71f7511ad68ca17cabd7b5185efb978f4\"\u003e\u003ccode\u003e977661f\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/netty/netty/compare/netty-4.2.12.Final...netty-4.2.13.Final\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.netty:netty-transport-classes-kqueue` from 4.2.12.Final to 4.2.13.Final\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/netty/netty/releases\"\u003eio.netty:netty-transport-classes-kqueue's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003enetty-4.2.13.Final\u003c/h2\u003e\n\u003ch2\u003eCVEs Fixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-rgrr-p7gp-5xj7\"\u003eCVE-2026-42586\u003c/a\u003e (netty-codec-redis)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-45q3-82m4-75jr\"\u003eCVE-2026-42578\u003c/a\u003e (netty-handler-proxy)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-rwm7-x88c-3g2p\"\u003eCVE-2026-42577\u003c/a\u003e (netty-transport-native-epoll)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-f6hv-jmp6-3vwv\"\u003eCVE-2026-42587\u003c/a\u003e (netty-codec-http, netty-codec-http2)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-v8h7-rr48-vmmv\"\u003eCVE-2026-41417\u003c/a\u003e (netty-codec-http)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-xxqh-mfjm-7mv9\"\u003eCVE-2026-42581\u003c/a\u003e (netty-codec-http)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-m4cv-j2px-7723\"\u003eCVE-2026-42580\u003c/a\u003e (netty-codec-http)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-38f8-5428-x5cv\"\u003eCVE-2026-42585\u003c/a\u003e (netty-codec-http)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-cm33-6792-r9fm\"\u003eCVE-2026-42579\u003c/a\u003e (netty-codec-dns)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-2c5c-chwr-9hqw\"\u003eCVE-2026-42582\u003c/a\u003e (netty-codec-http3)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-mj4r-2hfc-f8p6\"\u003eCVE-2026-42583\u003c/a\u003e (netty-codec, netty-codec-compression)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-57rv-r2g8-2cj3\"\u003eCVE-2026-42584\u003c/a\u003e (netty-codec-http)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-jfg9-48mv-9qgx\"\u003eCVE-2026-44248\u003c/a\u003e (netty-codec-mqtt)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKqueue: sendfile EINTR doesn't advance offset — data duplication by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16544\"\u003enetty/netty#16544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace usage of strerror with thread-safe alternative by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16547\"\u003enetty/netty#16547\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix implementation of strerror_r_xsi for GNU by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16546\"\u003enetty/netty#16546\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazy init ArrayList in DefaultHeaders.getAll by \u003ca href=\"https://github.com/doom369\"\u003e\u003ccode\u003e@​doom369\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16526\"\u003enetty/netty#16526\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLess logging in AWS-LC build by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16565\"\u003enetty/netty#16565\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the CRYPTO_BUFFER_POOL is also freed when we fail creating the SSLContext by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16545\"\u003enetty/netty#16545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-port 4.2: Fix IndexOutOfBoundsException in StompSubframeDecoder on heartbeat by \u003ca href=\"https://github.com/netty-project-bot\"\u003e\u003ccode\u003e@​netty-project-bot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16543\"\u003enetty/netty#16543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid leak in PemReader on OutOfDirectMemoryError by \u003ca href=\"https://github.com/raipc\"\u003e\u003ccode\u003e@​raipc\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16551\"\u003enetty/netty#16551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIoUring: Disable test while we debug to unblock other builds by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16581\"\u003enetty/netty#16581\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInclude user properties and subscription IDs in MqttProperties#isEmpty by \u003ca href=\"https://github.com/ShadowySpirits\"\u003e\u003ccode\u003e@​ShadowySpirits\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16575\"\u003enetty/netty#16575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNative DNS resolver: Guard against malloc failures by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16559\"\u003enetty/netty#16559\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-port 4.2: Increase timeouts for QuicChannelConnectTest by \u003ca href=\"https://github.com/netty-project-bot\"\u003e\u003ccode\u003e@​netty-project-bot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16578\"\u003enetty/netty#16578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix parsing HTTP chunks with multiple extensions by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16579\"\u003enetty/netty#16579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.plexus:plexus-utils from 3.4.2 to 4.0.3 in /codec-native-quic 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/netty/netty/pull/16572\"\u003enetty/netty#16572\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert to PR build to Ubuntu 22.04  by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16595\"\u003enetty/netty#16595\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNative transports: Correctly create pipe when pipe2 is not supported by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16592\"\u003enetty/netty#16592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEpoll: Cleanup code to always return negative value on failure by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16591\"\u003enetty/netty#16591\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix component search fast path by \u003ca href=\"https://github.com/yawkat\"\u003e\u003ccode\u003e@​yawkat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16548\"\u003enetty/netty#16548\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize read-only toStringMultipleThreads1 by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16608\"\u003enetty/netty#16608\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize more AbstractByteBufTests by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16611\"\u003enetty/netty#16611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove note about needing 256-bit for PQC by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16605\"\u003enetty/netty#16605\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize testSessionInvalidate for Conscrypt by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16615\"\u003enetty/netty#16615\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eQuic: Correctly handle SSL_CTX_new failures by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16622\"\u003enetty/netty#16622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake LocalIoHandle public by \u003ca href=\"https://github.com/rdicroce\"\u003e\u003ccode\u003e@​rdicroce\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16621\"\u003enetty/netty#16621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eQuic: Fix shadowing of variable which leads to incorrectly handling errors by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16623\"\u003enetty/netty#16623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-port 4.2: Use stream error for maxContentLength exceeded in InboundHttp2ToHttpAdapter by \u003ca href=\"https://github.com/netty-project-bot\"\u003e\u003ccode\u003e@​netty-project-bot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16629\"\u003enetty/netty#16629\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eshutdownInput\u003c/code\u003e bug in kqueue for empty recv buffer by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16630\"\u003enetty/netty#16630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix FFM address semantics in directBufferAddress by \u003ca href=\"https://github.com/dreamlike-ocean\"\u003e\u003ccode\u003e@​dreamlike-ocean\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16603\"\u003enetty/netty#16603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP2: Ensure HTTP2 preface is always send as first message by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16636\"\u003enetty/netty#16636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove Http2FrameCodecSubClassTest to correct package by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16640\"\u003enetty/netty#16640\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKqueue: Fix usage of LOCAL_PEERPID by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16637\"\u003enetty/netty#16637\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid ArrayQueue allocation in HttpServerCodec by \u003ca href=\"https://github.com/doom369\"\u003e\u003ccode\u003e@​doom369\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16596\"\u003enetty/netty#16596\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix file descriptor reuse bug in kqueue by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16650\"\u003enetty/netty#16650\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/netty/netty/commit/b3844c8108b42f68d56144b36d4d1ed96078a688\"\u003e\u003ccode\u003eb3844c8\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release netty-4.2.13.Final\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/82f47fa53571d04d8add02e3a01762cebd139a00\"\u003e\u003ccode\u003e82f47fa\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/ada0999ae6a011c787203108c8d987e0bc25b82d\"\u003e\u003ccode\u003eada0999\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/b4051e230e2fd349892f3739d6770b006c1d7528\"\u003e\u003ccode\u003eb4051e2\u003c/code\u003e\u003c/a\u003e Fix BrotliDecoder not forwarding all decompressed chunks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/67207c19218d7962f772af234f89de4424c7cf07\"\u003e\u003ccode\u003e67207c1\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/541ca7c645b8bd04901b54136b745622be289d19\"\u003e\u003ccode\u003e541ca7c\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/943edb361423eee5574b636a8c2bf6baf5cb2464\"\u003e\u003ccode\u003e943edb3\u003c/code\u003e\u003c/a\u003e Fix codec-dns tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/6459a284e6653c90fe4b15c0e8516d8302b1cd0e\"\u003e\u003ccode\u003e6459a28\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/b4ba61bd9059156cc9dcece7a81ea389efe571c2\"\u003e\u003ccode\u003eb4ba61b\u003c/code\u003e\u003c/a\u003e Fix checkstyle in HttpObjectDecoder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/977661f71f7511ad68ca17cabd7b5185efb978f4\"\u003e\u003ccode\u003e977661f\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/netty/netty/compare/netty-4.2.12.Final...netty-4.2.13.Final\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.netty:netty-transport-classes-kqueue` from 4.2.12.Final to 4.2.13.Final\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/netty/netty/releases\"\u003eio.netty:netty-transport-classes-kqueue's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003enetty-4.2.13.Final\u003c/h2\u003e\n\u003ch2\u003eCVEs Fixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-rgrr-p7gp-5xj7\"\u003eCVE-2026-42586\u003c/a\u003e (netty-codec-redis)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-45q3-82m4-75jr\"\u003eCVE-2026-42578\u003c/a\u003e (netty-handler-proxy)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-rwm7-x88c-3g2p\"\u003eCVE-2026-42577\u003c/a\u003e (netty-transport-native-epoll)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-f6hv-jmp6-3vwv\"\u003eCVE-2026-42587\u003c/a\u003e (netty-codec-http, netty-codec-http2)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-v8h7-rr48-vmmv\"\u003eCVE-2026-41417\u003c/a\u003e (netty-codec-http)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-xxqh-mfjm-7mv9\"\u003eCVE-2026-42581\u003c/a\u003e (netty-codec-http)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-m4cv-j2px-7723\"\u003eCVE-2026-42580\u003c/a\u003e (netty-codec-http)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-38f8-5428-x5cv\"\u003eCVE-2026-42585\u003c/a\u003e (netty-codec-http)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-cm33-6792-r9fm\"\u003eCVE-2026-42579\u003c/a\u003e (netty-codec-dns)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-2c5c-chwr-9hqw\"\u003eCVE-2026-42582\u003c/a\u003e (netty-codec-http3)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-mj4r-2hfc-f8p6\"\u003eCVE-2026-42583\u003c/a\u003e (netty-codec, netty-codec-compression)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-57rv-r2g8-2cj3\"\u003eCVE-2026-42584\u003c/a\u003e (netty-codec-http)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/security/advisories/GHSA-jfg9-48mv-9qgx\"\u003eCVE-2026-44248\u003c/a\u003e (netty-codec-mqtt)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eKqueue: sendfile EINTR doesn't advance offset — data duplication by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16544\"\u003enetty/netty#16544\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace usage of strerror with thread-safe alternative by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16547\"\u003enetty/netty#16547\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix implementation of strerror_r_xsi for GNU by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16546\"\u003enetty/netty#16546\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazy init ArrayList in DefaultHeaders.getAll by \u003ca href=\"https://github.com/doom369\"\u003e\u003ccode\u003e@​doom369\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16526\"\u003enetty/netty#16526\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLess logging in AWS-LC build by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16565\"\u003enetty/netty#16565\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the CRYPTO_BUFFER_POOL is also freed when we fail creating the SSLContext by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16545\"\u003enetty/netty#16545\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-port 4.2: Fix IndexOutOfBoundsException in StompSubframeDecoder on heartbeat by \u003ca href=\"https://github.com/netty-project-bot\"\u003e\u003ccode\u003e@​netty-project-bot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16543\"\u003enetty/netty#16543\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid leak in PemReader on OutOfDirectMemoryError by \u003ca href=\"https://github.com/raipc\"\u003e\u003ccode\u003e@​raipc\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16551\"\u003enetty/netty#16551\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIoUring: Disable test while we debug to unblock other builds by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16581\"\u003enetty/netty#16581\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInclude user properties and subscription IDs in MqttProperties#isEmpty by \u003ca href=\"https://github.com/ShadowySpirits\"\u003e\u003ccode\u003e@​ShadowySpirits\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16575\"\u003enetty/netty#16575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNative DNS resolver: Guard against malloc failures by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16559\"\u003enetty/netty#16559\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-port 4.2: Increase timeouts for QuicChannelConnectTest by \u003ca href=\"https://github.com/netty-project-bot\"\u003e\u003ccode\u003e@​netty-project-bot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16578\"\u003enetty/netty#16578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix parsing HTTP chunks with multiple extensions by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16579\"\u003enetty/netty#16579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.plexus:plexus-utils from 3.4.2 to 4.0.3 in /codec-native-quic 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/netty/netty/pull/16572\"\u003enetty/netty#16572\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert to PR build to Ubuntu 22.04  by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16595\"\u003enetty/netty#16595\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNative transports: Correctly create pipe when pipe2 is not supported by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16592\"\u003enetty/netty#16592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEpoll: Cleanup code to always return negative value on failure by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16591\"\u003enetty/netty#16591\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix component search fast path by \u003ca href=\"https://github.com/yawkat\"\u003e\u003ccode\u003e@​yawkat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16548\"\u003enetty/netty#16548\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize read-only toStringMultipleThreads1 by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16608\"\u003enetty/netty#16608\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize more AbstractByteBufTests by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16611\"\u003enetty/netty#16611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove note about needing 256-bit for PQC by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16605\"\u003enetty/netty#16605\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize testSessionInvalidate for Conscrypt by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16615\"\u003enetty/netty#16615\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eQuic: Correctly handle SSL_CTX_new failures by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16622\"\u003enetty/netty#16622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake LocalIoHandle public by \u003ca href=\"https://github.com/rdicroce\"\u003e\u003ccode\u003e@​rdicroce\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16621\"\u003enetty/netty#16621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eQuic: Fix shadowing of variable which leads to incorrectly handling errors by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16623\"\u003enetty/netty#16623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-port 4.2: Use stream error for maxContentLength exceeded in InboundHttp2ToHttpAdapter by \u003ca href=\"https://github.com/netty-project-bot\"\u003e\u003ccode\u003e@​netty-project-bot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16629\"\u003enetty/netty#16629\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eshutdownInput\u003c/code\u003e bug in kqueue for empty recv buffer by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16630\"\u003enetty/netty#16630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix FFM address semantics in directBufferAddress by \u003ca href=\"https://github.com/dreamlike-ocean\"\u003e\u003ccode\u003e@​dreamlike-ocean\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16603\"\u003enetty/netty#16603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP2: Ensure HTTP2 preface is always send as first message by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16636\"\u003enetty/netty#16636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove Http2FrameCodecSubClassTest to correct package by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16640\"\u003enetty/netty#16640\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKqueue: Fix usage of LOCAL_PEERPID by \u003ca href=\"https://github.com/normanmaurer\"\u003e\u003ccode\u003e@​normanmaurer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16637\"\u003enetty/netty#16637\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid ArrayQueue allocation in HttpServerCodec by \u003ca href=\"https://github.com/doom369\"\u003e\u003ccode\u003e@​doom369\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16596\"\u003enetty/netty#16596\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix file descriptor reuse bug in kqueue by \u003ca href=\"https://github.com/chrisvest\"\u003e\u003ccode\u003e@​chrisvest\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/netty/netty/pull/16650\"\u003enetty/netty#16650\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/netty/netty/commit/b3844c8108b42f68d56144b36d4d1ed96078a688\"\u003e\u003ccode\u003eb3844c8\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release netty-4.2.13.Final\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/82f47fa53571d04d8add02e3a01762cebd139a00\"\u003e\u003ccode\u003e82f47fa\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/ada0999ae6a011c787203108c8d987e0bc25b82d\"\u003e\u003ccode\u003eada0999\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/b4051e230e2fd349892f3739d6770b006c1d7528\"\u003e\u003ccode\u003eb4051e2\u003c/code\u003e\u003c/a\u003e Fix BrotliDecoder not forwarding all decompressed chunks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/67207c19218d7962f772af234f89de4424c7cf07\"\u003e\u003ccode\u003e67207c1\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/541ca7c645b8bd04901b54136b745622be289d19\"\u003e\u003ccode\u003e541ca7c\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/943edb361423eee5574b636a8c2bf6baf5cb2464\"\u003e\u003ccode\u003e943edb3\u003c/code\u003e\u003c/a\u003e Fix codec-dns tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/6459a284e6653c90fe4b15c0e8516d8302b1cd0e\"\u003e\u003ccode\u003e6459a28\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/b4ba61bd9059156cc9dcece7a81ea389efe571c2\"\u003e\u003ccode\u003eb4ba61b\u003c/code\u003e\u003c/a\u003e Fix checkstyle in HttpObjectDecoder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/netty/netty/commit/977661f71f7511ad68ca17cabd7b5185efb978f4\"\u003e\u003ccode\u003e977661f\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/netty/netty/compare/netty-4.2.12.Final...netty-4.2.13.Final\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.oshi:oshi-core` from 6.12.0 to 7.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oshi/oshi/releases\"\u003ecom.github.oshi:oshi-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 7.1.0\u003c/h2\u003e\n\u003ch5\u003eNew Features\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/oshi/oshi/pull/3225\"\u003e#3225\u003c/a\u003e: Add CgroupInfo API with Linux cgroup v1/v2 support - \u003ca href=\"https://github.com/rohan-coder02\"\u003e\u003ccode\u003e@​rohan-coder02\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/oshi/oshi/pull/3229\"\u003e#3229\u003c/a\u003e: Support environment variables (\u003ccode\u003eOSHI_*\u003c/code\u003e) for 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/oshi/oshi/issues/3230\"\u003e#3230\u003c/a\u003e: Add disk type information (SSD, HDD, Removable, Virtual) - \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/oshi/oshi/issues/2904\"\u003e#2904\u003c/a\u003e: Add voluntary/involuntary context switch methods to OSProcess - \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/oshi/oshi/issues/3223\"\u003e#3223\u003c/a\u003e: Add \u003ccode\u003eoshi-metrics\u003c/code\u003e module with Micrometer integration for system metrics following OpenTelemetry semantic conventions - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eBug Fixes and Improvements\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/oshi/oshi/pull/3233\"\u003e#3233\u003c/a\u003e: Use WMI formatted \u003ccode\u003e% Processor Performance\u003c/code\u003e counter for Windows CPU frequency, reporting actual turbo boost speeds above base frequency - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/oshi/oshi/blob/master/CHANGELOG.md\"\u003eFull change log\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease 7.0.1\u003c/h2\u003e\n\u003ch5\u003eJPMS Package Moves\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/oshi/oshi/pull/3220\"\u003e#3220\u003c/a\u003e: Move \u003ccode\u003eoshi-core-ffm\u003c/code\u003e utility classes from \u003ccode\u003eoshi.util.gpu\u003c/code\u003e, \u003ccode\u003eoshi.util.platform.mac\u003c/code\u003e, and \u003ccode\u003eoshi.util.platform.windows\u003c/code\u003e packages to \u003ccode\u003eoshi.ffm.util.gpu\u003c/code\u003e, \u003ccode\u003eoshi.ffm.util.platform.mac\u003c/code\u003e, and \u003ccode\u003eoshi.ffm.util.platform.windows\u003c/code\u003e. This eliminates split-package conflicts so \u003ccode\u003eoshi-core\u003c/code\u003e and \u003ccode\u003eoshi-core-ffm\u003c/code\u003e can coexist on the module path - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/oshi/oshi/blob/master/CHANGELOG.md\"\u003eFull change log\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease 7.0.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/oshi/oshi/blob/HEAD/src/site/markdown/Upgrading.md\"\u003eUpgrading\u003c/a\u003e for breaking changes and migration guide.\u003c/p\u003e\n\u003ch5\u003eBreaking Changes\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/oshi/oshi/pull/3180\"\u003e#3180\u003c/a\u003e: Rename \u003ccode\u003eoshi-core-java25\u003c/code\u003e artifact to \u003ccode\u003eoshi-core-ffm\u003c/code\u003e; rename JPMS module from \u003ccode\u003ecom.github.oshi\u003c/code\u003e to \u003ccode\u003ecom.github.oshi.ffm\u003c/code\u003e. A redirection pom is provided for the old artifact ID - \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/oshi/oshi/pull/3181\"\u003e#3181\u003c/a\u003e: Merge \u003ccode\u003eoshi-core-java11\u003c/code\u003e into \u003ccode\u003eoshi-core\u003c/code\u003e; \u003ccode\u003eoshi-core\u003c/code\u003e now includes a module descriptor (\u003ccode\u003ecom.github.oshi\u003c/code\u003e). A redirection pom is provided for the old \u003ccode\u003eoshi-core-java11\u003c/code\u003e artifact ID - \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/oshi/oshi/pull/3182\"\u003e#3182\u003c/a\u003e: Remove deprecated \u003ccode\u003eOSProcess.getResidentSetSize()\u003c/code\u003e (use \u003ccode\u003egetResidentMemory()\u003c/code\u003e or \u003ccode\u003egetPrivateResidentMemory()\u003c/code\u003e), \u003ccode\u003eoshi.PlatformEnum\u003c/code\u003e and \u003ccode\u003eoshi.PlatformEnumFFM\u003c/code\u003e (use \u003ccode\u003eoshi.util.PlatformEnum\u003c/code\u003e), \u003ccode\u003eSystemInfo.getCurrentPlatform()\u003c/code\u003e and \u003ccode\u003eSystemInfoFFM\u003c/code\u003e (use \u003ccode\u003eoshi.util.PlatformEnum.getCurrentPlatform()\u003c/code\u003e and \u003ccode\u003eoshi.ffm.SystemInfo\u003c/code\u003e), and misspelled \u003ccode\u003eGlobalConfig\u003c/code\u003e constants - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eNew Features\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/oshi/oshi/pull/3183\"\u003e#3183\u003c/a\u003e: Add \u003ccode\u003e@PublicApi\u003c/code\u003e annotation to all SemVer-guaranteed API types in \u003ccode\u003eoshi.hardware\u003c/code\u003e, \u003ccode\u003eoshi.software.os\u003c/code\u003e, both \u003ccode\u003eSystemInfo\u003c/code\u003e entry points, and \u003ccode\u003ePlatformEnum\u003c/code\u003e - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/oshi/oshi/blob/master/CHANGELOG.md\"\u003eFull change log\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/oshi/oshi/blob/master/CHANGELOG.md\"\u003ecom.github.oshi:oshi-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e7.1.0 (2026-05-06)\u003c/h1\u003e\n\u003ch5\u003eNew Features\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/oshi/oshi/pull/3225\"\u003e#3225\u003c/a\u003e: Add CgroupInfo API with Linux cgroup v1/v2 support - \u003ca href=\"https://github.com/rohan-coder02\"\u003e\u003ccode\u003e@​rohan-coder02\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/oshi/oshi/pull/3229\"\u003e#3229\u003c/a\u003e: Support environment variables (\u003ccode\u003eOSHI_*\u003c/code\u003e) for 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/oshi/oshi/issues/2857\"\u003e#2857\u003c/a\u003e: Add disk type information (SSD, HDD, Removable, Virtual) - \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/oshi/oshi/issues/2904\"\u003e#2904\u003c/a\u003e: Add voluntary/involuntary context switch methods to OSProcess - \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/oshi/oshi/issues/3223\"\u003e#3223\u003c/a\u003e: Add \u003ccode\u003eoshi-metrics\u003c/code\u003e module with Micrometer integration for system metrics following OpenTelemetry semantic conventions - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eBug Fixes and Improvements\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/oshi/oshi/pull/3233\"\u003e#3233\u003c/a\u003e: Use WMI formatted \u003ccode\u003e% Processor Performance\u003c/code\u003e counter for Windows CPU frequency, reporting actual turbo boost speeds above base frequency - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e7.0.0 (2026-04-30), 7.0.1 (2026-05-02)\u003c/h1\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/oshi/oshi/blob/master/UPGRADING.md\"\u003eUpgrading\u003c/a\u003e for breaking changes and migration guide.\u003c/p\u003e\n\u003ch5\u003eBreaking Changes\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/oshi/oshi/pull/3180\"\u003e#3180\u003c/a\u003e: Rename \u003ccode\u003eoshi-core-java25\u003c/code\u003e artifact to \u003ccode\u003eoshi-core-ffm\u003c/code\u003e; rename JPMS module from \u003ccode\u003ecom.github.oshi\u003c/code\u003e to \u003ccode\u003ecom.github.oshi.ffm\u003c/code\u003e. A redirection pom is provided for the old artifact ID - \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/oshi/oshi/pull/3181\"\u003e#3181\u003c/a\u003e: Merge \u003ccode\u003eoshi-core-java11\u003c/code\u003e into \u003ccode\u003eoshi-core\u003c/code\u003e; \u003ccode\u003eoshi-core\u003c/code\u003e now includes a module descriptor (\u003ccode\u003ecom.github.oshi\u003c/code\u003e). A redirection pom is provided for the old \u003ccode\u003eoshi-core-java11\u003c/code\u003e artifact ID - \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/oshi/oshi/pull/3182\"\u003e#3182\u003c/a\u003e: Remove deprecated \u003ccode\u003eOSProcess.getResidentSetSize()\u003c/code\u003e (use \u003ccode\u003egetResidentMemory()\u003c/code\u003e or \u003ccode\u003egetPrivateResidentMemory()\u003c/code\u003e), \u003ccode\u003eoshi.PlatformEnum\u003c/code\u003e and \u003ccode\u003eoshi.PlatformEnumFFM\u003c/code\u003e (use \u003ccode\u003eoshi.util.PlatformEnum\u003c/code\u003e), \u003ccode\u003eSystemInfo.getCurrentPlatform()\u003c/code\u003e and \u003ccode\u003eSystemInfoFFM\u003c/code\u003e (use \u003ccode\u003eoshi.util.PlatformEnum.getCurrentPlatform()\u003c/code\u003e and \u003ccode\u003eoshi.ffm.SystemInfo\u003c/code\u003e), and misspelled \u003ccode\u003eGlobalConfig\u003c/code\u003e constants - \u003ca href=\"https://github.com/dbwiddis\"\u003e\u003ccode\u003e@​dbwiddis\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eNew Features\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/oshi/oshi/pull/3183\"\u003e#3183\u003c/a\u003e: Add \u003ccode\u003e@PublicApi\u003c/code\u003e annotation to all SemVer-guaranteed API types in \u003ccode\u003eoshi.hardware\u003c/code...\n\n_Description has been truncated_","html_url":"https://github.com/AllayMC/Allay/pull/881","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/AllayMC%2FAllay/issues/881","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/881/packages"}},{"old_version":"3.1.8","new_version":"3.2.4","update_type":"minor","path":null,"pr_created_at":"2026-05-08T05:34:09.000Z","version_change":"3.1.8 → 3.2.4","issue":{"uuid":"4404030442","node_id":"PR_kwDOSJNB6s7ZaKTG","number":12,"state":"open","title":"build(deps): bump the minor-and-patch group across 1 directory with 8 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-08T05:34:09.000Z","updated_at":"2026-05-08T05:37:06.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"minor-and-patch","update_count":8,"packages":[{"name":"io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom","old_version":"2.26.1","new_version":"2.27.0","repository_url":"https://github.com/open-telemetry/opentelemetry-java-instrumentation"},{"name":"io.github.cdimascio:dotenv-java","old_version":"3.1.0","new_version":"3.2.0","repository_url":"https://github.com/cdimascio/dotenv-java"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"software.amazon.awssdk:bom","old_version":"2.29.45","new_version":"2.44.4"},{"name":"org.keycloak:keycloak-admin-client","old_version":"26.0.8","new_version":"26.0.9","repository_url":"https://github.com/keycloak/keycloak-client"},{"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":"org.springframework.boot","old_version":"4.0.5","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the minor-and-patch group with 8 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom](https://github.com/open-telemetry/opentelemetry-java-instrumentation) | `2.26.1` | `2.27.0` |\n| [io.github.cdimascio:dotenv-java](https://github.com/cdimascio/dotenv-java) | `3.1.0` | `3.2.0` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `3.0.2` | `3.0.3` |\n| software.amazon.awssdk:bom | `2.29.45` | `2.44.4` |\n| [org.keycloak:keycloak-admin-client](https://github.com/keycloak/keycloak-client) | `26.0.8` | `26.0.9` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.1.8` | `3.2.4` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.5` | `4.0.6` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.0` |\n\n\nUpdates `io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom` from 2.26.1 to 2.27.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-instrumentation/releases\"\u003eio.opentelemetry.instrumentation:opentelemetry-instrumentation-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.27.0\u003c/h2\u003e\n\u003cp\u003eThis release targets the OpenTelemetry SDK 1.61.0.\u003c/p\u003e\n\u003cp\u003eNote that many artifacts have the \u003ccode\u003e-alpha\u003c/code\u003e suffix attached to their version number, reflecting that they will continue to have breaking changes. Please see \u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/VERSIONING.md#opentelemetry-java-instrumentation-versioning\"\u003eVERSIONING.md\u003c/a\u003e for more details.\u003c/p\u003e\n\u003ch3\u003e⚠️ Breaking changes to non-stable APIs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003eAbstractKtorServerTelemetryBuilder.isOpenTelemetryInitialized()\u003c/code\u003e protected (previously public). (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17509\"\u003e#17509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eExperimentalInstrumentationModule.injectClasses(ClassInjector)\u003c/code\u003e with \u003ccode\u003eexposedClassNames()\u003c/code\u003e for exposing helper classes to the application class loader. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17765\"\u003e#17765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMoved \u003ccode\u003eWebApplicationContextInstrumentation\u003c/code\u003e from the \u003ccode\u003espring-web\u003c/code\u003e instrumentation module to \u003ccode\u003espring-webmvc\u003c/code\u003e; users who disabled it via \u003ccode\u003eotel.instrumentation.spring-web.enabled=false\u003c/code\u003e must now use \u003ccode\u003eotel.instrumentation.spring-webmvc.enabled=false\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17856\"\u003e#17856\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🚫 Deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eKafkaTelemetryBuilder.setMessagingReceiveInstrumentationEnabled(boolean)\u003c/code\u003e in favor of \u003ccode\u003esetMessagingReceiveTelemetryEnabled(boolean)\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17092\"\u003e#17092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecated GraphQL builder methods \u003ccode\u003esetSanitizeQuery()\u003c/code\u003e and \u003ccode\u003esetAddOperationNameToSpanName()\u003c/code\u003e, and deprecated config key \u003ccode\u003eotel.instrumentation.graphql.add-operation-name-to-span-name.enabled\u003c/code\u003e in favor of \u003ccode\u003esetQuerySanitizationEnabled()\u003c/code\u003e, \u003ccode\u003esetOperationNameInSpanNameEnabled()\u003c/code\u003e, and \u003ccode\u003eotel.instrumentation.graphql.operation-name-in-span-name.enabled\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17093\"\u003e#17093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eExperimental.setEnableSqlCommenter()\u003c/code\u003e in JDBC and R2DBC instrumentation in favor of \u003ccode\u003eExperimental.setSqlCommenterEnabled()\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17094\"\u003e#17094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003eotel.instrumentation.servlet.capture-request-parameters\u003c/code\u003e to \u003ccode\u003eotel.instrumentation.servlet.experimental.capture-request-parameters\u003c/code\u003e and \u003ccode\u003eotel.instrumentation.servlet.add-trace-id-request-attribute\u003c/code\u003e to \u003ccode\u003eotel.instrumentation.servlet.experimental.trace-id-request-attribute.enabled\u003c/code\u003e; old property names are deprecated. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17113\"\u003e#17113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecated the declarative config name \u003ccode\u003estatement_sanitizer\u003c/code\u003e in favor of \u003ccode\u003equery_sanitization\u003c/code\u003e, and the declarative config group \u003ccode\u003ecommon.database\u003c/code\u003e in favor of \u003ccode\u003ecommon.db\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17116\"\u003e#17116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecated the GraphQL declarative config name \u003ccode\u003equery_sanitizer\u003c/code\u003e in favor of \u003ccode\u003equery_sanitization\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17455\"\u003e#17455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecated the DB query sanitization system property names \u003ccode\u003eotel.instrumentation.common.db-statement-sanitizer.enabled\u003c/code\u003e, \u003ccode\u003eotel.instrumentation.jdbc.statement-sanitizer.enabled\u003c/code\u003e, \u003ccode\u003eotel.instrumentation.mongo.statement-sanitizer.enabled\u003c/code\u003e, and \u003ccode\u003eotel.instrumentation.r2dbc.statement-sanitizer.enabled\u003c/code\u003e in favor of the corresponding \u003ccode\u003e*.query-sanitization.enabled\u003c/code\u003e names, deprecated \u003ccode\u003eotel.instrumentation.common.experimental.db-sqlcommenter.enabled\u003c/code\u003e in favor of \u003ccode\u003eotel.instrumentation.common.db.experimental.sqlcommenter.enabled\u003c/code\u003e, and deprecated \u003ccode\u003eotel.instrumentation.graphql.query-sanitizer.enabled\u003c/code\u003e in favor of \u003ccode\u003eotel.instrumentation.graphql.query-sanitization.enabled\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17464\"\u003e#17464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eInstrumentationModule.isIndyModule()\u003c/code\u003e; indy mode is now determined by the agent distribution configuration instead of per-module overrides. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17713\"\u003e#17713\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📈 Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003elog4j.map_message.\u003c/code\u003e prefix from MapMessage attributes when \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/13871\"\u003e#13871\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStop normalizing messaging header names (dash to underscore) when \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled, so captured header attribute keys now preserve the original header name. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14554\"\u003e#14554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003edb.system.name\u003c/code\u003e attribute to Vertx SQL client instrumentation when stable database semantic conventions are enabled (\u003ccode\u003eotel.semconv-stability.opt-in=database\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16254\"\u003e#16254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJDBC instrumentation now supports the \u003ccode\u003edb.system.name\u003c/code\u003e attribute with stable semantic convention values (e.g., \u003ccode\u003epostgresql\u003c/code\u003e, \u003ccode\u003eoracle.db\u003c/code\u003e, \u003ccode\u003eibm.db2\u003c/code\u003e, \u003ccode\u003esap.hana\u003c/code\u003e) when stable database semantic conventions are enabled (\u003ccode\u003eotel.semconv-stability.opt-in=database\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16277\"\u003e#16277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e flag that enables upcoming 3.0 breaking changes early. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16459\"\u003e#16459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimized log event MDC attribute mapping in jboss-logmanager, log4j, and logback appenders by pre-computing attribute keys at initialization. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16765\"\u003e#16765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003emessaging.kafka.bootstrap.servers\u003c/code\u003e attribute to Kafka producer spans when \u003ccode\u003eotel.instrumentation.kafka.experimental-span-attributes\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17065\"\u003e#17065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable servlet trace-id request attribute by default when \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17173\"\u003e#17173\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable thread details span processor (\u003ccode\u003eotel.javaagent.add-thread-details\u003c/code\u003e) by default when \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17215\"\u003e#17215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved javaagent startup optimization by decomposing disjunction matchers, allowing more transformations to be skipped during class loading. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17227\"\u003e#17227\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd stable \u003ccode\u003emessaging.kafka.offset\u003c/code\u003e attribute to Kafka instrumentation, gated behind \u003ccode\u003eotel.semconv-stability.preview=messaging\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17785\"\u003e#17785\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve original casing of servlet request parameter names in attribute keys when \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17822\"\u003e#17822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace reflective mutation of Byte Buddy's \u003ccode\u003eAgentBuilder.Default.transformations\u003c/code\u003e with a \u003ccode\u003eClassFileTransformer\u003c/code\u003e hook, avoiding a JDK 26 JEP 500 warning about writing to a final field via reflection. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17824\"\u003e#17824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd javaagent bridging support for OpenTelemetry API 1.61 stable methods including \u003ccode\u003eTracer.isEnabled()\u003c/code\u003e, metric instrument \u003ccode\u003eisEnabled()\u003c/code\u003e, and \u003ccode\u003eLogger.setBody(Body)\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17849\"\u003e#17849\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠️ Bug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eWebClientBeanPostProcessor\u003c/code\u003e and \u003ccode\u003eRestClientBeanPostProcessor\u003c/code\u003e to avoid replacing user-customized builder beans when the OpenTelemetry tracing filter/interceptor is already registered. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15546\"\u003e#15546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix memory leak where bridged observable metric callbacks were never closed when the application-side instrument was garbage collected. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16219\"\u003e#16219\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Ktor server instrumentation leaking scope across requests due to \u003ccode\u003erestoreThreadContext\u003c/code\u003e not always being called by Ktor coroutine machinery. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16487\"\u003e#16487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing \u003ccode\u003eschemaUrl\u003c/code\u003e to servlet response instrumenter. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16560\"\u003e#16560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eOpenTelemetryContextDataProvider\u003c/code\u003e calling \u003ccode\u003eGlobalOpenTelemetry.get()\u003c/code\u003e during class initialization, which could interfere with SDK setup ordering. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16638\"\u003e#16638\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix ZIO instrumentation destroying caller thread context on fiber suspend, which caused spans created after \u003ccode\u003eunsafe.run\u003c/code\u003e to lose their parent. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16647\"\u003e#16647\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Spring Boot starter adding a duplicate OpenTelemetry logback appender when the appender is nested inside another appender. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16697\"\u003e#16697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bridging of \u003ccode\u003eVALUE\u003c/code\u003e-type attributes set via \u003ccode\u003eAttributeKey.valueKey()\u003c/code\u003e on spans and log records through the javaagent API bridge. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16750\"\u003e#16750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix unsafe deserialization in RMI instrumentation that could lead to remote code execution (\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/security/advisories/GHSA-xw7x-h9fj-p2c7\"\u003eCVE-2026-33701\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16986\"\u003e#16986\u003c/a\u003e, also released in 2.26.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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/CHANGELOG.md\"\u003eio.opentelemetry.instrumentation:opentelemetry-instrumentation-bom's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.27.0 (2026-04-21)\u003c/h2\u003e\n\u003cp\u003eThis release targets the OpenTelemetry SDK 1.61.0.\u003c/p\u003e\n\u003cp\u003eNote that many artifacts have the \u003ccode\u003e-alpha\u003c/code\u003e suffix attached to their version\nnumber, reflecting that they will continue to have breaking changes. Please see\n\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/VERSIONING.md#opentelemetry-java-instrumentation-versioning\"\u003eVERSIONING.md\u003c/a\u003e\nfor more details.\u003c/p\u003e\n\u003ch3\u003e⚠️ Breaking changes to non-stable APIs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003eAbstractKtorServerTelemetryBuilder.isOpenTelemetryInitialized()\u003c/code\u003e protected (previously\npublic).\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17509\"\u003e#17509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eExperimentalInstrumentationModule.injectClasses(ClassInjector)\u003c/code\u003e with\n\u003ccode\u003eexposedClassNames()\u003c/code\u003e for exposing helper classes to the application class loader.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17765\"\u003e#17765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMoved \u003ccode\u003eWebApplicationContextInstrumentation\u003c/code\u003e from the \u003ccode\u003espring-web\u003c/code\u003e instrumentation module to\n\u003ccode\u003espring-webmvc\u003c/code\u003e; users who disabled it via \u003ccode\u003eotel.instrumentation.spring-web.enabled=false\u003c/code\u003e must\nnow use \u003ccode\u003eotel.instrumentation.spring-webmvc.enabled=false\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17856\"\u003e#17856\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🚫 Deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eKafkaTelemetryBuilder.setMessagingReceiveInstrumentationEnabled(boolean)\u003c/code\u003e in favor of\n\u003ccode\u003esetMessagingReceiveTelemetryEnabled(boolean)\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17092\"\u003e#17092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecated GraphQL builder methods \u003ccode\u003esetSanitizeQuery()\u003c/code\u003e and \u003ccode\u003esetAddOperationNameToSpanName()\u003c/code\u003e, and\ndeprecated config key \u003ccode\u003eotel.instrumentation.graphql.add-operation-name-to-span-name.enabled\u003c/code\u003e in\nfavor of \u003ccode\u003esetQuerySanitizationEnabled()\u003c/code\u003e, \u003ccode\u003esetOperationNameInSpanNameEnabled()\u003c/code\u003e, and\n\u003ccode\u003eotel.instrumentation.graphql.operation-name-in-span-name.enabled\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17093\"\u003e#17093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eExperimental.setEnableSqlCommenter()\u003c/code\u003e in JDBC and R2DBC instrumentation in favor of\n\u003ccode\u003eExperimental.setSqlCommenterEnabled()\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17094\"\u003e#17094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003eotel.instrumentation.servlet.capture-request-parameters\u003c/code\u003e to\n\u003ccode\u003eotel.instrumentation.servlet.experimental.capture-request-parameters\u003c/code\u003e and\n\u003ccode\u003eotel.instrumentation.servlet.add-trace-id-request-attribute\u003c/code\u003e to\n\u003ccode\u003eotel.instrumentation.servlet.experimental.trace-id-request-attribute.enabled\u003c/code\u003e; old property names\nare deprecated.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17113\"\u003e#17113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecated the declarative config name \u003ccode\u003estatement_sanitizer\u003c/code\u003e in favor of \u003ccode\u003equery_sanitization\u003c/code\u003e, and\nthe declarative config group \u003ccode\u003ecommon.database\u003c/code\u003e in favor of \u003ccode\u003ecommon.db\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17116\"\u003e#17116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecated the GraphQL declarative config name \u003ccode\u003equery_sanitizer\u003c/code\u003e in favor of \u003ccode\u003equery_sanitization\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17455\"\u003e#17455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecated the DB query sanitization system property names\n\u003ccode\u003eotel.instrumentation.common.db-statement-sanitizer.enabled\u003c/code\u003e,\n\u003ccode\u003eotel.instrumentation.jdbc.statement-sanitizer.enabled\u003c/code\u003e,\n\u003ccode\u003eotel.instrumentation.mongo.statement-sanitizer.enabled\u003c/code\u003e, and\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-instrumentation/commit/f1973d410d516461d08e3799343d7e368f309b84\"\u003e\u003ccode\u003ef1973d4\u003c/code\u003e\u003c/a\u003e [release/v2.27.x] Prepare release 2.27.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/18116\"\u003e#18116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/54496737d2f680646f5756232b8c9c0de6e2cbc8\"\u003e\u003ccode\u003e5449673\u003c/code\u003e\u003c/a\u003e Review fixes for async-http-client-common-1.8:javaagent (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/18102\"\u003e#18102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/4a62affc02bdf982bb583de7a950af062e7fb245\"\u003e\u003ccode\u003e4a62aff\u003c/code\u003e\u003c/a\u003e Update changelog for upcoming release (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/18105\"\u003e#18105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/e2190ed2451093b36e9989d1ea268ac17254f7bc\"\u003e\u003ccode\u003ee2190ed\u003c/code\u003e\u003c/a\u003e Rename JAX-RS 2.0 RESTEasy shared javaagent module to `jaxrs-2.0-resteasy-com...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/afcf274f14262942e40741c91593dc9f4ee38623\"\u003e\u003ccode\u003eafcf274\u003c/code\u003e\u003c/a\u003e chore: update instrumentation list [automated] (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/18109\"\u003e#18109\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/bf241bfcf7db1afaf5ea07062fc8dc04e1e99445\"\u003e\u003ccode\u003ebf241bf\u003c/code\u003e\u003c/a\u003e Split runtime telemetry JFR config from experimental metrics (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/18110\"\u003e#18110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/64d55bf05c51eca318f4bb447b86fee38fc56146\"\u003e\u003ccode\u003e64d55bf\u003c/code\u003e\u003c/a\u003e fix(deps): update gradle develocity packages to v4.4.1 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/18107\"\u003e#18107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/41393cceeb5055e0184fcacc95cc54698f4b5b1e\"\u003e\u003ccode\u003e41393cc\u003c/code\u003e\u003c/a\u003e fix(deps): update all patch versions to v2.0.5 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/18106\"\u003e#18106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/38914f14980e443b50e93fba708e64c01477a9be\"\u003e\u003ccode\u003e38914f1\u003c/code\u003e\u003c/a\u003e chore(deps): update actions/setup-node action to v6.4.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/18108\"\u003e#18108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/dfbf501d6a3284dd9b87a2812ffd2a11ae87e699\"\u003e\u003ccode\u003edfbf501\u003c/code\u003e\u003c/a\u003e v3_preview applied for lowercase normalization for \u0026lt;name\u0026gt; in servlet.… (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/17822\"\u003e#17822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/compare/v2.26.1...v2.27.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.cdimascio:dotenv-java` from 3.1.0 to 3.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cdimascio/dotenv-java/releases\"\u003eio.github.cdimascio:dotenv-java's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.2.0\u003c/h2\u003e\n\u003ch2\u003e(2025-02-22)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow duplicate keys for variables (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/85\"\u003e#85\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/69c3d92\"\u003e69c3d92\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/85\"\u003e#85\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCmd/melegati ml (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/79\"\u003e#79\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/6d67cbf\"\u003e6d67cbf\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/79\"\u003e#79\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandling real multi line entries. (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/78\"\u003e#78\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/f3c43ec\"\u003ef3c43ec\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/78\"\u003e#78\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate build workflow to upload JaCoCo code coverage report to \u003ca href=\"https://codacy.com\"\u003ehttps://codacy.com\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/54\"\u003e#54\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/655d880\"\u003e655d880\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/54\"\u003e#54\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate README and CONTRIBUTING (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/76\"\u003e#76\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/bd434e1\"\u003ebd434e1\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/76\"\u003e#76\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse Scanner constructor supported since Android Api Level 1 and add tests for UTF-8 values (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/86\"\u003e#86\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/dde80ff\"\u003edde80ff\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/86\"\u003e#86\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ev3.1.0 (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/80\"\u003e#80\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/f9989e1\"\u003ef9989e1\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/80\"\u003e#80\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e(2024-12-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCmd/melegati ml (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/79\"\u003e#79\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/6d67cbf\"\u003e6d67cbf\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/79\"\u003e#79\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandling real multi line entries. (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/78\"\u003e#78\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/f3c43ec\"\u003ef3c43ec\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/78\"\u003e#78\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate build workflow to upload JaCoCo code coverage report to \u003ca href=\"https://codacy.com\"\u003ehttps://codacy.com\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/54\"\u003e#54\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/655d880\"\u003e655d880\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/54\"\u003e#54\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate README and CONTRIBUTING (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/76\"\u003e#76\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/bd434e1\"\u003ebd434e1\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/76\"\u003e#76\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e(2024-09-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDelete .github/workflows/codeql.yml (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/71\"\u003e#71\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/c52803f\"\u003ec52803f\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/71\"\u003e#71\u003c/a\u003e \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/70\"\u003e#70\u003c/a\u003e \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/69\"\u003e#69\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix javadoc target (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/72\"\u003e#72\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/8c0b9c5\"\u003e8c0b9c5\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/72\"\u003e#72\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efixes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/63\"\u003e#63\u003c/a\u003e string oob with ignore malformed (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/74\"\u003e#74\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/4e23eda\"\u003e4e23eda\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/63\"\u003e#63\u003c/a\u003e \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/74\"\u003e#74\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate CHANGELOG.md (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/0fdabfd\"\u003e0fdabfd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate codeql.yml (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/70\"\u003e#70\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/1966f4f\"\u003e1966f4f\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/70\"\u003e#70\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate CONTRIBUTING.md to include signed artifact github upload (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/73\"\u003e#73\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/d216732\"\u003ed216732\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/73\"\u003e#73\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate integrates OpenSSF badging details into README and CONTRIBUTING (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/75\"\u003e#75\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/ba7ec54\"\u003eba7ec54\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/75\"\u003e#75\u003c/a\u003e \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/63\"\u003e#63\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate README.md (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/69\"\u003e#69\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/7870e4f\"\u003e7870e4f\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/69\"\u003e#69\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e(2024-09-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[StepSecurity] Apply security best practices (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/66\"\u003e#66\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/f50dd1b\"\u003ef50dd1b\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/66\"\u003e#66\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support from reading from jimfs in-memory FS (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/60\"\u003e#60\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/0c5642e\"\u003e0c5642e\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/60\"\u003e#60\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreate SECURITY.md (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/65\"\u003e#65\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/162a574\"\u003e162a574\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/65\"\u003e#65\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate CONTRIBUTING.md (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/6d60f39\"\u003e6d60f39\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate CONTRIBUTING.md (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/67\"\u003e#67\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/158a525\"\u003e158a525\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/67\"\u003e#67\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate pom.xml (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/aa8d1d5\"\u003eaa8d1d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ev3.0.1 (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/c8bf7b0\"\u003ec8bf7b0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add manoelcampos as a contributor for code, test, and infra (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/52\"\u003e#52\u003c/a\u003e) (\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/5b6c71d\"\u003e5b6c71d\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/52\"\u003e#52\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e(2023-04-30)\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/cdimascio/dotenv-java/commit/e5dd64f1b13d81d06ec8e1a036c7cc5b1617fd76\"\u003e\u003ccode\u003ee5dd64f\u003c/code\u003e\u003c/a\u003e chore: updates contributing notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/a85f9773140b526294ae19aeaabc5735676c355e\"\u003e\u003ccode\u003ea85f977\u003c/code\u003e\u003c/a\u003e v3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/136787e9d6186b6cc40e94bb2ee54c61ee87be29\"\u003e\u003ccode\u003e136787e\u003c/code\u003e\u003c/a\u003e update contributing notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/e7c273f5ae6289fde51b2955f121e1b9fed9fe5e\"\u003e\u003ccode\u003ee7c273f\u003c/code\u003e\u003c/a\u003e v3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/69c3d9217dbed0b620fe5faf76203543aa2cfe22\"\u003e\u003ccode\u003e69c3d92\u003c/code\u003e\u003c/a\u003e Allow duplicate keys for variables (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/85\"\u003e#85\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/dde80ffe42a9cf9ea3ca9d7e730efbf7315de574\"\u003e\u003ccode\u003edde80ff\u003c/code\u003e\u003c/a\u003e use Scanner constructor supported since Android Api Level 1 and add tests for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cdimascio/dotenv-java/commit/f9989e14d4c1b09026e0a69144387ca196a0d688\"\u003e\u003ccode\u003ef9989e1\u003c/code\u003e\u003c/a\u003e v3.1.0 (\u003ca href=\"https://redirect.github.com/cdimascio/dotenv-java/issues/80\"\u003e#80\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/cdimascio/dotenv-java/compare/v.3.1.0...v3.2.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.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `software.amazon.awssdk:bom` from 2.29.45 to 2.44.4\n\nUpdates `org.keycloak:keycloak-admin-client` from 26.0.8 to 26.0.9\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/keycloak/keycloak-client/commit/0d4e126942b73ca9dcf38caffe1c883447bf6ee4\"\u003e\u003ccode\u003e0d4e126\u003c/code\u003e\u003c/a\u003e Set version to 26.0.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/keycloak/keycloak-client/commit/6c3725309b11a9a8a1992354dd663e601360d2d5\"\u003e\u003ccode\u003e6c37253\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/keycloak/keycloak-client/commit/4cc43060751d695014d8508bbecd0dd33e0655d0\"\u003e\u003ccode\u003e4cc4306\u003c/code\u003e\u003c/a\u003e Sync after Keycloak server 26.6.0 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/keycloak/keycloak-client/compare/26.0.8...26.0.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.1.8 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.2.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed frequency tracking of weak keys to use the object's identity hash code (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1902\"\u003e#1902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for underscores in \u003ccode\u003eCaffeineSpec\u003c/code\u003e when using numeric literals (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1890\"\u003e#1890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved the external api to no longer lock when querying for the maximum size or weighted size (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1897\"\u003e#1897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded detection and recovery when a custom \u003ccode\u003eCompletableFuture\u003c/code\u003e is in an inconsistent state (\u003ca href=\"https://redirect.github.com/quarkusio/quarkus/issues/50513\"\u003equarkus#50513\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.2.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed characteristics returned by Spliterators (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1883\"\u003e#1883\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e for an async cache's synchronous view to retry if incomplete\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eCaffeineSpec\u003c/code\u003e when being reflectively constructed (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1839\"\u003e#1839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved the handling of negative durations with variable expiration\u003c/li\u003e\n\u003cli\u003eFixed intermittent null after replacing a weak/soft value (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1820\"\u003e#1820\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.2.0\u003c/h2\u003e\n\u003cp\u003eCache\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ca href=\"https://www.sigstore.dev/\"\u003eSigstore\u003c/a\u003e signing of maven artifacts\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eExpiry\u003c/code\u003e static factory methods (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1499\"\u003e#1499\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrated to \u003ca href=\"https://jspecify.dev/\"\u003eJSpecify\u003c/a\u003e annotations (was checker framework)\u003c/li\u003e\n\u003cli\u003eFixed variable expiration calculation when nearing overflow\u003c/li\u003e\n\u003cli\u003eAdded logging when an async cache's removal listener fails\u003c/li\u003e\n\u003cli\u003eAdded an expiration write optimization to more operations (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1320\"\u003e#1320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed when a \u003ccode\u003eWeigher\u003c/code\u003e or \u003ccode\u003eExpiry\u003c/code\u003e fail on an async completion (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1687\"\u003e#1687\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed cases when the expiration ticker was also used for statistics (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1678\"\u003e#1678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed refresh handling to skip if the async cache's entry is still loading (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1478\"\u003e#1478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003econtainsKey\u003c/code\u003e for an async cache's synchronous view while in-flight (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1626\"\u003e#1626\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed premature expiration for an async cache when using nearly immediate expiration (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1623\"\u003e#1623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFor a bulk async load returning extra mappings, wait to be added to the cache before returning (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1409\"\u003e#1409\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eGuava\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRelaxed the OSGi version requirement (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1160\"\u003e#1160\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eJCache\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAllow \u003ccode\u003ehibernate.javax.cache.uri\u003c/code\u003e to load the configuration from a jar (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1347\"\u003e#1347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.1.8...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 4.0.5 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnversRevisionRepositoriesRegistrar should reuse \u003ccode\u003e@EnableEnversRepositories\u003c/code\u003e rather than configuring the JPA counterpart \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50039\"\u003e#50039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebFlux Cloud Foundry links endpoint includes query string from received request in resolved links \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50017\"\u003e#50017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImports on a containing test class are ignored when a nested class has imports \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50012\"\u003e#50012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49951\"\u003e#49951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e500 response from env endpoint when supplied pattern is invalid \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49946\"\u003e#49946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49945\"\u003e#49945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP method is lost when configuring excludes in EndpointRequest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49943\"\u003e#49943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor HttpMethod for reactive additional endpoint paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49880\"\u003e#49880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/artemis image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49869\"\u003e#49869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/activemq image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49866\"\u003e#49866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49854\"\u003e#49854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI versioning path strategy should be applied path last as it is not meant to yield \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49800\"\u003e#49800\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs to encourage Java fundamentals for beginners that prefer to learn that way \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50146\"\u003e#50146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP Service Interface Clients still document that API versioning can be configured via properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50126\"\u003e#50126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the observability section of the Lettuce documentation is broken \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50097\"\u003e#50097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJavadoc for StaticResourceLocation.FAVICON doesn't describe icons location \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50085\"\u003e#50085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySamlRelyingPartyConfiguration is missing a Kotlin sample \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50024\"\u003e#50024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect default value for management.httpexchanges.recording.include in configuration metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50019\"\u003e#50019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the Kubernetes documentation when discussing startup probes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50015\"\u003e#50015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in JdbcSessionAutoConfiguration Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49873\"\u003e#49873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify that configuration property default values are not available through the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49851\"\u003e#49851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument the need for Liquibase and Flyway starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49839\"\u003e#49839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKafka documentation refers to deprecated JSON serializer and deserializer classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49826\"\u003e#49826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Elasticsearch Client 9.2.8 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50027\"\u003e#50027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Groovy 5.0.5 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49911\"\u003e#49911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Hibernate 7.2.12.Final \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50134\"\u003e#50134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Jackson Bom 3.1.2 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50051\"\u003e#50051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1\"\u003eJaxen 2.0.1\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50104\"\u003e#50104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5\"\u003eJaybird 6.0.5\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49914\"\u003e#49914\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/8821ad2cd381bb4b9615a61479e1de7305a8ba39\"\u003e\u003ccode\u003e8821ad2\u003c/code\u003e\u003c/a\u003e Release v4.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9e4048a03f17adfe78057a3c4d5b4693305c0ae0\"\u003e\u003ccode\u003e9e4048a\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/20bb11c3984802990572ddbeae8b66885a8f2462\"\u003e\u003ccode\u003e20bb11c\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.15-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/98daa8ea30f39a5b0ca6768b5cbc2dc8698ef4e1\"\u003e\u003ccode\u003e98daa8e\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9dc5aa2863f598a15d3dfa116f4b89249daba7e7\"\u003e\u003ccode\u003e9dc5aa2\u003c/code\u003e\u003c/a\u003e Polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/874f6294b91da18367b8b5ab7b2fad3fa23cfba6\"\u003e\u003ccode\u003e874f629\u003c/code\u003e\u003c/a\u003e Fix default security with actuator but without health\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/e41b3bf731d1134bc18ec1f68ac01e0fe1c54923\"\u003e\u003ccode\u003ee41b3bf\u003c/code\u003e\u003c/a\u003e Enable hostname verification for SSL connections to Elasticsearch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ef8527bb0ef8f564f4f9c57a7be99a7aa96c6ab0\"\u003e\u003ccode\u003eef8527b\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f533a4549c3999aac30cb5830f07dc304933e93d\"\u003e\u003ccode\u003ef533a45\u003c/code\u003e\u003c/a\u003e Do not follow symlinks when writing PID file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4a7bd332b6d19fef1aa4cf28434985f2b03a2e0f\"\u003e\u003ccode\u003e4a7bd33\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.5...v4.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gradle-wrapper` from 9.4.1 to 9.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.0/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.0 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0 RC4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/3fe117d68f3907790f3809f121aa36303a9151f8\"\u003e\u003ccode\u003e3fe117d\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37703\"\u003e#37703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/33d145af6fbe7cf7c9d84646b6d7f32fea91d5e2\"\u003e\u003ccode\u003e33d145a\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7a05d1ed48442eb5da4d6e2b6593da55cdec1da\"\u003e\u003ccode\u003ef7a05d1\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37654\"\u003e#37654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/266facdcbcb0b4c60120cc118eaf0f652bfcdfe5\"\u003e\u003ccode\u003e266facd\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0ad6dd8e143455707e444aa7e3d38327a3366513\"\u003e\u003ccode\u003e0ad6dd8\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37646\"\u003e#37646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/966025d5850d46c9158a2f25e4096222277ecf57\"\u003e\u003ccode\u003e966025d\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e7455734449e422accebf44cf7b31bf93e3a770c\"\u003e\u003ccode\u003ee745573\u003c/code\u003e\u003c/a\u003e Polish IP docs (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37642\"\u003e#37642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d5cfd079acd2c8f1182edd6ec23dbab571132d0a\"\u003e\u003ccode\u003ed5cfd07\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37629\"\u003e#37629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/acdf0c36fa13ba09a7ff5b51f79b9af4b1a097ee\"\u003e\u003ccode\u003eacdf0c3\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7d0e4f6f7896426a8b24091388e4c252b62faef\"\u003e\u003ccode\u003ef7d0e4f\u003c/code\u003e\u003c/a\u003e Rename anchor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.1...v9.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/Bonker009/hrd-room-auth/pull/12","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bonker009%2Fhrd-room-auth/issues/12","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/12/packages"}},{"old_version":"3.2.3","new_version":"3.2.4","update_type":"patch","path":null,"pr_created_at":"2026-05-08T03:12:00.000Z","version_change":"3.2.3 → 3.2.4","issue":{"uuid":"4403511891","node_id":"PR_kwDORvJjTc7ZYe1x","number":26,"state":"closed","title":"chore(deps): bump the gradle-dependencies group across 1 directory with 17 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-05-22T03:12:36.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-08T03:12:00.000Z","updated_at":"2026-05-22T03:12:38.000Z","time_to_close":1209636,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"gradle-dependencies","update_count":17,"packages":[{"name":"org.mariadb.jdbc:mariadb-java-client","old_version":"3.5.7","new_version":"3.5.8","repository_url":"https://github.com/mariadb-corporation/mariadb-connector-j"},{"name":"org.flywaydb:flyway-mysql","old_version":"12.0.3","new_version":"12.5.0"},{"name":"org.projectlombok:lombok","old_version":"1.18.42","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"org.apache.pdfbox:pdfbox","old_version":"3.0.6","new_version":"3.0.7"},{"name":"com.github.RouHim:jaudiotagger","old_version":"2.0.16","new_version":"2.0.19"},{"name":"com.github.junrar:junrar","old_version":"7.5.8","new_version":"7.5.10","repository_url":"https://github.com/junrar/junrar"},{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"4.0.6","new_version":"4.0.8"},{"name":"tools.jackson:jackson-bom","old_version":"3.1.0","new_version":"3.1.3","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"org.springframework.boot","old_version":"4.0.3","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.hibernate.orm","old_version":"7.2.6.Final","new_version":"7.3.3.Final"},{"name":"com.github.ben-manes.versions","old_version":"0.53.0","new_version":"0.54.0"},{"name":"gradle-wrapper","old_version":"9.4.0","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 15 updates in the /booklore-api directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.mariadb.jdbc:mariadb-java-client](https://github.com/mariadb-corporation/mariadb-connector-j) | `3.5.7` | `3.5.8` |\n| org.flywaydb:flyway-mysql | `12.0.3` | `12.5.0` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.42` | `1.18.46` |\n| org.apache.pdfbox:pdfbox | `3.0.6` | `3.0.7` |\n| com.github.RouHim:jaudiotagger | `2.0.16` | `2.0.19` |\n| [com.github.junrar:junrar](https://github.com/junrar/junrar) | `7.5.8` | `7.5.10` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `3.0.2` | `3.0.3` |\n| org.glassfish.jaxb:jaxb-runtime | `4.0.6` | `4.0.8` |\n| [tools.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `3.1.0` | `3.1.3` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.2.3` | `3.2.4` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.3` | `4.0.6` |\n| org.hibernate.orm | `7.2.6.Final` | `7.3.3.Final` |\n| com.github.ben-manes.versions | `0.53.0` | `0.54.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.0` | `9.5.0` |\n\n\nUpdates `org.mariadb.jdbc:mariadb-java-client` from 3.5.7 to 3.5.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/releases\"\u003eorg.mariadb.jdbc:mariadb-java-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eMariaDB Connector/Java 3.5.8\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/blob/main/CHANGELOG.md\"\u003eorg.mariadb.jdbc:mariadb-java-client's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/tree/3.5.8\"\u003e3.5.8\u003c/a\u003e (Apr 2026)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eIssues Resolved\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1305 - XAResource.isSameRM() incorrectly returns true when rewriteBatchedStatements differs between connections\u003c/li\u003e\n\u003cli\u003eCONJ-1303 - Statement.cancel() fails to kill running query during result streaming\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eOther\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eCONJ-1298 - Performance improvement: avoid decoding extended format\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/26b34a2f060070beb73515cfd2a49fabc8728843\"\u003e\u003ccode\u003e26b34a2\u003c/code\u003e\u003c/a\u003e Merge branch 'develop'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/06d6efee7838ab8f89ef0f7f362c6b4a95754630\"\u003e\u003ccode\u003e06d6efe\u003c/code\u003e\u003c/a\u003e bump CI actions/checkout@v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a86a83c8fd1fa84d8d4349baab3b29df8f575192\"\u003e\u003ccode\u003ea86a83c\u003c/code\u003e\u003c/a\u003e bump 3.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/975f9919232b21f40d823423eac6e32d87ea8e35\"\u003e\u003ccode\u003e975f991\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to implement Codec directly and extract shared...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/75bb509521661603e0e90dd6dd5942d1382bf499\"\u003e\u003ccode\u003e75bb509\u003c/code\u003e\u003c/a\u003e [misc] code formatting cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/4c0b6a0ddd95f42fa866ce0d08e384caa2553d43\"\u003e\u003ccode\u003e4c0b6a0\u003c/code\u003e\u003c/a\u003e [misc] refactor TimestampCodec to extend UtilDateCodec and extract common dat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/a5b7fb1a26277a076052dbbd1a7ee2bacd4f602f\"\u003e\u003ccode\u003ea5b7fb1\u003c/code\u003e\u003c/a\u003e [misc] convert Reader and Writer from interfaces to final class implementatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/d31eb060fc66e9e37479e18a38bb1401d53ecb63\"\u003e\u003ccode\u003ed31eb06\u003c/code\u003e\u003c/a\u003e [misc] convert ReadableByteBuf from interface to final class implementation, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/11d45a9e6ea4d942e75747132bb8982471d890b8\"\u003e\u003ccode\u003e11d45a9\u003c/code\u003e\u003c/a\u003e [misc] optimize binary row decoder null bitmap checks and simplify signed Big...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/commit/5aad14c381cbc2c4e0383ffed275306f359bd508\"\u003e\u003ccode\u003e5aad14c\u003c/code\u003e\u003c/a\u003e [misc] optimize BigInt column decoding and improve type safety in codec inter...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mariadb-corporation/mariadb-connector-j/compare/3.5.7...3.5.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb:flyway-mysql` from 12.0.3 to 12.5.0\n\nUpdates `org.projectlombok:lombok` from 1.18.42 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.44 (March 11th, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFEATURE: \u003ccode\u003e@Jacksonized\u003c/code\u003e now supports both Jackson2 and Jackson3; you'll get a warning until you configure which one (or even both!) you want lombok to generate. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3950\"\u003e#3950\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: On JDK25, \u003ccode\u003eval\u003c/code\u003e and \u003ccode\u003e@ExtensionMethod\u003c/code\u003e could sometimes cause erroneous errors (in that you see errors but compilation succeeds anyway) using javac. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3947\"\u003e#3947\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e + fields marked \u003ccode\u003etransient\u003c/code\u003e would result in those transient fields being serialised which is surprising (and thus undesired) behaviour. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3936\"\u003e#3936\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.42...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.pdfbox:pdfbox` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:pdfbox-io` from 3.0.6 to 3.0.7\n\nUpdates `org.apache.pdfbox:xmpbox` from 3.0.6 to 3.0.7\n\nUpdates `com.github.RouHim:jaudiotagger` from 2.0.16 to 2.0.19\n\nUpdates `com.github.junrar:junrar` from 7.5.8 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/releases\"\u003ecom.github.junrar:junrar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v7.5.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier Roebroeck\u003c/p\u003e\n\u003ch2\u003eRelease v7.5.9\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eWe'd like to thank the following people for their contributions:\nGauthier, Ryan Campbell\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junrar/junrar/blob/master/CHANGELOG.md\"\u003ecom.github.junrar:junrar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.9...v7.5.10\"\u003e7.5.10\u003c/a\u003e (2026-04-15)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebetter handling of files outside directory when extracting (\u003ca href=\"https://github.com/junrar/junrar/commits/d77e9a8\"\u003ed77e9a8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧪 Tests\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edisable test on windows due to path (\u003ca href=\"https://github.com/junrar/junrar/commits/154e3bf\"\u003e154e3bf\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003epublish test results (\u003ca href=\"https://github.com/junrar/junrar/commits/e36ee09\"\u003ee36ee09\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate homebrew action (\u003ca href=\"https://github.com/junrar/junrar/commits/a60857b\"\u003ea60857b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.9\"\u003e7.5.9\u003c/a\u003e (2026-04-13)\u003c/h1\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException in solid RAR v20 archive extraction (\u003ca href=\"https://github.com/junrar/junrar/commits/9b69c6b\"\u003e9b69c6b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eseek past SubHeader packed data after parsing to prevent corrupt reads (\u003ca href=\"https://github.com/junrar/junrar/commits/ad7ad33\"\u003ead7ad33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🛠  Build\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003edeps\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 (\u003ca href=\"https://github.com/junrar/junrar/commits/7e1b558\"\u003e7e1b558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.22.0 to 5.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/f800f10\"\u003ef800f10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson.core:jackson-databind (\u003ca href=\"https://github.com/junrar/junrar/commits/1886aec\"\u003e1886aec\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.4.0 to 9.4.1 (\u003ca href=\"https://github.com/junrar/junrar/commits/832f685\"\u003e832f685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle/actions from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/b2f434d\"\u003eb2f434d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump codecov/codecov-action from 5 to 6 (\u003ca href=\"https://github.com/junrar/junrar/commits/aaaede2\"\u003eaaaede2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump EndBug/add-and-commit from 9 to 10 (\u003ca href=\"https://github.com/junrar/junrar/commits/884dde4\"\u003e884dde4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump gradle-wrapper from 9.3.1 to 9.4.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/5ff5c7e\"\u003e5ff5c7e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.mockito:mockito-core from 5.21.0 to 5.22.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/d9e9e49\"\u003ed9e9e49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump ch.qos.logback:logback-classic from 1.5.26 to 1.5.32 (\u003ca href=\"https://github.com/junrar/junrar/commits/935ece8\"\u003e935ece8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump org.jreleaser from 1.22.0 to 1.23.0 (\u003ca href=\"https://github.com/junrar/junrar/commits/000fcdb\"\u003e000fcdb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebump actions/upload-artifact from 6 to 7 (\u003ca href=\"https://github.com/junrar/junrar/commits/2c83103\"\u003e2c83103\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/e36ee091ad7311a021e1c928ada103a3eab2d890\"\u003e\u003ccode\u003ee36ee09\u003c/code\u003e\u003c/a\u003e ci: publish test results\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/154e3bf7b05bb6dcad5437a8fd8e99a8da916373\"\u003e\u003ccode\u003e154e3bf\u003c/code\u003e\u003c/a\u003e test: disable test on windows due to path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/d77e9a83eb721cd51f9c23d7869d0e6ad7f952d7\"\u003e\u003ccode\u003ed77e9a8\u003c/code\u003e\u003c/a\u003e fix: better handling of files outside directory when extracting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/a60857b35c17dbd5354a37816421d7b051a8ba03\"\u003e\u003ccode\u003ea60857b\u003c/code\u003e\u003c/a\u003e ci: update homebrew action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/72cd364f47bd396e208cd82ca7aa98759ab84f01\"\u003e\u003ccode\u003e72cd364\u003c/code\u003e\u003c/a\u003e chore(release): 7.5.9 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/7e1b5581f9d622b96e9e2a8574188027e7642634\"\u003e\u003ccode\u003e7e1b558\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/f800f10fa46f803f1220f508a40f59af29eb5118\"\u003e\u003ccode\u003ef800f10\u003c/code\u003e\u003c/a\u003e build(deps): bump org.mockito:mockito-core from 5.22.0 to 5.23.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/1886aecf253467ff8f98fc1187237605cf59fbb0\"\u003e\u003ccode\u003e1886aec\u003c/code\u003e\u003c/a\u003e build(deps): bump com.fasterxml.jackson.core:jackson-databind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/832f6857128bcd678d76bf263f8ee1533a1e8a86\"\u003e\u003ccode\u003e832f685\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle-wrapper from 9.4.0 to 9.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junrar/junrar/commit/9b69c6b708dd88b925ba91fde563869cc0f8f586\"\u003e\u003ccode\u003e9b69c6b\u003c/code\u003e\u003c/a\u003e fix: ArrayIndexOutOfBoundsException in solid RAR v20 archive extraction\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junrar/junrar/compare/v7.5.8...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.22.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.22.1...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.glassfish.jaxb:jaxb-runtime` from 4.0.6 to 4.0.8\n\nUpdates `tools.jackson:jackson-bom` from 3.1.0 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/c2ea79e9178f0aaa5e4f381c644140357bfc307e\"\u003e\u003ccode\u003ec2ea79e\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3906b27dcdde8fc6a4fef193147109b70bf2f0dc\"\u003e\u003ccode\u003e3906b27\u003c/code\u003e\u003c/a\u003e Prep for 3.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/b17b616c7dc264cfef26f9dd28eaf54bc40b5c4c\"\u003e\u003ccode\u003eb17b616\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/36cf9995cff15aa3e69786da1d6c52f208fddf8a\"\u003e\u003ccode\u003e36cf999\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0ae1c2ae270dabe8e21700cbcee1c266b54e84f0\"\u003e\u003ccode\u003e0ae1c2a\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/3c171ebd5d6c5d8f6e8d4f3614cf9b4f0a8babb9\"\u003e\u003ccode\u003e3c171eb\u003c/code\u003e\u003c/a\u003e Prep for 3.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/8046ced071e0b36747bae0f0a96fa21914de1303\"\u003e\u003ccode\u003e8046ced\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/ea00ca4cc59ba656a17a071e30a68387e51d3e0d\"\u003e\u003ccode\u003eea00ca4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/0628060381a5b86e3fc07854a27b7453de559b7e\"\u003e\u003ccode\u003e0628060\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-3.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/22b8aeec79b87751a41c586404850c526eed1dbe\"\u003e\u003ccode\u003e22b8aee\u003c/code\u003e\u003c/a\u003e Prep for 3.1.1 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-3.1.0...jackson-bom-3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 4.0.3 to 4.0.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.6\u003c/h2\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDefault security is misconfigured when spring-boot-actuator-autoconfigure is present and spring-boot-health is not \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50188\"\u003e#50188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch Rest5Client auto-configuration misconfigures underlying HTTP client \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50187\"\u003e#50187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationPidFileWriter does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50185\"\u003e#50185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRandomValuePropertySource is not suitable for secrets \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50183\"\u003e#50183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCassandra auto-configuration misconfigures CqlSessionBuilder \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50180\"\u003e#50180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApplicationTemp does not handle symlinks correctly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50178\"\u003e#50178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemote DevTools performs comparison incorrectly \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50176\"\u003e#50176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.rabbitmq.ssl.verify-hostname is applied inconsistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50174\"\u003e#50174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhole number values are ignored when configuring min and max expected values and SLO boundaries for a distribution summary meter \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50077\"\u003e#50077\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClassic starters are missing several modules \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50071\"\u003e#50071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eModule spring-boot-resttestclient is missing from spring-boot-starter-test-classic \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50069\"\u003e#50069\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnnotations like \u003ccode\u003e@Ssl\u003c/code\u003e don't work on \u003ccode\u003e@Bean\u003c/code\u003e methods when using \u003ccode\u003e@ServiceConnection\u003c/code\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50064\"\u003e#50064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnversRevisionRepositoriesRegistrar should reuse \u003ccode\u003e@EnableEnversRepositories\u003c/code\u003e rather than configuring the JPA counterpart \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50039\"\u003e#50039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebFlux Cloud Foundry links endpoint includes query string from received request in resolved links \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50017\"\u003e#50017\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImports on a containing test class are ignored when a nested class has imports \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50012\"\u003e#50012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith spring.jackson.use-jackson2-defaults set to true, FAIL_ON_UNKNOWN_PROPERTIES is enabled \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49951\"\u003e#49951\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e500 response from env endpoint when supplied pattern is invalid \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49946\"\u003e#49946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReactive MongoDB starter has a transitive dependency on the synchronous MongoDB driver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49945\"\u003e#49945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP method is lost when configuring excludes in EndpointRequest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49943\"\u003e#49943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor HttpMethod for reactive additional endpoint paths \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49880\"\u003e#49880\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/artemis image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49869\"\u003e#49869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support doesn't work with apache/activemq image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49866\"\u003e#49866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Security's PathPatternRequestMatcher.Builder is not auto-configured when using WebMvcTest and spring-boot-security-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49854\"\u003e#49854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI versioning path strategy should be applied path last as it is not meant to yield \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49800\"\u003e#49800\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate docs to encourage Java fundamentals for beginners that prefer to learn that way \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50146\"\u003e#50146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHTTP Service Interface Clients still document that API versioning can be configured via properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50126\"\u003e#50126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the observability section of the Lettuce documentation is broken \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50097\"\u003e#50097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJavadoc for StaticResourceLocation.FAVICON doesn't describe icons location \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50085\"\u003e#50085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMySamlRelyingPartyConfiguration is missing a Kotlin sample \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50024\"\u003e#50024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIncorrect default value for management.httpexchanges.recording.include in configuration metadata \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50019\"\u003e#50019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLink to the Kubernetes documentation when discussing startup probes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50015\"\u003e#50015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo in JdbcSessionAutoConfiguration Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49873\"\u003e#49873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify that configuration property default values are not available through the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49851\"\u003e#49851\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument the need for Liquibase and Flyway starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49839\"\u003e#49839\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKafka documentation refers to deprecated JSON serializer and deserializer classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/49826\"\u003e#49826\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Elasticsearch Client 9.2.8 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50027\"\u003e#50027\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Groovy 5.0.5 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49911\"\u003e#49911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Hibernate 7.2.12.Final \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50134\"\u003e#50134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to Jackson Bom 3.1.2 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50051\"\u003e#50051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/jaxen-xpath/jaxen/releases/tag/v2.0.1\"\u003eJaxen 2.0.1\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50104\"\u003e#50104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to \u003ca href=\"https://github.com/FirebirdSQL/jaybird/releases/tag/v6.0.5\"\u003eJaybird 6.0.5\u003c/a\u003e \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49914\"\u003e#49914\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/8821ad2cd381bb4b9615a61479e1de7305a8ba39\"\u003e\u003ccode\u003e8821ad2\u003c/code\u003e\u003c/a\u003e Release v4.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9e4048a03f17adfe78057a3c4d5b4693305c0ae0\"\u003e\u003ccode\u003e9e4048a\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/20bb11c3984802990572ddbeae8b66885a8f2462\"\u003e\u003ccode\u003e20bb11c\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.15-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/98daa8ea30f39a5b0ca6768b5cbc2dc8698ef4e1\"\u003e\u003ccode\u003e98daa8e\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9dc5aa2863f598a15d3dfa116f4b89249daba7e7\"\u003e\u003ccode\u003e9dc5aa2\u003c/code\u003e\u003c/a\u003e Polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/874f6294b91da18367b8b5ab7b2fad3fa23cfba6\"\u003e\u003ccode\u003e874f629\u003c/code\u003e\u003c/a\u003e Fix default security with actuator but without health\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/e41b3bf731d1134bc18ec1f68ac01e0fe1c54923\"\u003e\u003ccode\u003ee41b3bf\u003c/code\u003e\u003c/a\u003e Enable hostname verification for SSL connections to Elasticsearch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ef8527bb0ef8f564f4f9c57a7be99a7aa96c6ab0\"\u003e\u003ccode\u003eef8527b\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/f533a4549c3999aac30cb5830f07dc304933e93d\"\u003e\u003ccode\u003ef533a45\u003c/code\u003e\u003c/a\u003e Do not follow symlinks when writing PID file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4a7bd332b6d19fef1aa4cf28434985f2b03a2e0f\"\u003e\u003ccode\u003e4a7bd33\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v4.0.3...v4.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.hibernate.orm` from 7.2.6.Final to 7.3.3.Final\n\nUpdates `com.github.ben-manes.versions` from 0.53.0 to 0.54.0\n\nUpdates `gradle-wrapper` from 9.4.0 to 9.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.0/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.0 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0 RC4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/3fe117d68f3907790f3809f121aa36303a9151f8\"\u003e\u003ccode\u003e3fe117d\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37703\"\u003e#37703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/33d145af6fbe7cf7c9d84646b6d7f32fea91d5e2\"\u003e\u003ccode\u003e33d145a\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7a05d1ed48442eb5da4d6e2b6593da55cdec1da\"\u003e\u003ccode\u003ef7a05d1\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37654\"\u003e#37654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/266facdcbcb0b4c60120cc118eaf0f652bfcdfe5\"\u003e\u003ccode\u003e266facd\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0ad6dd8e143455707e444aa7e3d38327a3366513\"\u003e\u003ccode\u003e0ad6dd8\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37646\"\u003e#37646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/966025d5850d46c9158a2f25e4096222277ecf57\"\u003e\u003ccode\u003e966025d\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e7455734449e422accebf44cf7b31bf93e3a770c\"\u003e\u003ccode\u003ee745573\u003c/code\u003e\u003c/a\u003e Polish IP docs (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37642\"\u003e#37642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d5cfd079acd2c8f1182edd6ec23dbab571132d0a\"\u003e\u003ccode\u003ed5cfd07\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37629\"\u003e#37629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/acdf0c36fa13ba09a7ff5b51f79b9af4b1a097ee\"\u003e\u003ccode\u003eacdf0c3\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7d0e4f6f7896426a8b24091388e4c252b62faef\"\u003e\u003ccode\u003ef7d0e4f\u003c/code\u003e\u003c/a\u003e Rename anchor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.0...v9.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/cdome/ollumi/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdome%2Follumi/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"}},{"old_version":"3.2.3","new_version":"3.2.4","update_type":"patch","path":null,"pr_created_at":"2026-05-06T15:56:32.000Z","version_change":"3.2.3 → 3.2.4","issue":{"uuid":"4392739855","node_id":"PR_kwDOMN8xpM7Y1jy4","number":544,"state":"closed","title":"Bump the minor group across 1 directory with 3 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-11T23:32:52.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-06T15:56:32.000Z","updated_at":"2026-05-11T23:32:54.000Z","time_to_close":459380,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"minor","update_count":3,"packages":[{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"com.fasterxml.jackson.datatype:jackson-datatype-jsr310","old_version":"2.21.2","new_version":"2.21.3"},{"name":"redis.clients:jedis","old_version":"7.4.1","new_version":"7.5.0","repository_url":"https://github.com/redis/jedis"}],"path":null,"ecosystem":"maven"},"body":"Bumps the minor group with 3 updates in the / directory: [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine), com.fasterxml.jackson.datatype:jackson-datatype-jsr310 and [redis.clients:jedis](https://github.com/redis/jedis).\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.21.2 to 2.21.3\n\nUpdates `redis.clients:jedis` from 7.4.1 to 7.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/jedis/releases\"\u003eredis.clients:jedis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.5.0\u003c/h2\u003e\n\u003ch1\u003eChanges\u003c/h1\u003e\n\u003cp\u003eThis release refines TLS behaviour to enhance security and begins consolidating TLS configuration on \u003ccode\u003eSslOptions\u003c/code\u003e. The introduction of hostname verification by default significantly improves the safety of TLS connections. For further details, see \u003ca href=\"https://redirect.github.com/redis/jedis/issues/4497\"\u003e#4497\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e🔧 Change in Behaviour\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe legacy \u003ccode\u003essl(true)\u003c/code\u003e TLS path now enables hostname verification by default (\u003ca href=\"https://redirect.github.com/redis/jedis/issues/4497\"\u003e#4497\u003c/a\u003e). It now rejects certificates whose SAN/CN does not match the target host, making TLS connections safer. The \u003ccode\u003eSslOptions\u003c/code\u003e-based configuration remains unchanged.\u003c/li\u003e\n\u003cli\u003eDeprecate legacy SSL configuration in favor of \u003ccode\u003eSslOptions\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/redis/jedis/issues/4497\"\u003e#4497\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/ggivo\"\u003e\u003ccode\u003e@​ggivo\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/redis/jedis/compare/v7.4.1...v7.5.0\"\u003ehttps://github.com/redis/jedis/compare/v7.4.1...v7.5.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/redis/jedis/commit/028bfeea0d02c8425b8210d6112dbae6dd20aa9f\"\u003e\u003ccode\u003e028bfee\u003c/code\u003e\u003c/a\u003e [7.5] Backport \u003ca href=\"https://redirect.github.com/redis/jedis/issues/4495\"\u003e#4495\u003c/a\u003e: Enforce hostname verification by default for TLS connec...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/jedis/commit/43dec3ba9628415540b1b4e0e7df27d4b7daa96a\"\u003e\u003ccode\u003e43dec3b\u003c/code\u003e\u003c/a\u003e bump version to 7.5.0-SNAPSHOT (\u003ca href=\"https://redirect.github.com/redis/jedis/issues/4496\"\u003e#4496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/redis/jedis/compare/v7.4.1...v7.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e","html_url":"https://github.com/navikt/aap-tilgang/pull/544","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Faap-tilgang/issues/544","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/544/packages"}},{"old_version":"3.2.3","new_version":"3.2.4","update_type":"patch","path":null,"pr_created_at":"2026-05-06T06:44:23.000Z","version_change":"3.2.3 → 3.2.4","issue":{"uuid":"4389329810","node_id":"PR_kwDOMPQJ687YqQ1V","number":819,"state":"closed","title":"Bump the minor group across 1 directory with 2 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-11T08:13:29.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-06T06:44:23.000Z","updated_at":"2026-05-11T08:13:32.000Z","time_to_close":437346,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"minor","update_count":2,"packages":[{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"org.postgresql:postgresql","old_version":"42.7.10","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"}],"path":null,"ecosystem":"maven"},"body":"Bumps the minor group with 2 updates in the / directory: [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) and [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc).\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.postgresql:postgresql` from 42.7.10 to 42.7.11\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.11\u003c/h2\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Add sources and javadocs to shaded published lib generation \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/4043\"\u003e#4043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate Changelog and website for release of 42.7.11 \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/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scram fix location in changelog and update published artifact developer list \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/4041\"\u003e#4041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict test with scram_iterations to v16+ and release notes \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/4040\"\u003e#4040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update ubuntu:24.04 docker digest to 84e77de \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4017\"\u003e#4017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add tests for QueryExecutor#getTransactionState \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/4006\"\u003e#4006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update actions/create-github-app-token action to v2.2.2 \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3983\"\u003e#3983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky CopyBothResponseTest by using WAL flush LSN \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/3979\"\u003e#3979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky replication restart tests by waiting for confirmed_flush_lsn \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/3975\"\u003e#3975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix flaky LogicalReplicationStatusTest by polling pg_stat_replication \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/3974\"\u003e#3974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace Appveyor with ikalnytskyi/action-setup-postgres \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/3966\"\u003e#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: move test table creation from \u003ca href=\"https://github.com/BeforeEach\"\u003e\u003ccode\u003e@​BeforeEach\u003c/code\u003e\u003c/a\u003e to \u003ca href=\"https://github.com/BeforeAll\"\u003e\u003ccode\u003e@​BeforeAll\u003c/code\u003e\u003c/a\u003e \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/3967\"\u003e#3967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn jsonb as PGObject fixes Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3926\"\u003e#3926\u003c/a\u003e \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/3956\"\u003e#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docker scripts  \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/3958\"\u003e#3958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement require_auth, this is pretty much how libpq does this.  \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/3895\"\u003e#3895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add SCRAM authentication test setup section to TESTING.md \u003ca href=\"https://github.com/emmaeng700\"\u003e\u003ccode\u003e@​emmaeng700\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3945\"\u003e#3945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RequireServerVersion annotation for tests \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/3939\"\u003e#3939\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message \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/3728\"\u003e#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command \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/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW \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/3973\"\u003e#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in \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/3968\"\u003e#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers \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/3962\"\u003e#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison \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/3961\"\u003e#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e) \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/3960\"\u003e#3960\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc \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/4035\"\u003e#4035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use \u003ccode\u003e@​vlsi/github-actions-random-matrix\u003c/code\u003e npm package \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/4008\"\u003e#4008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use tag names for pinning github actions, pin ikalnytskyi/action-setup-postgres \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/4007\"\u003e#4007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: bump errorprone to 2.48.0 \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/4005\"\u003e#4005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add \u003ca href=\"https://github.com/DisableLogger\"\u003e\u003ccode\u003e@​DisableLogger\u003c/code\u003e\u003c/a\u003e annotation to suppress expected log warnings in tests \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/3971\"\u003e#3971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: suppress deprecations in test code to reduce build verbosity \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/3972\"\u003e#3972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace log warning in ConnectionFactory.closeStream with Throwable.addSuppressed \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/3970\"\u003e#3970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use greedy pairwise coverage for CI matrix generation \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/3965\"\u003e#3965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use full version tags in GitHub Actions comments \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/3963\"\u003e#3963\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⬆️ Dependencies\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/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.11] (2026-04-28)\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: implement require_auth connection property, aligning with libpq behavior [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3895\"\u003epgjdbc/pgjdbc#3895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace Appveyor CI with ikalnytskyi/action-setup-postgres [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3966\"\u003epgjdbc/pgjdbc#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: upgrade Gradle to v9 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3978\"\u003e#3978\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3978\"\u003epgjdbc/pgjdbc#3978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3728\"\u003epgjdbc/pgjdbc#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3996\"\u003epgjdbc/pgjdbc#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3973\"\u003epgjdbc/pgjdbc#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: make sure the driver honours connectTimeout when retrying the connection [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3962\"\u003epgjdbc/pgjdbc#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison to handle unsigned values correctly [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3961\"\u003epgjdbc/pgjdbc#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3957\"\u003epgjdbc/pgjdbc#3957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: return jsonb as PGObject instead of String [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3956\"\u003epgjdbc/pgjdbc#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: align SSL key file permission check with libpq [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3952\"\u003e#3952\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3952\"\u003epgjdbc/pgjdbc#3952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: guard connection closed flag with a reentrant lock to protect against concurrent close [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3905\"\u003e#3905\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3905\"\u003epgjdbc/pgjdbc#3905\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/pgjdbc/pgjdbc/commit/78e261ff2a7f16a37bdceb2204f67e484387da2f\"\u003e\u003ccode\u003e78e261f\u003c/code\u003e\u003c/a\u003e fix: Add sources and javadocs to shaded published lib generation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/1e09fa0496377296c9e2ef3bfd2b409945fba17a\"\u003e\u003ccode\u003e1e09fa0\u003c/code\u003e\u003c/a\u003e update Changelog and website for release of 42.7.11 (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/d479fa5b8c8c915a441ce1f2448f69f23dd0b66c\"\u003e\u003ccode\u003ed479fa5\u003c/code\u003e\u003c/a\u003e Fix scram fix location in changelog and update published artifact developer l...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/b04fc46af6c207bc7ce9e788fea8c43d18b73d0f\"\u003e\u003ccode\u003eb04fc46\u003c/code\u003e\u003c/a\u003e docs: Add scram max iters fix to changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/cf548225b4078db954765339720ffdf3bc94e5a6\"\u003e\u003ccode\u003ecf54822\u003c/code\u003e\u003c/a\u003e test: Disable scram test on older version without scram_iterations GUC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/7dbcc79b2b4adf7b71458c9434d2c43cec7713b9\"\u003e\u003ccode\u003e7dbcc79\u003c/code\u003e\u003c/a\u003e test: Add SCRAM max iteration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/c9d41d1332a7426fcef19ff89f2e6b1116429143\"\u003e\u003ccode\u003ec9d41d1\u003c/code\u003e\u003c/a\u003e fix: Limit SCRAM PBKDF2 iterations accepted from the server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/a340cb2b0ae24c0d98ad9dec569200ebb704d6aa\"\u003e\u003ccode\u003ea340cb2\u003c/code\u003e\u003c/a\u003e style: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/77837f80c0c20a9f33f9e21b091f4d4552f8e753\"\u003e\u003ccode\u003e77837f8\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.openrewrite.rewrite:org.openrewrite.rewrite....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/23af03bc839af5217ea141946ae41e648264061c\"\u003e\u003ccode\u003e23af03b\u003c/code\u003e\u003c/a\u003e chore(deps): update actions/checkout action to v6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgjdbc/pgjdbc/compare/REL42.7.10...REL42.7.11\"\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/navikt/aap-statistikk/pull/819","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Faap-statistikk/issues/819","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/819/packages"}},{"old_version":"3.2.3","new_version":"3.2.4","update_type":"patch","path":null,"pr_created_at":"2026-05-05T01:23:26.000Z","version_change":"3.2.3 → 3.2.4","issue":{"uuid":"4380820137","node_id":"PR_kwDOLgSwgM7YOhCH","number":719,"state":"open","title":"build(deps): bump com.github.ben-manes.caffeine:caffeine from 3.2.3 to 3.2.4","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-05T01:23:26.000Z","updated_at":"2026-05-08T12:32:58.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"}],"path":null,"ecosystem":"maven"},"body":"Bumps [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) from 3.2.3 to 3.2.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/metaschema-framework/metaschema-java/pull/719","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/metaschema-framework%2Fmetaschema-java/issues/719","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/719/packages"}},{"old_version":"3.2.3","new_version":"3.2.4","update_type":"patch","path":null,"pr_created_at":"2026-05-04T22:47:55.000Z","version_change":"3.2.3 → 3.2.4","issue":{"uuid":"4380175452","node_id":"PR_kwDOClijW87YMZ-J","number":67,"state":"closed","title":"Bump com.github.ben-manes.caffeine:caffeine from 3.2.3 to 3.2.4","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-05T08:51:38.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-04T22:47:55.000Z","updated_at":"2026-05-05T08:51:46.000Z","time_to_close":36223,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"}],"path":null,"ecosystem":"maven"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) from 3.2.3 to 3.2.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/hibernate/quarkus-local-cache/pull/67","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hibernate%2Fquarkus-local-cache/issues/67","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/67/packages"}},{"old_version":"3.2.3","new_version":"3.2.4","update_type":"patch","path":null,"pr_created_at":"2026-05-04T22:12:08.000Z","version_change":"3.2.3 → 3.2.4","issue":{"uuid":"4380019310","node_id":"PR_kwDOCRWrec7YL5Av","number":1524,"state":"open","title":"Bump com.github.ben-manes.caffeine:caffeine from 3.2.3 to 3.2.4","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":["tommystendahl"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-04T22:12:08.000Z","updated_at":"2026-05-05T07:04:38.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"}],"path":null,"ecosystem":"maven"},"body":"Bumps [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) from 3.2.3 to 3.2.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/Ericsson/ecchronos/pull/1524","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ericsson%2Fecchronos/issues/1524","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1524/packages"}},{"old_version":"3.2.3","new_version":"3.2.4","update_type":"patch","path":"/tools/krit-types","pr_created_at":"2026-05-04T11:54:04.000Z","version_change":"3.2.3 → 3.2.4","issue":{"uuid":"4376331058","node_id":"PR_kwDOSDva4M7X_tB7","number":1122,"state":"open","title":"Bump the gradle-minor-patch group in /tools/krit-types 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-05-04T11:54:04.000Z","updated_at":"2026-05-04T11:54:05.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"gradle-minor-patch","update_count":2,"packages":[{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"}],"path":"/tools/krit-types","ecosystem":"maven"},"body":"Bumps the gradle-minor-patch group in /tools/krit-types with 2 updates: [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) and [gradle-wrapper](https://github.com/gradle/gradle).\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gradle-wrapper` from 9.4.1 to 9.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.5.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.0/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.0 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.5.0/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e9.5.0 RC4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/3fe117d68f3907790f3809f121aa36303a9151f8\"\u003e\u003ccode\u003e3fe117d\u003c/code\u003e\u003c/a\u003e Update jdks.yaml (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37703\"\u003e#37703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/33d145af6fbe7cf7c9d84646b6d7f32fea91d5e2\"\u003e\u003ccode\u003e33d145a\u003c/code\u003e\u003c/a\u003e Update jdks.yaml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7a05d1ed48442eb5da4d6e2b6593da55cdec1da\"\u003e\u003ccode\u003ef7a05d1\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37654\"\u003e#37654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/266facdcbcb0b4c60120cc118eaf0f652bfcdfe5\"\u003e\u003ccode\u003e266facd\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.5.0-rc-4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0ad6dd8e143455707e444aa7e3d38327a3366513\"\u003e\u003ccode\u003e0ad6dd8\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37646\"\u003e#37646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/966025d5850d46c9158a2f25e4096222277ecf57\"\u003e\u003ccode\u003e966025d\u003c/code\u003e\u003c/a\u003e Suppress OSC taskbar reset on plain/piped stdout\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e7455734449e422accebf44cf7b31bf93e3a770c\"\u003e\u003ccode\u003ee745573\u003c/code\u003e\u003c/a\u003e Polish IP docs (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37642\"\u003e#37642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d5cfd079acd2c8f1182edd6ec23dbab571132d0a\"\u003e\u003ccode\u003ed5cfd07\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37629\"\u003e#37629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/acdf0c36fa13ba09a7ff5b51f79b9af4b1a097ee\"\u003e\u003ccode\u003eacdf0c3\u003c/code\u003e\u003c/a\u003e Ensure BuildOperationQueue will progress without extra leases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7d0e4f6f7896426a8b24091388e4c252b62faef\"\u003e\u003ccode\u003ef7d0e4f\u003c/code\u003e\u003c/a\u003e Rename anchor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.1...v9.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/kaeawc/krit/pull/1122","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaeawc%2Fkrit/issues/1122","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1122/packages"}},{"old_version":"3.2.3","new_version":"3.2.4","update_type":"patch","path":"the maven-minor-and-patch group","pr_created_at":"2026-05-04T06:53:04.000Z","version_change":"3.2.3 → 3.2.4","issue":{"uuid":"4374550175","node_id":"PR_kwDOSNGU187X5yHh","number":34,"state":"open","title":"build(deps): bump com.github.ben-manes.caffeine:caffeine from 3.2.3 to 3.2.4 in the maven-minor-and-patch group","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-05-04T06:53:04.000Z","updated_at":"2026-05-04T06:53:06.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"}],"path":"the maven-minor-and-patch group","ecosystem":"maven"},"body":"Bumps the maven-minor-and-patch group with 1 update: [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine).\n\nUpdates `com.github.ben-manes.caffeine:caffeine` from 3.2.3 to 3.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ben-manes/caffeine/releases\"\u003ecom.github.ben-manes.caffeine:caffeine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved access expiration's read performance by avoiding false sharing effects caused by the timestamp update\u003c/li\u003e\n\u003cli\u003eFixed head-of-line blocking of expiration queues caused by in-flight async entries (\u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed various minor issues found using AI audits\u003c/li\u003e\n\u003cli\u003eAdded \u003ca href=\"https://docs.oracle.com/en/java/javase/25/docs/api//java.base/java/io/ObjectInputFilter.html\"\u003eObjectInputFilter\u003c/a\u003e support to JCache\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/836b65c0a83e5d1641ded9c6de578654bc04b2e9\"\u003e\u003ccode\u003e836b65c\u003c/code\u003e\u003c/a\u003e use a consistent expiration tolerance calculation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0dc7daf962730048fe46ae4626827afbb97ddf92\"\u003e\u003ccode\u003e0dc7daf\u003c/code\u003e\u003c/a\u003e resurrect in-flight async entries on expiration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/0bac8b54fd634ffe95d35ccd1d94daba95e7b369\"\u003e\u003ccode\u003e0bac8b5\u003c/code\u003e\u003c/a\u003e handle head-of-line blocking of expiration queues (fixes \u003ca href=\"https://redirect.github.com/ben-manes/caffeine/issues/1954\"\u003e#1954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/ff258366de0a89129152ead72524ce88f8fca67b\"\u003e\u003ccode\u003eff25836\u003c/code\u003e\u003c/a\u003e test polish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f3a6176e2e3a7fe085214472858c6029c108fc3f\"\u003e\u003ccode\u003ef3a6176\u003c/code\u003e\u003c/a\u003e Fix JCache close/createCache races and recursive teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/622fbe7dbf7606f114b956205706935be2fcf3c8\"\u003e\u003ccode\u003e622fbe7\u003c/code\u003e\u003c/a\u003e Fix removal in identity views and widen hill-climber counters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/8da5a7a05d8b725c9dbd577be8ffaf2372aa7e23\"\u003e\u003ccode\u003e8da5a7a\u003c/code\u003e\u003c/a\u003e defer weighing the entry until after the putIfAbsent hit fast-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/94ad0ff8556c9923a8d9746ab85af9ee830dd051\"\u003e\u003ccode\u003e94ad0ff\u003c/code\u003e\u003c/a\u003e Record eviction stats before notifying the removal listener consistently\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/f94c0113d0c98dc0afaadf1f6748ea280aa4dff7\"\u003e\u003ccode\u003ef94c011\u003c/code\u003e\u003c/a\u003e Auto-assert eviction stats alongside notifications.withCause.exclusively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ben-manes/caffeine/commit/2e945e090fbff4f96251dfe1bacba3780a5bdb0c\"\u003e\u003ccode\u003e2e945e0\u003c/code\u003e\u003c/a\u003e Skip timestamp writes within tolerance on the read path.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ben-manes/caffeine/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.github.ben-manes.caffeine:caffeine\u0026package-manager=maven\u0026previous-version=3.2.3\u0026new-version=3.2.4)](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/karlkauc/findatex-validator/pull/34","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/karlkauc%2Ffindatex-validator/issues/34","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/34/packages"}},{"old_version":"3.1.8","new_version":"3.2.4","update_type":"minor","path":null,"pr_created_at":"2026-05-04T06:42:37.000Z","version_change":"3.1.8 → 3.2.4","issue":{"uuid":"4374497173","node_id":"PR_kwDORw-J0s7X5m9Q","number":53,"state":"open","title":"chore(deps): bump the backend-dependencies group with 41 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-04T06:42:37.000Z","updated_at":"2026-05-04T06:46:13.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"backend-dependencies","update_count":41,"packages":[{"name":"com.google.cloud:spring-cloud-gcp-dependencies","old_version":"5.1.2","new_version":"8.0.2","repository_url":"https://github.com/GoogleCloudPlatform/spring-cloud-gcp"},{"name":"com.google.firebase:firebase-admin","old_version":"9.2.0","new_version":"9.8.0","repository_url":"https://github.com/firebase/firebase-admin-java"},{"name":"com.google.auth:google-auth-library-oauth2-http","old_version":"1.14.0","new_version":"1.46.0"},{"name":"software.amazon.awssdk:secretsmanager","old_version":"2.25.36","new_version":"2.44.0"},{"name":"software.amazon.awssdk:regions","old_version":"2.25.36","new_version":"2.44.0"},{"name":"com.azure:azure-identity","old_version":"1.12.2","new_version":"1.18.3","repository_url":"https://github.com/Azure/azure-sdk-for-java"},{"name":"com.azure:azure-security-keyvault-secrets","old_version":"4.8.2","new_version":"4.10.6","repository_url":"https://github.com/Azure/azure-sdk-for-java"},{"name":"com.squareup.okhttp3:okhttp","old_version":"4.12.0","new_version":"5.3.2","repository_url":"https://github.com/square/okhttp"},{"name":"com.squareup.okhttp3:logging-interceptor","old_version":"4.12.0","new_version":"5.3.2","repository_url":"https://github.com/square/okhttp"},{"name":"com.fasterxml.jackson.core:jackson-core","old_version":"2.17.0","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson-core"},{"name":"com.fasterxml.jackson.core:jackson-annotations","old_version":"2.17.0","new_version":"2.21.3"},{"name":"com.fasterxml.jackson.core:jackson-databind","old_version":"2.17.0","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson"},{"name":"com.fasterxml.jackson.datatype:jackson-datatype-jsr310","old_version":"2.17.0","new_version":"2.21.3"},{"name":"com.fasterxml.jackson.module:jackson-module-afterburner","old_version":"2.17.0","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson-modules-base"},{"name":"org.jsoup:jsoup","old_version":"1.17.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.slf4j:slf4j-api","old_version":"2.0.16","new_version":"2.0.17"},{"name":"ch.qos.logback:logback-classic","old_version":"1.5.8","new_version":"1.5.32","repository_url":"https://github.com/qos-ch/logback"},{"name":"ch.qos.logback:logback-core","old_version":"1.5.8","new_version":"1.5.32","repository_url":"https://github.com/qos-ch/logback"},{"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":"jakarta.servlet:jakarta.servlet-api","old_version":"6.0.0","new_version":"6.1.0","repository_url":"https://github.com/eclipse-ee4j/servlet-api"},{"name":"io.github.resilience4j:resilience4j-core","old_version":"2.1.0","new_version":"2.4.0","repository_url":"https://github.com/resilience4j/resilience4j"},{"name":"io.github.resilience4j:resilience4j-retry","old_version":"2.1.0","new_version":"2.4.0","repository_url":"https://github.com/resilience4j/resilience4j"},{"name":"io.github.resilience4j:resilience4j-circuitbreaker","old_version":"2.1.0","new_version":"2.4.0","repository_url":"https://github.com/resilience4j/resilience4j"},{"name":"com.github.vladimir-bukhtoyarov:bucket4j-core","old_version":"7.6.0","new_version":"8.0.1","repository_url":"https://github.com/vladimir-bukhtoyarov/bucket4j"},{"name":"io.micrometer:micrometer-core","old_version":"1.12.3","new_version":"1.16.5","repository_url":"https://github.com/micrometer-metrics/micrometer"},{"name":"io.micrometer:micrometer-registry-prometheus","old_version":"1.12.3","new_version":"1.16.5","repository_url":"https://github.com/micrometer-metrics/micrometer"},{"name":"io.opentelemetry:opentelemetry-api","old_version":"1.36.0","new_version":"1.61.0","repository_url":"https://github.com/open-telemetry/opentelemetry-java"},{"name":"io.opentelemetry:opentelemetry-sdk","old_version":"1.36.0","new_version":"1.61.0","repository_url":"https://github.com/open-telemetry/opentelemetry-java"},{"name":"io.opentelemetry:opentelemetry-exporter-otlp","old_version":"1.36.0","new_version":"1.61.0","repository_url":"https://github.com/open-telemetry/opentelemetry-java"},{"name":"io.lettuce:lettuce-core","old_version":"6.3.0.RELEASE","new_version":"7.5.1.RELEASE","repository_url":"https://github.com/redis/lettuce"},{"name":"org.apache.commons:commons-pool2","old_version":"2.12.0","new_version":"2.13.1"},{"name":"com.zaxxer:HikariCP","old_version":"5.1.0","new_version":"7.0.2","repository_url":"https://github.com/brettwooldridge/HikariCP"},{"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":"org.projectlombok:lombok","old_version":"1.18.34","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"org.junit:junit-bom","old_version":"5.10.0","new_version":"6.0.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.mockito:mockito-core","old_version":"5.7.0","new_version":"5.23.0","repository_url":"https://github.com/mockito/mockito"},{"name":"org.mockito:mockito-junit-jupiter","old_version":"5.7.0","new_version":"5.23.0","repository_url":"https://github.com/mockito/mockito"},{"name":"org.springframework.boot","old_version":"3.3.4","new_version":"4.0.6","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"gradle-wrapper","old_version":"8.10","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the backend-dependencies group with 41 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [com.google.cloud:spring-cloud-gcp-dependencies](https://github.com/GoogleCloudPlatform/spring-cloud-gcp) | `5.1.2` | `8.0.2` |\n| [com.google.firebase:firebase-admin](https://github.com/firebase/firebase-admin-java) | `9.2.0` | `9.8.0` |\n| com.google.auth:google-auth-library-oauth2-http | `1.14.0` | `1.46.0` |\n| software.amazon.awssdk:secretsmanager | `2.25.36` | `2.44.0` |\n| software.amazon.awssdk:regions | `2.25.36` | `2.44.0` |\n| [com.azure:azure-identity](https://github.com/Azure/azure-sdk-for-java) | `1.12.2` | `1.18.3` |\n| [com.azure:azure-security-keyvault-secrets](https://github.com/Azure/azure-sdk-for-java) | `4.8.2` | `4.10.6` |\n| [com.squareup.okhttp3:okhttp](https://github.com/square/okhttp) | `4.12.0` | `5.3.2` |\n| [com.squareup.okhttp3:logging-interceptor](https://github.com/square/okhttp) | `4.12.0` | `5.3.2` |\n| [com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) | `2.17.0` | `2.21.3` |\n| com.fasterxml.jackson.core:jackson-annotations | `2.17.0` | `2.21.3` |\n| [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) | `2.17.0` | `2.21.3` |\n| com.fasterxml.jackson.datatype:jackson-datatype-jsr310 | `2.17.0` | `2.21.3` |\n| [com.fasterxml.jackson.module:jackson-module-afterburner](https://github.com/FasterXML/jackson-modules-base) | `2.17.0` | `2.21.3` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.17.1` | `1.22.2` |\n| org.slf4j:slf4j-api | `2.0.16` | `2.0.17` |\n| [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) | `1.5.8` | `1.5.32` |\n| [ch.qos.logback:logback-core](https://github.com/qos-ch/logback) | `1.5.8` | `1.5.32` |\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| [jakarta.servlet:jakarta.servlet-api](https://github.com/eclipse-ee4j/servlet-api) | `6.0.0` | `6.1.0` |\n| [io.github.resilience4j:resilience4j-core](https://github.com/resilience4j/resilience4j) | `2.1.0` | `2.4.0` |\n| [io.github.resilience4j:resilience4j-retry](https://github.com/resilience4j/resilience4j) | `2.1.0` | `2.4.0` |\n| [io.github.resilience4j:resilience4j-circuitbreaker](https://github.com/resilience4j/resilience4j) | `2.1.0` | `2.4.0` |\n| [com.github.vladimir-bukhtoyarov:bucket4j-core](https://github.com/vladimir-bukhtoyarov/bucket4j) | `7.6.0` | `8.0.1` |\n| [io.micrometer:micrometer-core](https://github.com/micrometer-metrics/micrometer) | `1.12.3` | `1.16.5` |\n| [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) | `1.12.3` | `1.16.5` |\n| [io.opentelemetry:opentelemetry-api](https://github.com/open-telemetry/opentelemetry-java) | `1.36.0` | `1.61.0` |\n| [io.opentelemetry:opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-java) | `1.36.0` | `1.61.0` |\n| [io.opentelemetry:opentelemetry-exporter-otlp](https://github.com/open-telemetry/opentelemetry-java) | `1.36.0` | `1.61.0` |\n| [io.lettuce:lettuce-core](https://github.com/redis/lettuce) | `6.3.0.RELEASE` | `7.5.1.RELEASE` |\n| org.apache.commons:commons-pool2 | `2.12.0` | `2.13.1` |\n| [com.zaxxer:HikariCP](https://github.com/brettwooldridge/HikariCP) | `5.1.0` | `7.0.2` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.1.8` | `3.2.4` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.34` | `1.18.46` |\n| [org.junit:junit-bom](https://github.com/junit-team/junit-framework) | `5.10.0` | `6.0.3` |\n| [org.mockito:mockito-core](https://github.com/mockito/mockito) | `5.7.0` | `5.23.0` |\n| [org.mockito:mockito-junit-jupiter](https://github.com/mockito/mockito) | `5.7.0` | `5.23.0` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `3.3.4` | `4.0.6` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.10` | `9.5.0` |\n\nUpdates `com.google.cloud:spring-cloud-gcp-dependencies` from 5.1.2 to 8.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/releases\"\u003ecom.google.cloud:spring-cloud-gcp-dependencies's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/compare/v8.0.1...v8.0.2\"\u003e8.0.2\u003c/a\u003e (2026-04-09)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update dependency com.google.cloud:libraries-bom to v26.79.0 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4401\"\u003e#4401\u003c/a\u003e) (\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/ea49ad19ea80c460ada05f7e8efd602ec6abeb99\"\u003eea49ad1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update gapic-generator-java-bom.version to v2.68.0 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4400\"\u003e#4400\u003c/a\u003e) (\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/23eb6e881c6a1ac2ff2d3bddadb537c4a1bdd4cc\"\u003e23eb6e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eenhance check with maven central (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4369\"\u003e#4369\u003c/a\u003e) (\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/bc21fe7d6472459a8b3b20e1a2013d1d97650170\"\u003ebc21fe7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFlaky Test \u003ccode\u003eConverterAwareMappingSpannerEntityReaderTests.readUnmatachableTypesTest()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4187\"\u003e#4187\u003c/a\u003e) (\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/3c1ce61d201d732a8886ca06900fd83962f36c2a\"\u003e3c1ce61\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNullPointerException in spring-cloud-gcp-data-spanner (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4383\"\u003e#4383\u003c/a\u003e) (\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/366c6fe5791aff9bf05e3e55bdaff9fcc2354067\"\u003e366c6fe\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4381\"\u003e#4381\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd Spring Boot 4.0 migration release notes (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4355\"\u003e#4355\u003c/a\u003e) (\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/20f22d31d89b2441eb81d8d03914220ba7e37b62\"\u003e20f22d3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev8.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/compare/v8.0.0...v8.0.1\"\u003e8.0.1\u003c/a\u003e (2026-03-09)\u003c/h2\u003e\n\u003cp\u003eSpring Boot 4.0 / Spring 7 Migration\nThis release marks a major architectural upgrade, moving the project baseline to Java 17 (with JDK 25 for Native Image) and Jakarta EE 11. This version focuses on achieving compatibility with the new modular architecture of Spring Boot 4.0, the refactored SpEL evaluation engine in Spring Data 2025.1, and enhanced AOT support for GraalVM. For a comprehensive overview of upstream changes, please refer to the official \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Migration-Guide\"\u003eSpring Boot 4.0 Migration Guide\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003e⚠️ Breaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSpring Data 4.0 (SpEL Evaluation): Multiple constructors removed due to the removal of QueryMethodEvaluationContextProvider. Users must migrate to constructors accepting ValueExpressionDelegate.\nAffected Classes: DatastoreQueryLookupStrategy, GqlDatastoreQuery, SpannerQueryLookupStrategy, SqlSpannerQuery.\nUser Action: If you manually instantiate these classes (e.g., in custom repository implementations), you must replace the   QueryMethodEvaluationContextProvider parameter with ValueExpressionDelegate.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMapping Exceptions: In Spring Data 4.0 (2025.1), metadata discovery and entity mapping failures are now uniformly wrapped in a top-level org.springframework.data.mapping.MappingException.\nImpact: Previously caught module-specific exceptions (e.g., SpannerDataException) may now be nested inside a MappingException.\nUser Action: Update error handling logic to check for the underlying cause. \u0026quot;Use NestedExceptionUtils.getMostSpecificCause() to retrieve specific error message details..\u0026quot;\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNested Exceptions: Following Spring Framework 7.0's changes to NestedRuntimeException, nested exception messages are no longer automatically appended to the top-level getMessage() output.\nUser Action: When constructing custom error messages, you must now explicitly access the cause. \u0026quot;Use NestedExceptionUtils.getMostSpecificCause() to retrieve specific error message details.\u0026quot;\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eActuator Health API: \u003ca href=\"https://docs.spring.io/spring-boot/reference/actuator/endpoints.html#actuator.endpoints.health\"\u003eThe Actuator Health API\u003c/a\u003e has been restructured to support better grouping through the org.springframework.boot.health.contributor package. PubSubHealthIndicator and SpannerHealthIndicator are now registered as HealthContributor beans.\nUser Action: These indicators are now always wrapped into a CompositeHealthContributor by the framework's auto-configuration.    Users who previously injected PubSubHealthIndicator or HealthIndicator directly must now inject HealthContributor and navigate the composite hierarchy if direct access is needed.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebump org.springframework.boot:spring-boot-dependencies from 3.5.3 to 4.0.0\u003c/li\u003e\n\u003cli\u003ebump org.springframework.cloud:spring-cloud-dependencies from 2025.0.0 to 2025.1.0\u003c/li\u003e\n\u003cli\u003ebump com.google.cloud:cloud-sql-socket-factory-bom from 1.25.0 to 1.28.0\u003c/li\u003e\n\u003cli\u003ebump io.r2dbc:r2dbc-postgresql from 1.0.7.RELEASE to 1.1.1.RELEASE\u003c/li\u003e\n\u003cli\u003ebump org.graalvm.buildtools:native-maven-plugin from 0.10.5 to 0.11.3\u003c/li\u003e\n\u003cli\u003ebump jakarta.annotation:jakarta.annotation-api from 1.3.5 to 2.1.1\u003c/li\u003e\n\u003cli\u003ebump com.fasterxml.jackson:jackson-bom from 2.18.2 to 3.0.2 (via tools.jackson)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.4.6\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/compare/v7.4.5...v7.4.6\"\u003e7.4.6\u003c/a\u003e (2026-04-07)\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/GoogleCloudPlatform/spring-cloud-gcp/blob/main/CHANGELOG.md\"\u003ecom.google.cloud:spring-cloud-gcp-dependencies's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/compare/v8.0.1...v8.0.2\"\u003e8.0.2\u003c/a\u003e (2026-04-09)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update dependency com.google.cloud:libraries-bom to v26.79.0 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4401\"\u003e#4401\u003c/a\u003e) (\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/ea49ad19ea80c460ada05f7e8efd602ec6abeb99\"\u003eea49ad1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update gapic-generator-java-bom.version to v2.68.0 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4400\"\u003e#4400\u003c/a\u003e) (\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/23eb6e881c6a1ac2ff2d3bddadb537c4a1bdd4cc\"\u003e23eb6e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eenhance check with maven central (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4369\"\u003e#4369\u003c/a\u003e) (\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/bc21fe7d6472459a8b3b20e1a2013d1d97650170\"\u003ebc21fe7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFlaky Test \u003ccode\u003eConverterAwareMappingSpannerEntityReaderTests.readUnmatachableTypesTest()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4187\"\u003e#4187\u003c/a\u003e) (\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/3c1ce61d201d732a8886ca06900fd83962f36c2a\"\u003e3c1ce61\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNullPointerException in spring-cloud-gcp-data-spanner (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4383\"\u003e#4383\u003c/a\u003e) (\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/366c6fe5791aff9bf05e3e55bdaff9fcc2354067\"\u003e366c6fe\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4381\"\u003e#4381\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd Spring Boot 4.0 migration release notes (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4355\"\u003e#4355\u003c/a\u003e) (\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/20f22d31d89b2441eb81d8d03914220ba7e37b62\"\u003e20f22d3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[8.0.1] Spring Boot 4.0 / Spring 7 Migration\u003c/h2\u003e\n\u003cp\u003eThis release marks a major architectural upgrade, moving the project baseline to \u003cstrong\u003eJava 17\u003c/strong\u003e (with \u003cstrong\u003eJDK 25\u003c/strong\u003e for Native Image) and \u003cstrong\u003eJakarta EE 11\u003c/strong\u003e.\nThis version focuses on achieving compatibility with the new modular architecture of Spring Boot 4.0, the refactored SpEL evaluation engine in Spring Data 2025.1, and enhanced AOT support for GraalVM.\nFor a comprehensive overview of upstream changes, please refer to the official \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Migration-Guide\"\u003eSpring Boot 4.0 Migration Guide\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003e⚠️ Breaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSpring Data 4.0 (SpEL Evaluation):\u003c/strong\u003e Multiple constructors removed due to the removal of \u003ccode\u003eQueryMethodEvaluationContextProvider\u003c/code\u003e. Users must migrate to constructors accepting \u003ccode\u003eValueExpressionDelegate\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eAffected Classes:\u003c/strong\u003e \u003ccode\u003eDatastoreQueryLookupStrategy\u003c/code\u003e, \u003ccode\u003eGqlDatastoreQuery\u003c/code\u003e, \u003ccode\u003eSpannerQueryLookupStrategy\u003c/code\u003e, \u003ccode\u003eSqlSpannerQuery\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUser Action:\u003c/strong\u003e If you manually instantiate these classes (e.g., in custom repository implementations), you must replace the \u003ccode\u003eQueryMethodEvaluationContextProvider\u003c/code\u003e parameter with \u003ccode\u003eValueExpressionDelegate\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMapping Exceptions:\u003c/strong\u003e In Spring Data 4.0 (2025.1), metadata discovery and entity mapping failures are now uniformly wrapped in a top-level \u003ccode\u003eorg.springframework.data.mapping.MappingException\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eImpact:\u003c/strong\u003e Previously caught module-specific exceptions (e.g., \u003ccode\u003eSpannerDataException\u003c/code\u003e) may now be nested inside a \u003ccode\u003eMappingException\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUser Action:\u003c/strong\u003e Update error handling logic to check for the underlying cause. \u0026quot;Use \u003ccode\u003eNestedExceptionUtils.getMostSpecificCause()\u003c/code\u003e to retrieve specific error message details..\u0026quot;\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNested Exceptions:\u003c/strong\u003e Following Spring Framework 7.0's changes to \u003ccode\u003eNestedRuntimeException\u003c/code\u003e, nested exception messages are no longer automatically appended to the top-level \u003ccode\u003egetMessage()\u003c/code\u003e output.\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUser Action:\u003c/strong\u003e When constructing custom error messages, you must now explicitly access the cause. \u0026quot;Use \u003ccode\u003eNestedExceptionUtils.getMostSpecificCause()\u003c/code\u003e to retrieve specific error message details.\u0026quot;\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eActuator Health API:\u003c/strong\u003e \u003ca href=\"https://docs.spring.io/spring-boot/reference/actuator/endpoints.html#actuator.endpoints.health\"\u003eThe Actuator Health API\u003c/a\u003e has been restructured to support better grouping through the \u003ccode\u003eorg.springframework.boot.health.contributor\u003c/code\u003e package. \u003ccode\u003ePubSubHealthIndicator\u003c/code\u003e and \u003ccode\u003eSpannerHealthIndicator\u003c/code\u003e are now registered as \u003ccode\u003eHealthContributor\u003c/code\u003e beans.\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eUser Action:\u003c/strong\u003e These indicators are now \u003cstrong\u003ealways\u003c/strong\u003e wrapped into a \u003ccode\u003eCompositeHealthContributor\u003c/code\u003e by the framework's auto-configuration. Users who previously injected \u003ccode\u003ePubSubHealthIndicator\u003c/code\u003e or \u003ccode\u003eHealthIndicator\u003c/code\u003e directly must now inject \u003ccode\u003eHealthContributor\u003c/code\u003e and navigate the composite hierarchy if direct access is needed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebump \u003ccode\u003eorg.springframework.boot:spring-boot-dependencies\u003c/code\u003e from \u003ccode\u003e3.5.3\u003c/code\u003e to \u003ccode\u003e4.0.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebump \u003ccode\u003eorg.springframework.cloud:spring-cloud-dependencies\u003c/code\u003e from \u003ccode\u003e2025.0.0\u003c/code\u003e to \u003ccode\u003e2025.1.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebump \u003ccode\u003ecom.google.cloud:cloud-sql-socket-factory-bom\u003c/code\u003e from \u003ccode\u003e1.25.0\u003c/code\u003e to \u003ccode\u003e1.28.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebump \u003ccode\u003eio.r2dbc:r2dbc-postgresql\u003c/code\u003e from \u003ccode\u003e1.0.7.RELEASE\u003c/code\u003e to \u003ccode\u003e1.1.1.RELEASE\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebump \u003ccode\u003eorg.graalvm.buildtools:native-maven-plugin\u003c/code\u003e from \u003ccode\u003e0.10.5\u003c/code\u003e to \u003ccode\u003e0.11.3\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebump \u003ccode\u003ejakarta.annotation:jakarta.annotation-api\u003c/code\u003e from \u003ccode\u003e1.3.5\u003c/code\u003e to \u003ccode\u003e2.1.1\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebump \u003ccode\u003ecom.fasterxml.jackson:jackson-bom\u003c/code\u003e from \u003ccode\u003e2.18.2\u003c/code\u003e to \u003ccode\u003e3.0.2\u003c/code\u003e (via \u003ccode\u003etools.jackson\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/compare/v7.4.4...v7.4.5\"\u003e7.4.5\u003c/a\u003e (2026-02-21)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\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/GoogleCloudPlatform/spring-cloud-gcp/commit/107eb9af6500caff1a509c044b5169fe5345cff5\"\u003e\u003ccode\u003e107eb9a\u003c/code\u003e\u003c/a\u003e chore(main): release 8.0.2 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4373\"\u003e#4373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/ea49ad19ea80c460ada05f7e8efd602ec6abeb99\"\u003e\u003ccode\u003eea49ad1\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency com.google.cloud:libraries-bom to v26.79.0 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4401\"\u003e#4401\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/23eb6e881c6a1ac2ff2d3bddadb537c4a1bdd4cc\"\u003e\u003ccode\u003e23eb6e8\u003c/code\u003e\u003c/a\u003e fix(deps): update gapic-generator-java-bom.version to v2.68.0 (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4400\"\u003e#4400\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/80241822cd5b79ac60793cb18d624601714513d0\"\u003e\u003ccode\u003e8024182\u003c/code\u003e\u003c/a\u003e chore: remove duplicate code (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4397\"\u003e#4397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/3c1ce61d201d732a8886ca06900fd83962f36c2a\"\u003e\u003ccode\u003e3c1ce61\u003c/code\u003e\u003c/a\u003e fix: Flaky Test `ConverterAwareMappingSpannerEntityReaderTests.readUnmatachab...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/366c6fe5791aff9bf05e3e55bdaff9fcc2354067\"\u003e\u003ccode\u003e366c6fe\u003c/code\u003e\u003c/a\u003e fix: NullPointerException in spring-cloud-gcp-data-spanner (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4383\"\u003e#4383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/8a2fb16a9fa461b039687c399215948a147940c5\"\u003e\u003ccode\u003e8a2fb16\u003c/code\u003e\u003c/a\u003e util: sync fork with upstream before Initializr PR creation (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4372\"\u003e#4372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/b41442ece15328a04385ee45af8972ae23117fde\"\u003e\u003ccode\u003eb41442e\u003c/code\u003e\u003c/a\u003e util: add DCO sign-off to Spring Initializr PRs (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4371\"\u003e#4371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/a2885024b2fdb5780a1efe478e27345f97a3143e\"\u003e\u003ccode\u003ea288502\u003c/code\u003e\u003c/a\u003e chore: add support for restarting release script from specific step (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4370\"\u003e#4370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/commit/bc21fe7d6472459a8b3b20e1a2013d1d97650170\"\u003e\u003ccode\u003ebc21fe7\u003c/code\u003e\u003c/a\u003e fix: enhance check with maven central (\u003ca href=\"https://redirect.github.com/GoogleCloudPlatform/spring-cloud-gcp/issues/4369\"\u003e#4369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/GoogleCloudPlatform/spring-cloud-gcp/compare/v5.1.2...v8.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.firebase:firebase-admin` from 9.2.0 to 9.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/firebase/firebase-admin-java/releases\"\u003ecom.google.firebase:firebase-admin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eFirebase Admin Java SDK v9.8.0\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(rc): Support Remote Config managed value types (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1167\"\u003e#1167\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: Reimplement HTTP/2 response entity consumption using ApacheHttp2AsyncEntityConsumer and ApacheHttp2Entity (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1181\"\u003e#1181\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[chore] Release 9.8.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1184\"\u003e#1184\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd javadocs to public methods (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1187\"\u003e#1187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump com.google.cloud:libraries-bom from 26.75.0 to 26.76.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1185\"\u003e#1185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump netty.version from 4.2.9.Final to 4.2.10.Final (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1178\"\u003e#1178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps-dev): Bump org.apache.maven.plugins:maven-compiler-plugin (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1180\"\u003e#1180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump com.google.cloud:libraries-bom from 26.74.0 to 26.75.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1179\"\u003e#1179\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFirebase Admin Java SDK v9.7.1\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(fcm): Preserve unmapped \u003ccode\u003eTopicManagementResponse\u003c/code\u003e error reasons (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1073\"\u003e#1073\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[chore] Release 9.7.1 Take 2 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1177\"\u003e#1177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;[chore] Release 9.7.1 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1175\"\u003e#1175\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1176\"\u003e#1176\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[chore] Release 9.7.1 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1175\"\u003e#1175\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: Update release workflow for push triggers (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1174\"\u003e#1174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: Update copyright headers to Google LLC (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1132\"\u003e#1132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump org.codehaus.mojo:exec-maven-plugin (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1165\"\u003e#1165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump com.google.cloud:libraries-bom from 26.72.0 to 26.73.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1163\"\u003e#1163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump org.sonatype.central:central-publishing-maven-plugin (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1169\"\u003e#1169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: Update Github action resources (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1172\"\u003e#1172\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: Update github actions workflows and integration test resources (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1168\"\u003e#1168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: Bump \u003ccode\u003eio.netty\u003c/code\u003e to \u003ccode\u003e4.2.9\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1159\"\u003e#1159\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump org.sonatype.central:central-publishing-maven-plugin (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1140\"\u003e#1140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump org.apache.maven.plugins:maven-source-plugin (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1153\"\u003e#1153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump org.apache.maven.plugins:maven-antrun-plugin (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1154\"\u003e#1154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump io.netty:netty-codec-http (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1157\"\u003e#1157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump com.google.cloud:libraries-bom from 26.71.0 to 26.72.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1155\"\u003e#1155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: Rename default branch to main (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1156\"\u003e#1156\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump org.apache.maven.plugins:maven-compiler-plugin (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1152\"\u003e#1152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump org.jacoco:jacoco-maven-plugin from 0.8.13 to 0.8.14 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1151\"\u003e#1151\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump org.apache.maven.plugins:maven-failsafe-plugin (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1150\"\u003e#1150\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump org.codehaus.mojo:exec-maven-plugin (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1148\"\u003e#1148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump netty.version from 4.2.6.Final to 4.2.7.Final (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1147\"\u003e#1147\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): Bump org.apache.maven.plugins:maven-javadoc-plugin (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1141\"\u003e#1141\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/firebase/firebase-admin-java/commit/5169aae2642a27ca8d423aa28365ca111d34a4d2\"\u003e\u003ccode\u003e5169aae\u003c/code\u003e\u003c/a\u003e [chore] Release 9.8.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1184\"\u003e#1184\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-java/commit/a568b65964a596a78e1b3d468c9e7243778d6fe7\"\u003e\u003ccode\u003ea568b65\u003c/code\u003e\u003c/a\u003e Add javadocs to public methods (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1187\"\u003e#1187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-java/commit/b29ac825c7d78b7aa17c01ee0775352cdbd6c849\"\u003e\u003ccode\u003eb29ac82\u003c/code\u003e\u003c/a\u003e chore(deps): Bump com.google.cloud:libraries-bom from 26.75.0 to 26.76.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1185\"\u003e#1185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-java/commit/2d66ae93ef62e8e6c3d3a7a24dbb7684319ad747\"\u003e\u003ccode\u003e2d66ae9\u003c/code\u003e\u003c/a\u003e fix: Reimplement HTTP/2 response entity consumption using ApacheHttp2AsyncEnt...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-java/commit/b095a066e97c53e38c328515312e75701dbfe3e1\"\u003e\u003ccode\u003eb095a06\u003c/code\u003e\u003c/a\u003e chore(deps): Bump netty.version from 4.2.9.Final to 4.2.10.Final (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1178\"\u003e#1178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-java/commit/72d4b7da451700e80d9608ea0b2ac1d0a5bfc0b3\"\u003e\u003ccode\u003e72d4b7d\u003c/code\u003e\u003c/a\u003e chore(deps-dev): Bump org.apache.maven.plugins:maven-compiler-plugin (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1180\"\u003e#1180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-java/commit/472d0aca64d88b7c0abf4b45ebfc08022538f270\"\u003e\u003ccode\u003e472d0ac\u003c/code\u003e\u003c/a\u003e chore(deps): Bump com.google.cloud:libraries-bom from 26.74.0 to 26.75.0 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1179\"\u003e#1179\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-java/commit/584742fb6a080a98fb0a2ac5e332b253a0d0b263\"\u003e\u003ccode\u003e584742f\u003c/code\u003e\u003c/a\u003e feat(rc): Support Remote Config managed value types (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1167\"\u003e#1167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-java/commit/0e86e0928f3c45af021ed6b47b314ac397020f86\"\u003e\u003ccode\u003e0e86e09\u003c/code\u003e\u003c/a\u003e [chore] Release 9.7.1 Take 2 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1177\"\u003e#1177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/firebase/firebase-admin-java/commit/c32438204a97eef1888487331895b2b2ad0fac43\"\u003e\u003ccode\u003ec324382\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;[chore] Release 9.7.1 (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1175\"\u003e#1175\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/firebase/firebase-admin-java/issues/1176\"\u003e#1176\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/firebase/firebase-admin-java/compare/v9.2.0...v9.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.auth:google-auth-library-oauth2-http` from 1.14.0 to 1.46.0\n\nUpdates `software.amazon.awssdk:secretsmanager` from 2.25.36 to 2.44.0\n\nUpdates `software.amazon.awssdk:regions` from 2.25.36 to 2.44.0\n\nUpdates `com.azure:azure-identity` from 1.12.2 to 1.18.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Azure/azure-sdk-for-java/releases\"\u003ecom.azure:azure-identity's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ecom.azure+azure-identity_1.18.3\u003c/h2\u003e\n\u003ch2\u003e1.18.3 (2026-04-30)\u003c/h2\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003ch4\u003eDependency Updates\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eUpgraded \u003ccode\u003eazure-core\u003c/code\u003e from \u003ccode\u003e1.57.1\u003c/code\u003e to version \u003ccode\u003e1.58.0\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpgraded \u003ccode\u003eazure-core-http-netty\u003c/code\u003e from \u003ccode\u003e1.16.3\u003c/code\u003e to version \u003ccode\u003e1.16.4\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ecom.azure+azure-core-http-okhttp_1.13.4\u003c/h2\u003e\n\u003ch2\u003e1.13.4 (2026-04-28)\u003c/h2\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003ch4\u003eDependency Updates\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eUpgraded \u003ccode\u003eazure-core\u003c/code\u003e from \u003ccode\u003e1.57.1\u003c/code\u003e to \u003ccode\u003e1.58.0\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpgraded Reactor from \u003ccode\u003e3.7.14\u003c/code\u003e to \u003ccode\u003e3.7.17\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ecom.azure+azure-core-http-netty_1.16.4\u003c/h2\u003e\n\u003ch2\u003e1.16.4 (2026-04-28)\u003c/h2\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003ch4\u003eDependency Updates\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eUpgraded \u003ccode\u003eazure-core\u003c/code\u003e from \u003ccode\u003e1.57.1\u003c/code\u003e to \u003ccode\u003e1.58.0\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpgraded Reactor from \u003ccode\u003e3.7.14\u003c/code\u003e to \u003ccode\u003e3.7.17\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpgraded Reactor Netty from \u003ccode\u003e1.2.13\u003c/code\u003e to \u003ccode\u003e1.2.16\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpgraded Netty dependencies from \u003ccode\u003e4.1.130.Final\u003c/code\u003e to \u003ccode\u003e4.1.132.Final\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/Azure/azure-sdk-for-java/commit/94bdae4562612bf3fa4b89214b665e85a3543eed\"\u003e\u003ccode\u003e94bdae4\u003c/code\u003e\u003c/a\u003e Fixing broken links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/bdb5558a91faeac9725009597757ee5749142bcd\"\u003e\u003ccode\u003ebdb5558\u003c/code\u003e\u003c/a\u003e Updating the SDK dependencies for azure-identity-broker\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/2417a333a08587673071b5c5f98c591f6386a869\"\u003e\u003ccode\u003e2417a33\u003c/code\u003e\u003c/a\u003e Reset changes to the patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/c094303efdd089528673e2dbce200e761d194864\"\u003e\u003ccode\u003ec094303\u003c/code\u003e\u003c/a\u003e Updating the SDK dependencies for azure-identity\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/36c6eba92c3358f2297ac5bab54a6696db8a9307\"\u003e\u003ccode\u003e36c6eba\u003c/code\u003e\u003c/a\u003e Reset changes to the patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/dbb57c4913ff55734c6f22af5caf6f9ca92ddbfb\"\u003e\u003ccode\u003edbb57c4\u003c/code\u003e\u003c/a\u003e Add missing \u003ccode\u003e@​Azure/azure-java-sdk\u003c/code\u003e owners (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-java/issues/48993\"\u003e#48993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/555b864c7dce8125025b2bcf9e942dd13be6f18f\"\u003e\u003ccode\u003e555b864\u003c/code\u003e\u003c/a\u003e Increment package versions for core releases (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-java/issues/48983\"\u003e#48983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/da7b1072d0c72f2719a4c050971916e3e5c46a70\"\u003e\u003ccode\u003eda7b107\u003c/code\u003e\u003c/a\u003e Increment package versions for storagecache releases (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-java/issues/48992\"\u003e#48992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/5ed8574821d1f2ea522d8e12e2ed9a9f1f01ec08\"\u003e\u003ccode\u003e5ed8574\u003c/code\u003e\u003c/a\u003e [AutoPR azure-resourcemanager-storagecache]-generated-from-SDK Generation - J...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/7c9c1fb4b625f0a25b7894e5250fd02bbfbe1700\"\u003e\u003ccode\u003e7c9c1fb\u003c/code\u003e\u003c/a\u003e Configurations:  'specification/appconfiguration/resource-manager/Microsoft.A...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Azure/azure-sdk-for-java/compare/azure-identity_1.12.2...com.azure+azure-identity_1.18.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.azure:azure-security-keyvault-secrets` from 4.8.2 to 4.10.6\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/1b5c5c79d85a5c9a9cfd07f6cdff6fd0f50eccf9\"\u003e\u003ccode\u003e1b5c5c7\u003c/code\u003e\u003c/a\u003e [Key Vault] Prepare new stable release for all 4 libraries (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-java/issues/48476\"\u003e#48476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/920a6368dfce94d69c08b5551b342149fc2e97b5\"\u003e\u003ccode\u003e920a636\u003c/code\u003e\u003c/a\u003e Promote Full Text Search BETA APIs to GA in azure-cosmos (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-java/issues/48538\"\u003e#48538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/4e4285eb54c97b8c9babddf81f201a74e19fa8c7\"\u003e\u003ccode\u003e4e4285e\u003c/code\u003e\u003c/a\u003e [Query] Fix: \u003ccode\u003eSELECT VALUE ... GROUP BY\u003c/code\u003e throws ClassCastException (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-java/issues/48507\"\u003e#48507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/d61c05ec019d941bb64f76128ab127a1685d1474\"\u003e\u003ccode\u003ed61c05e\u003c/code\u003e\u003c/a\u003e Increment package versions for datafactory releases (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-java/issues/48556\"\u003e#48556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/7b8eedeaf641776660dc67aba7aaddf67481df0f\"\u003e\u003ccode\u003e7b8eede\u003c/code\u003e\u003c/a\u003e External dependencies upgrade - Spring Boot 4.0.4 and Spring Cloud 2025.1.0 (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/85bf709e04e3823c91257ea88221fc4471946f40\"\u003e\u003ccode\u003e85bf709\u003c/code\u003e\u003c/a\u003e [AutoPR azure-resourcemanager-datafactory]-generated-from-SDK Generation - Ja...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/8912ce571f8d76494a14ca97e0a558fb6c3d6a2d\"\u003e\u003ccode\u003e8912ce5\u003c/code\u003e\u003c/a\u003e Increment package versions for containerregistry releases (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-java/issues/48533\"\u003e#48533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/3311abfc6b094680f09c19d2d3726499429429d8\"\u003e\u003ccode\u003e3311abf\u003c/code\u003e\u003c/a\u003e Increment package versions for nginx releases (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-java/issues/48528\"\u003e#48528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/e073934222ac304c24d70ef6eced6dbf004742e3\"\u003e\u003ccode\u003ee073934\u003c/code\u003e\u003c/a\u003e Increment package versions for netapp releases (\u003ca href=\"https://redirect.github.com/Azure/azure-sdk-for-java/issues/48509\"\u003e#48509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Azure/azure-sdk-for-java/commit/48880837ed3a2c1887b1d4a859f47ae6a5c9b1a3\"\u003e\u003ccode\u003e4888083\u003c/code\u003e\u003c/a\u003e [VoiceLive] Fix issues: remove unnecessary subscribeOn, fix Disposable leaks,...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Azure/azure-sdk-for-java/compare/azure-security-keyvault-keys_4.8.2...com.azure+azure-security-keyvault-keys_4.10.6\"\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` from 4.12.0 to 5.3.2\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's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 5.3.2\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-11-18\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: Don't delay triggering timeouts. In Okio 3.16.0 we introduced a regression that caused\ntimeouts to fire later than they were supposed to.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade: [Okio 3.16.4][okio_3_16_4].\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 5.3.1\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-11-16\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003eThis release is the same as 5.3.0. Okio 3.16.3 didn't have a necessary fix!\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade: [Okio 3.16.3][okio_3_16_3].\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 5.3.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-10-30\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNew: Add tags to \u003ccode\u003eCall\u003c/code\u003e, including computable tags. Use this to attach application-specific\nmetadata to a \u003ccode\u003eCall\u003c/code\u003e in an \u003ccode\u003eEventListener\u003c/code\u003e or \u003ccode\u003eInterceptor\u003c/code\u003e. The tag can be read in any other\n\u003ccode\u003eEventListener\u003c/code\u003e or \u003ccode\u003eInterceptor\u003c/code\u003e.\u003c/p\u003e\n\u003cpre lang=\"kotlin\"\u003e\u003ccode\u003e  override fun intercept(chain: Interceptor.Chain): Response {\n    chain.call().tag(MyAnalyticsTag::class) {\n      MyAnalyticsTag(...)\n    }\n\u003cpre\u003e\u003ccode\u003ereturn chain.proceed(chain.request())\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e}\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew: Support request bodies on HTTP/1.1 connection upgrades.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew: \u003ccode\u003eEventListener.plus()\u003c/code\u003e makes it easier to observe events in multiple listeners.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: Don't spam logs with \u003cem\u003e‘Method isLoggable in android.util.Log not mocked.’\u003c/em\u003e when using\nOkHttp in Robolectric and Paparazzi tests.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade: [Kotlin 2.2.21][kotlin_2_2_21].\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade: [Okio 3.16.2][okio_3_16_2].\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade: [ZSTD-KMP 0.4.0][zstd_kmp_0_4_0]. This update fixes a bug that caused APKs to fail\n[16 KB ELF alignment checks][elf_alignment].\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 5.2.3\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-11-18\u003c/em\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/square/okhttp/commit/75b9c267744cdd2e8b222d247052748ff0954304\"\u003e\u003ccode\u003e75b9c26\u003c/code\u003e\u003c/a\u003e Prepare for release 5.3.2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/ab48e5d86d0c0b16b3679b9b9522acf65db73da4\"\u003e\u003ccode\u003eab48e5d\u003c/code\u003e\u003c/a\u003e Okio 3.16.4 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9200\"\u003e#9200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/a9a4638b3d38b83782a959514b4183ddea0f071f\"\u003e\u003ccode\u003ea9a4638\u003c/code\u003e\u003c/a\u003e Prepare next development version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/ef72228d270c21962ab632b4c5a0dfd7ab4fd661\"\u003e\u003ccode\u003eef72228\u003c/code\u003e\u003c/a\u003e Prepare for release 5.3.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/674716746bb4efce30501b711ea3ec188c0d670d\"\u003e\u003ccode\u003e6747167\u003c/code\u003e\u003c/a\u003e Update com.squareup.okio to v3.16.3 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9197\"\u003e#9197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/0960b47ec28a02e893499d2a7e53bf462a62875e\"\u003e\u003ccode\u003e0960b47\u003c/code\u003e\u003c/a\u003e Prepare for release 5.3.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/bfb24eb90b3be7fb73541ea02ce8d5dfc4021709\"\u003e\u003ccode\u003ebfb24eb\u003c/code\u003e\u003c/a\u003e Support Request Bodies on HTTP1.1 Connection Upgrades (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9159\"\u003e#9159\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/cf4a86439568e640c39da5e4e73af6565a5510b1\"\u003e\u003ccode\u003ecf4a864\u003c/code\u003e\u003c/a\u003e Update Gradle to v9.2.0 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9171\"\u003e#9171\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/4e7dbec1ea6c9cf8d80422ac9d44b9b185c749a3\"\u003e\u003ccode\u003e4e7dbec\u003c/code\u003e\u003c/a\u003e Update dependency com.puppycrawl.tools:checkstyle to v12.1.1 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9169\"\u003e#9169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/0470853d724ec9e3c68a6ef83a4d1a60a73ef289\"\u003e\u003ccode\u003e0470853\u003c/code\u003e\u003c/a\u003e Add tags to calls, including computable tags (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9168\"\u003e#9168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/square/okhttp/compare/parent-4.12.0...parent-5.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.squareup.okhttp3:logging-interceptor` from 4.12.0 to 5.3.2\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:logging-interceptor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 5.3.2\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-11-18\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: Don't delay triggering timeouts. In Okio 3.16.0 we introduced a regression that caused\ntimeouts to fire later than they were supposed to.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade: [Okio 3.16.4][okio_3_16_4].\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 5.3.1\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-11-16\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003eThis release is the same as 5.3.0. Okio 3.16.3 didn't have a necessary fix!\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade: [Okio 3.16.3][okio_3_16_3].\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 5.3.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-10-30\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNew: Add tags to \u003ccode\u003eCall\u003c/code\u003e, including computable tags. Use this to attach application-specific\nmetadata to a \u003ccode\u003eCall\u003c/code\u003e in an \u003ccode\u003eEventListener\u003c/code\u003e or \u003ccode\u003eInterceptor\u003c/code\u003e. The tag can be read in any other\n\u003ccode\u003eEventListener\u003c/code\u003e or \u003ccode\u003eInterceptor\u003c/code\u003e.\u003c/p\u003e\n\u003cpre lang=\"kotlin\"\u003e\u003ccode\u003e  override fun intercept(chain: Interceptor.Chain): Response {\n    chain.call().tag(MyAnalyticsTag::class) {\n      MyAnalyticsTag(...)\n    }\n\u003cpre\u003e\u003ccode\u003ereturn chain.proceed(chain.request())\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e}\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew: Support request bodies on HTTP/1.1 connection upgrades.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew: \u003ccode\u003eEventListener.plus()\u003c/code\u003e makes it easier to observe events in multiple listeners.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: Don't spam logs with \u003cem\u003e‘Method isLoggable in android.util.Log not mocked.’\u003c/em\u003e when using\nOkHttp in Robolectric and Paparazzi tests.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade: [Kotlin 2.2.21][kotlin_2_2_21].\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade: [Okio 3.16.2][okio_3_16_2].\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade: [ZSTD-KMP 0.4.0][zstd_kmp_0_4_0]. This update fixes a bug that caused APKs to fail\n[16 KB ELF alignment checks][elf_alignment].\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 5.2.3\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-11-18\u003c/em\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/square/okhttp/commit/75b9c267744cdd2e8b222d247052748ff0954304\"\u003e\u003ccode\u003e75b9c26\u003c/code\u003e\u003c/a\u003e Prepare for release 5.3.2.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/ab48e5d86d0c0b16b3679b9b9522acf65db73da4\"\u003e\u003ccode\u003eab48e5d\u003c/code\u003e\u003c/a\u003e Okio 3.16.4 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9200\"\u003e#9200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/a9a4638b3d38b83782a959514b4183ddea0f071f\"\u003e\u003ccode\u003ea9a4638\u003c/code\u003e\u003c/a\u003e Prepare next development version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/ef72228d270c21962ab632b4c5a0dfd7ab4fd661\"\u003e\u003ccode\u003eef72228\u003c/code\u003e\u003c/a\u003e Prepare for release 5.3.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/674716746bb4efce30501b711ea3ec188c0d670d\"\u003e\u003ccode\u003e6747167\u003c/code\u003e\u003c/a\u003e Update com.squareup.okio to v3.16.3 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9197\"\u003e#9197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/0960b47ec28a02e893499d2a7e53bf462a62875e\"\u003e\u003ccode\u003e0960b47\u003c/code\u003e\u003c/a\u003e Prepare for release 5.3.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/bfb24eb90b3be7fb73541ea02ce8d5dfc4021709\"\u003e\u003ccode\u003ebfb24eb\u003c/code\u003e\u003c/a\u003e Support Request Bodies on HTTP1.1 Connection Upgrades (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9159\"\u003e#9159\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/cf4a86439568e640c39da5e4e73af6565a5510b1\"\u003e\u003ccode\u003ecf4a864\u003c/code\u003e\u003c/a\u003e Update Gradle to v9.2.0 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9171\"\u003e#9171\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/4e7dbec1ea6c9cf8d80422ac9d44b9b185c749a3\"\u003e\u003ccode\u003e4e7dbec\u003c/code\u003e\u003c/a\u003e Update dependency com.puppycrawl.tools:checkstyle to v12.1.1 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9169\"\u003e#9169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/0470853d724ec9e3c68a6ef83a4d1a60a73ef289\"\u003e\u003ccode\u003e0470853\u003c/code\u003e\u003c/a\u003e Add tags to calls, including computable tags (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9168\"\u003e#9168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/square/okhttp/compare/parent-4.12.0...parent-5.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.core:jackson-core` from 2.17.0 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/5815636064ca5f5f2f5af0a91c7ad96368c239e7\"\u003e\u003ccode\u003e5815636\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/6e728f9bde605f98e34d67d5db0a1b530b0a9bfd\"\u003e\u003ccode\u003e6e728f9\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/4e30cf21ca4faeffa062ae13730fade890ce2540\"\u003e\u003ccode\u003e4e30cf2\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/1429fffeca1eee24d7c3d7a0887c5ac10cac7a58\"\u003e\u003ccode\u003e1429fff\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/8f622c5cf177509989eaa154e4cb86d64b28f5a6\"\u003e\u003ccode\u003e8f622c5\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/cd4d6b2baf575fd84419368717ddf12eb21fc8d7\"\u003e\u003ccode\u003ecd4d6b2\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/03458823cc3cf78f1ea19cfe5f045475628ee834\"\u003e\u003ccode\u003e0345882\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/a7a5562c0215da3e1297e4825fc5fc4d4f237c68\"\u003e\u003ccode\u003ea7a5562\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.18.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/cd647ea2cf15ee7740f1e3eb447335f667dd3a7a\"\u003e\u003ccode\u003ecd647ea\u003c/code\u003e\u003c/a\u003e Prep for 2.18.7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/0ac2f771ad5fdceb60f908352c4dee2ffa498146\"\u003e\u003ccode\u003e0ac2f77\u003c/code\u003e\u003c/a\u003e Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-core/compare/jackson-core-2.17.0...jackson-core-2.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.core:jackson-annotations` from 2.17.0 to 2.21.3\n\nUpdates `com.fasterxml.jackson.core:jackson-databind` from 2.17.0 to 2.21.3\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 `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.17.0 to 2.21.3\n\nUpdates `com.fasterxml.jackson.module:jackson-module-afterburner` from 2.17.0 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/3290598ecbbd8bbb0b34a35a7361ff54e1050463\"\u003e\u003ccode\u003e3290598\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-modules-base-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/ff548e5773b62aef719c2104ecfccbe70dadcedc\"\u003e\u003ccode\u003eff548e5\u003c/code\u003e\u003c/a\u003e undo version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/1c5c59c5a3fc09a17d1027879ebca459842cda8e\"\u003e\u003ccode\u003e1c5c59c\u003c/code\u003e\u003c/a\u003e re-do release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/64b246c236e6d424eb4469131bbd76c3056dc2a3\"\u003e\u003ccode\u003e64b246c\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/38be1635960bed69c4f52bfbbdd3297447bd7506\"\u003e\u003ccode\u003e38be163\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/b3506d8b74b64a5f7e3f5884df8e5246f1c03bf0\"\u003e\u003ccode\u003eb3506d8\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/2f51aa35660e9af07415c54b6bc8185622d91288\"\u003e\u003ccode\u003e2f51aa3\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/88adb497be38f7b4de3cbcd49ec8d641933214ce\"\u003e\u003ccode\u003e88adb49\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/5a89cc181bf92f40730a6d297dbb32e2cfd29300\"\u003e\u003ccode\u003e5a89cc1\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-modules-base/commit/6cad130d2e9f61aff310212ab6fb5b03a09f720a\"\u003e\u003ccode\u003e6cad130\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-modules-base-2.18.7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-modules-base/compare/jackson-modules-base-2.17.0...jackson-modules-base-2.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.17.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.1\u003c/strong\u003e is out now, adding support for the \u003ccode\u003ere2j\u003c/code\u003e regular expression engine for regex-based CSS selectors, a configurable maximum parser depth, and numerous bug fixes and improvements.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jsoup.org/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for using the \u003ccode\u003ere2j\u003c/code\u003e regular expression engine for regex-based CSS selectors (e.g. \u003ccode\u003e[attr~=regex]\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e), which ensures linear-time performance for regex evaluation. This allows safer handling of arbitrary user-supplied query regexes. To enable, add the \u003ccode\u003ecom.google.re2j\u003c/code\u003e dependency to your classpath, e.g.:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"xml\"\u003e\u003ccode\u003e  \u0026lt;dependency\u0026gt;\r\n    \u0026lt;groupId\u0026gt;com.google.re2j\u0026lt;/groupId\u0026gt;\r\n    \u0026lt;artifactId\u0026gt;re2j\u0026lt;/artifactId\u0026gt;\r\n    \u0026lt;version\u0026gt;1.8\u0026lt;/version\u0026gt;\r\n  \u0026lt;/dependency\u0026gt;\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e(If you already have that dependency in your classpath, but you want to keep using the Java regex engine, you can disable re2j via \u003ccode\u003eSystem.setProperty(\u0026quot;jsoup.useRe2j\u0026quot;, \u0026quot;false\u0026quot;)\u003c/code\u003e.) You can confirm that the re2j engine has been enabled correctly by calling \u003ccode\u003eRegex.usingRe2j()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2407\"\u003e#2407\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.22.1 (2026-Jan-01)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for using the \u003ccode\u003ere2j\u003c/code\u003e regular expression engine for regex-based CSS selectors (e.g. \u003ccode\u003e[attr~=regex]\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e), which ensures linear-time performance for regex evaluation. This allows safer handling of arbitrary user-supplied query regexes. To enable, add the \u003ccode\u003ecom.google.re2j\u003c/code\u003e dependency to your classpath, e.g.:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"xml\"\u003e\u003ccode\u003e  \u0026lt;dependency\u0026gt;\n    \u0026lt;groupId\u0026gt;com.google.re2j\u0026lt;/groupId\u0026gt;\n    \u0026lt;artifactId\u0026gt;re2j\u0026lt;/artifactId\u0026gt;\n    \u0026lt;version\u0026gt;1.8\u0026lt;/version\u0026gt;\n  \u0026lt;/dependency\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e(If you already have that dependency in your classpath, but you want to keep using the Java regex engine, you can disable re2j via \u003ccode\u003eSystem.setProperty(\u0026quot;jsoup.useRe2j\u0026quot;, \u0026quot;false\u0026quot;)\u003c/code\u003e.) You can confirm that the re2j engine has been enabled correctly by calling \u003ccode\u003eorg.jsoup.helper.Regex.usingRe2j()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2407\"\u003e#2407\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an instance method \u003ccode\u003eParser#unescape(String, boolean)\u003c/code\u003e that unescapes HTML entities using the parser's configuration (e.g. to support error tracking), complementing the existing static utility \u003ccode\u003eParser.unescapeEntities(String, boolean)\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2396\"\u003e#2396\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded a configurable maximum parser depth (to limit the number of open elements on stack) to both HTML and XML parsers. The HTML parser now defaults to a depth of 512 to match browser behavior, and protect against unbounded stack growth, while the XML parser keeps unlimited depth by default, but can opt into a limit via \u003ccode\u003eorg.jsoup.parser.Parser#setMaxDepth\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2421\"\u003e#2421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild: added CI coverage for JDK 25 \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2403\"\u003e#2403\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild: added a CI fuzzer for contextual fragment parsing (in addition to existing full body HTML and XML fuzzers). [oss-fuzz \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/14041\"\u003e#14041\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/google/oss-fuzz/pull/14041\"\u003egoogle/oss-fuzz#14041\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSet a removal schedule of jsoup 1.24.1 for previously deprecated APIs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreviously cached child \u003ccode\u003eElements\u003c/code\u003e of an \u003ccode\u003eElement\u003c/code\u003e were not correctly invalidated in \u003ccode\u003eNode#replaceWith(Node)\u003c/code\u003e, which could lead to incorrect results when subsequently calling \u003ccode\u003eElement#children()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2391\"\u003e#2391\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAttribute selector values are now compared literally without trimming. Previously, jsoup trimmed whitespace from selector values and from element attribute values, which could cause mismatches with browser behavior (e.g. \u003ccode\u003e[attr=\u0026quot; foo \u0026quot;]\u003c/code\u003e). Now matches align with the CSS specification and browser engines. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2380\"\u003e#2380\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using the JDK HttpClient, any system default proxy (\u003ccode\u003eProxySelector.getDefault()\u003c/code\u003e) was ignored. Now, the system proxy is used if a per-request proxy is not set. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2388\"\u003e#2388\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2390\"\u003e#2390\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003eValidationException\u003c/code\u003e could be thrown in the adoption agency algorith...\n\n_Description has been truncated_","html_url":"https://github.com/paykaribazaronline/supremeai/pull/53","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/paykaribazaronline%2Fsupremeai/issues/53","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/53/packages"}}]}